监督任务的自动机器学习

mljar-supervised的Python项目详细描述


MLJAR监督

构建状态pypi versioncoverage statuspypi pyversions

人类机器学习

机器学习的新标准!

感谢自动化机器学习,您不必担心不同的机器学习界面。你不需要知道所有的算法和它们的超参数。使用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)
  • 添加模型/预测说明
  • 添加对多类分类的支持
  • 添加对回归的支持

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android中Axis2 web服务的java解析响应   java读取Dockerfile命令时遇到问题:是否可以将cd刻录到jar文件中?那么tarcf是做什么的呢?   java如何防止gcmTaskService periodicTask在上一个任务尚未完成时再次运行?   jquery希望使用Java生成自动登录程序   在Hibernate中检索用BigInteger映射的属性时出现java问题   与错误用户连接时发生java错误   java Hibernate+c3p0池+ehcache失败启动   JAVAlang.ClassNotFoundException:org。mysql。JDBC无法解决,添加了mysql连接器   java如何在其键包含JSTL中的点时访问映射值?   packageprivate类中的Java方法可访问性?   java如何将文件转换为StorageObject(谷歌API)   java apache commons httpclient 4.23表单登录问题不同请求中使用的不同会话cookie   所有组件的java一个侦听器instance或每个组件的一个实例   重新启动应用程序后,不会保存ListView中的java更新   java如何修复libgdx中的屏幕无渲染   java在使用mongotemplate时遇到ClassNotFound异常