Educational Machine Learning library focusing on understanding models step-by-step
Project description
pysimpml
pysimpml là thư viện Machine Learning hướng tới người mới bắt đầu. Thay vì đóng gói mọi thứ thành các hàm "hộp đen" chỉ gọi là chạy, thư viện này cho phép bạn quan sát chi tiết luồng dữ liệu và sự thay đổi của các tham số trong quá trình học. Mục tiêu là giúp người học hiểu bản chất của từng thuật toán.
Tài liệu & Demo: https://thanhtaysimplo.github.io/pysimpml/
Công nghệ sử dụng
Numpy: Tính toán ma trận và vector (core).
Pickle: Lưu và tải mô hình.
Torch / Torchvision: Hỗ trợ mở rộng mảng deep learning.
Pillow: Xử lý ảnh.
CSV: Ghi log quá trình huấn luyện (tính năng cốt lõi).
Cơ chế hoạt động & Tính năng cốt lõi pysimpml không cố gắng tự động hóa mọi thứ. Logic được giữ ở mức đơn giản và dễ đọc code nhất có thể. Thay vì in kết quả tràn lan trên màn hình console, thư viện quản lý qua hệ thống log CSV và chế độ giải thích (explain mode):
Training Log (log_train_csv=True): Lưu lại chi tiết loss, weight, bias và gradient (dw, db) qua từng epoch. Dữ liệu này rất tiện để debug hoặc vẽ biểu đồ.
Prediction Log (log_csv=True): Lưu lại dữ liệu đầu vào X, kết quả dự đoán y, nhãn thật y (nếu có) và tổng loss.
Explain Mode: Khi gọi predict(X, y, explain=True) hoặc score(X, y, explain=True), thư viện sẽ in ra dữ liệu sau xử lý, công thức tính toán và kết quả của từng bước.
Các thuật toán hỗ trợ
Linear Regression & Logistic Regression
Neural Network (MLP)
KNN (Classification & Regression)
Decision Tree (Classification & Regression)
Random Forest (Classification & Regression)
Công cụ phụ trợ: Train/test split, chuẩn hóa dữ liệu (normalize), tính metrics cơ bản, save/load model và export logs ra file CSV.
Lưu ý Đây là một dự án cá nhân do mình phát triển trong lúc học năm 2. Thư viện này không dành cho môi trường production và chắc chắn vẫn có thể xảy ra bug hoặc sai số. Nó phù hợp nhất để vọc vạch, học tập và làm các project nhỏ.
pysimpml
pysimpml is a beginner-focused Machine Learning library. Instead of relying on black-box APIs, it emphasizes transparency by letting you inspect how models work internally and how data flows through them.
Docs & Demo: https://thanhtaysimplo.github.io/pysimpml/
Key Features & Approach The library avoids console spam and instead relies on CSV-based logging and manual inspection.
Clear Tracking: It tracks the training process clearly by outputting loss, weights, biases, and gradients to CSV files, making it easy to plot and debug.
Explainable Predictions: Features an explain mode that provides step-by-step breakdowns of how a prediction was made, including the formulas used.
Supported Models: Includes fundamental algorithms like Linear/Logistic Regression, Neural Networks (MLP), KNN, Decision Trees, and Random Forests, along with basic utilities for data splitting, normalization, and metrics.
Disclaimer I built this library as a second-year student for learning purposes. It is not production-ready, likely contains bugs, and is best used for educational purposes and small side projects.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pysimpml-0.0.5.tar.gz.
File metadata
- Download URL: pysimpml-0.0.5.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4aeb40a504597620d8abd7ef064e26df410f25091a26c1514a4b6bad233d7ca
|
|
| MD5 |
09acb5f5c3b4dc79aad4ae7b72b2d04d
|
|
| BLAKE2b-256 |
3a30557d9971ea869a7d768b09fe2ed0c0b2fd6122d2fb7aab5baf052d246856
|
File details
Details for the file pysimpml-0.0.5-py3-none-any.whl.
File metadata
- Download URL: pysimpml-0.0.5-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c494bdc51d1b8857f29c337f864ef8d4a6c0896934fec1fec018f2ee1997b36
|
|
| MD5 |
162181393f4414b9baf166eaab947d37
|
|
| BLAKE2b-256 |
31180021cf85ec3e9dffa3e7a53aa937fc4d1f60df19c897ce87de1d91069556
|