utelearn
utelearn is a custom machine learning library built from scratch for educational purposes at UTE.
Installation
You can install the package directly from PyPI:
pip install utelearn
Features
- KMeans Clustering: Custom implementation of the KMeans clustering algorithm using NumPy.
- Built-in support for data visualization with Matplotlib.
Quick Start
Here is a quick example of how to use the KMeans model from utelearn:
import numpy as np
import matplotlib.pyplot as plt
from utelearn.kmeans import KMeans
# 1. Tạo dữ liệu mẫu ngẫu nhiên (2 cụm rõ rệt)
np.random.seed(42)
X = np.vstack([
np.random.randn(50, 2) + np.array([2, 2]),
np.random.randn(50, 2) + np.array([-2, -2])
])
# 2. Khởi tạo và huấn luyện mô hình K-Means với k=2
kmeans = KMeans(k=2, max_iters=100)
kmeans.fit(X)
# 3. In kết quả trung tâm cụm (centroids)
print("Tọa độ các tâm cụm (Centroids):")
print(kmeans.centroids)
# 4. Dự đoán nhãn cho các điểm dữ liệu (nếu lớp KMeans có hàm predict)
# Hoặc gán nhãn dựa vào khoảng cách gần nhất tới các centroids
labels = np.argmin([np.linalg.norm(X - c, axis=1) for c in kmeans.centroids], axis=0)
# 5. Vẽ biểu đồ trực quan
plt.figure(figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', marker='o', alpha=0.7, edgecolors='k', label='Dữ liệu mẫu')
plt.scatter(kmeans.centroids[:, 0], kmeans.centroids[:, 1], c='red', marker='X', s=250, edgecolors='k', label='Tâm cụm (Centroids)')
plt.title("Trực quan hóa thuật toán K-Means - Utelearn", fontsize=14)
plt.xlabel("Trục X", fontsize=12)
plt.ylabel("Trục Y", fontsize=12)
plt.legend()
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()
Author
- Dung Cai (dung.cai@hcmute.edu.vn)
Metadata
Release files for utelearn 0.3.2026
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| utelearn-0.3.2026.tar.gz | 2.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| utelearn-0.3.2026-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.0 kB
Release files / utelearn-0.3.2026.tar.gz
| Download URL | utelearn-0.3.2026.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54e398ee39920d248556489f8ef909a497808e304d315694e9d651a2bf982644
|
|
BLAKE2b-256 checksum How to use checksums |
5ed3c446f7784badc8191aa867e0858f364329e1f8cd9abbbfe98e47718b172e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.4
|
Release files / utelearn-0.3.2026-py3-none-any.whl
| Download URL | utelearn-0.3.2026-py3-none-any.whl |
|---|---|
| Size | 3.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f86dd3c2b35f53dff3ce3b7a865f688b896b296880fe5e69739d9259d0b3e7f
|
|
BLAKE2b-256 checksum How to use checksums |
c11010608138c35c1706a948f4fd2d0bb24333fab8024ca6a0cecb541f104bc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.4
|