RepositoryC++CNChina
AK

aksnzhy/xlearn

High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

3.1kstars
515forks
184issues
3views

⚡ xLearn — Thư viện ML nhanh hơn 5-13x cho dữ liệu thưa quy mô lớn

xLearn xử lý LR, FM, FFM trên dữ liệu thưa hàng triệu chiều nhanh hơn liblinear, libfm, libffm.

xLearn là thư viện machine learning viết bằng C++ hiệu năng cao, bao gồm ba mô hình: Linear Regression (LR), Factorization Machines (FM), và Field-aware Factorization Machines (FFM). Dự án nhắm vào bài toán lớn với dữ liệu thưa chiều cao — điển hình như hệ thống recommendation nơi số lượng user và item lên tới hàng triệu. Nếu bạn đang dùng liblinear, libfm, hay libffm, xLearn là lựa chọn thay thế nhanh hơn đáng kể.

✨ Điểm nổi bật

  • Hiệu năng cao: Coded bằng C++ tối ưu cache-aware computation và lock-free learning, nhanh 5-13x so với các thư viện tương đương
  • Hỗ trợ 3 mô hình: LR, FM, FFM — bao quát từ linear cơ bản đến field-aware factorization
  • Out-of-core training: Xử lý dữ liệu TB chỉ cần ổ đĩa PC thông thường
  • Không phụ thuộc thư viện bên ngoài: Clone, compile bằng cmake là chạy được
  • Giao diện Python & CLI: Dễ dùng cho data scientist, hỗ trợ pip install
  • Scikit-learn API: Tích hợp sẵn, dễ dàng đưa vào pipeline hiện có
  • Cross-validation & early-stop: Tính năng thường dùng trong competition và production
  • Ruby bindings: Cộng đồng đóng góp wrapper cho Ruby (thêm 2019)

💡 Vì sao đáng chú ý

xLearn giải quyết đúng nỗi đau của ML trên dữ liệu thưa quy mô lớn: tốc độ và bộ nhớ. Thiết kế C++ với cache-aware computation và lock-free learning cho phép tận dụng tối đa CPU và RAM — kết quả là nhanh gấp 5 đến 13 lần so với liblinear/libfm/libffm. Tính năng out-of-core training có nghĩa là ngay cả khi dữ liệu không vừa RAM, xLearn vẫn huấn luyện được bằng cách đọc từ đĩa.

Dự án phù hợp cho ai cần train model trên dataset sparse hàng triệu chiều mà không muốn chịu đựng bottleneck hiệu năng. Giao diện Python đơn giản cộng Scikit-learn API giúp tích hợp nhanh vào workflow tồn tại mà không cần viết lại nhiều code.


#MachineLearning #FactorizationMachines #C++ #RecommendationSystem #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryPython
scikit-learn/scikit-learn

scikit-learn: machine learning in Python

67.9k
Oct 23, 2026
RepositoryPython
streamlit/streamlit

Streamlit — A faster way to build and share data apps.

46.1k
Oct 23, 2026
RepositoryPython
gradio-app/gradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!

43.9k
Oct 23, 2026
RepositoryJupyter Notebook
microsoft/ML-For-Beginners

12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all

91.7k
Oct 21, 2026
RepositoryPython
keras-team/keras

Deep Learning for humans

64.4k
Oct 20, 2026
RepositoryC++
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

201.2k
Oct 24, 2026
RepositoryPython
pandas-dev/pandas

Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more

50.3k
Oct 24, 2026
RepositoryJupyter Notebook
GokuMohandas/Made-With-ML

Learn how to develop, deploy and iterate on production-grade ML applications.

49.8k
Mar 4, 2026
RepositoryJupyter Notebook
microsoft/Data-Science-For-Beginners

10 Weeks, 20 Lessons, Data Science for All!

37.7k
Oct 21, 2026