监督任务的自动机器学习
mljar-supervised的Python项目详细描述
MLJAR监督
机器学习的新标准!
感谢自动化机器学习,您不必担心不同的机器学习界面。你不需要知道所有的算法和它们的超参数。使用AutoML模型调整和培训是无痛的。
在当前版本中,只有二进制分类支持优化日志丢失度量。
快速示例
importpandasaspdfromsupervised.automlimportAutoMLdf=pd.read_csv("https://raw.githubusercontent.com/pplonski/datasets-for-start/master/adult/data.csv",skipinitialspace=True)X=df[df.columns[:-1]]y=df["income"]automl=AutoML()automl.fit(X,y)predictions=automl.predict(X)
调谐算法
调谐算法由Piotr P_oski创建和开发。它是根据以下组合创建的启发式算法:
- 不那么随机接近
- 爬山
这种方法不是随机的,因为每个算法都有一组定义好的超参数,这些参数通常是有效的。在非随机参数的第一步,我们得到一组初始模型。然后使用爬山方法选择性能最佳的算法并对其进行优化。
对于automl中使用的每个算法,都会应用提前停止。
集成算法是基于caruana paper
安装
来自pypi存储库:
pip install mljar-supervised
源代码:
git clone https://github.com/mljar/mljar-supervised.git
cd mljar-supervised
python setup.py install
python 3.6是必需的。
用法
这是一个自动机器学习软件包,所以所有的硬任务都是为你完成的。界面很简单,但如果有必要,它可以让您控制培训过程。
训练和预测
automl=AutoML()automl.fit(X,y)predictions=automl.predict(X)
默认情况下,培训应在1小时内完成,因为将检查ML算法:
- 随机林
- xgboost
- CatBoost
- lightgbm
- 神经网络
- 合奏
可用于控制培训过程的参数为:
- 总时间限制-这是automl搜索最佳ml模型所需的总时间限制。几秒钟后。默认设置为3600秒。
- 学习者时间限制-训练单个模型的时间限制,在交叉验证次数为
k
倍的情况下,用于训练的时间为k*学习者时间限制
。仅当Total_Time_Limit
设置为None时才考虑此参数。默认设置为120秒 - 算法将要检查的算法列表。默认设置为["catboost"、"xgboost"、"rf"、"lightgbm"、"nn"]
- 启动随机模型-要用非随机算法检查的模型数。默认设置为10
- 爬山步骤-模型调整中使用的爬山步骤数。默认设置为3
- Top_Models_to_Improve每个爬山步骤中考虑改进的模型数。默认设置为5
- 训练集合决定集合模型是否在automl拟合过程结束时训练。默认设置为true
- 详细-控制打印输出,默认设置为true
开发
安装
git clone https://github.com/mljar/mljar-supervised.git
virtualenv venv --python=python3.6
source venv/bin/activate
pip install -r requirements.txt
测试
cd supervised
python -m tests.run_all
新闻稿
不要错过我们的最新消息。 订阅新闻稿!
路线图
该软件包正在积极开发中!请期待很多变化! 对于这个包,图形界面将很快提供(也是开源的!)。请调整。
待添加:
- 训练单个决策树
- 从经过训练的模型中创建文本报告(可能带有学习的图表)
- 计算模型预测和预测离散输出的阈值(label)
- 添加模型/预测说明
- 添加对多类分类的支持
- 添加对回归的支持