Skip to main content

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

pysimpml-0.0.5.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysimpml-0.0.5-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

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

Hashes for pysimpml-0.0.5.tar.gz
Algorithm Hash digest
SHA256 d4aeb40a504597620d8abd7ef064e26df410f25091a26c1514a4b6bad233d7ca
MD5 09acb5f5c3b4dc79aad4ae7b72b2d04d
BLAKE2b-256 3a30557d9971ea869a7d768b09fe2ed0c0b2fd6122d2fb7aab5baf052d246856

See more details on using hashes here.

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

Hashes for pysimpml-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8c494bdc51d1b8857f29c337f864ef8d4a6c0896934fec1fec018f2ee1997b36
MD5 162181393f4414b9baf166eaab947d37
BLAKE2b-256 31180021cf85ec3e9dffa3e7a53aa937fc4d1f60df19c897ce87de1d91069556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page