监督任务的自动机器学习

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第三方库


热门话题
java何时可以运行。toString()是否有可能返回重复的字符串?   使用REST进行Java应用程序登录验证?   java测试onErrorResume()Spring Webflux   java设置一个单元格样式,使数字显示为百分比ApachePOI   java仅替换regex az09   java将字符串附加到文件   java Hibernate:如何在集合中查找对象   当独立客户端为Web服务实例化代理时,java WebSphere会生成ClassNotFoundException   java简单算法。我做不好   java我的代码有什么问题?我想用Android制作一个“cardflip”动画   java如何模拟Springbean及其自动连接的参数?   java在Android中将arraylist对象的某些参数显示到列表视图中   java setOnclickListener(此)错误   java自动连接未按类型连接bean   java如何禁止在Viewpager上滑动?   java代码检查每个if语句吗?   java NIO选择器OP_READ和OP_WRITE,关于处理它们的一些问题   java如何在不锁定文件的情况下获取文件大小   Oculus Rift的Java API?   java是一种选择。仍然需要fork来设置bootClasspath