carefree-learn
is a minimal Automatic Machine Learning (AutoML) solution for tabular datasets based on PyTorch.
carefree-learn
aims to provide CAREFREE usages for both users and developers.
import cflearn
import numpy as np
x = np.random.random([1000, 10])
y = np.random.random([1000, 1])
m = cflearn.make().fit(x, y)
import cflearn
import numpy as np
cflearn.register_model("wnd_full", pipes=[cflearn.PipeInfo("fcnn"), cflearn.PipeInfo("linear")])
x = np.random.random([1000, 10])
y = np.random.random([1000, 1])
m = cflearn.make("wnd_full").fit(x, y)
Please refer to Quick Start and Build Your Own Models for detailed information.
carefree-learn
- Provides a scikit-learn-like interface with much more 'carefree' usages, including:
- Automatically deals with data pre-processing.
- Automatically handles datasets saved in files (.txt, .csv).
- Supports Distributed Training, which means hyper-parameter tuning can be very efficient in
carefree-learn
.
- Includes some brand new techniques which may boost vanilla Neural Network (NN) performances on tabular datasets, including:
TreeDNN
withDynamic Soft Pruning
, which makes NN less sensitive to hyper-parameters.Deep Distribution Regression (DDR)
, which is capable of modeling the entire conditional distribution with one single NN model.
- Supports many convenient functionality in deep learning, including:
- Early stopping.
- Model persistence.
- Learning rate schedulers.
- And more...
- Full utilization of the WIP ecosystem
cf*
, such as:carefree-toolkit
: provides a lot of utility classes & functions which are 'stand alone' and can be leveraged in your own projects.carefree-data
: a lightweight tool to read -> convert -> process ANY tabular datasets. It also utilizes cython to accelerate critical procedures.
From the above, it comes out that carefree-learn
could be treated as a minimal Automatic Machine Learning (AutoML) solution for tabular datasets when it is fully utilized. However, this is not built on the sacrifice of flexibility. In fact, the functionality we've mentioned are all wrapped into individual modules in carefree-learn
and allow users to customize them easily.
carefree-learn
requires Python 3.6 or higher.
carefree-learn
requires pytorch==1.6.0
. Please refer to PyTorch, and it is highly recommended to pre-install PyTorch with conda.
After installing PyTorch, installation of carefree-learn
would be rather easy:
If you pre-installed PyTorch with conda, remember to activate the corresponding environment!
pip install carefree-learn
- Iris – perhaps the best known database to be found in the pattern recognition literature.
- Titanic – the best, first challenge for you to dive into ML competitions and familiarize yourself with how the Kaggle platform works.
- Operations - toy datasets for us to illustrate how to build your own models in
carefree-learn
.
If you use carefree-learn
in your research, we would greatly appreciate if you cite this library using this Bibtex:
@misc{carefree-learn,
year={2020},
author={Yujian He},
title={carefree-learn, a minimal Automatic Machine Learning (AutoML) solution for tabular datasets based on PyTorch},
howpublished={\url{https://https://github.com/carefree0910/carefree-learn/}},
}
carefree-learn
is MIT licensed, as found in the LICENSE
file.