/xlearn

High Performance, Easy-to-use, and Scalable Machine Learning Package

Primary LanguageC++Apache License 2.0Apache-2.0

Hex.pm Project Status Travis

Installation | Tutorial | RoadMap | News

What is xLearn?

xLearn is a high performance, easy-to-use, and scalable machine learning package, which can be used to solve large-scale classification and regression problems. If you are the user of liblinear, libfm, or libffm, now the xLearn is your another better choice. This project comes from the PKU-Cloud lab: homepage

Performance

xLearn is developed by high-performance C++ code with careful design and optimizations. Our system is designed to maximize the CPU and memory utilizations, provide cache-aware computation, and support lock-free learning. By combining these insights, xLearn is 5x - 13x faster compared to the similar systems.

Ease-of-use

xLearn does not rely on any third-party library, and hence users can just clone the code and compile it by using cmake. Also, xLearn supports very simple python API for users. Apart from this, xLearn supports many useful features that has been widely used in the machine learning competitions like cross-validation, early-stop, etc.

Scalability

xLearn can be used for solving large-scale machine learning problems. First, xLearn supports out-of-core training, which can handle very large data (TB) by just leveraging the disk of a single machine. Also, xLearn can support distributed training, which scales beyond billions of example across many machines.