监督任务的自动机器学习

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 HttpClient:禁用分块编码   java在Junit 4中构建测试套件   安卓 studio活动之间的java进度条   java从云Firestore获取地图数据   AmazonWebServices为什么JavaWebSocket服务器这么慢?   java My代码违反了DRY原则,但不确定如何进行重构   java在Eclipse动态Web项目中包含HTML文件   java检查首次启动安卓时是否在活动上单击了按钮   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   线程“main”java中的eclipse异常。lang.ClassNotFoundException:oracle。jdbc。OracleDriver Jdbctype4test。类型4测试。main(Type4test.java:21)   java如何将表单数据从HTML提交到某人的Skype帐户   java如何使用图形“g”?   java构建文件不是gradle中设置文件定义的构建的一部分   java用迭代优化HashMap   java在jsp中使用jstl访问结果集   java实现OOP中的等式优先度   java ChromeDriver组织。openqa。硒。遥远的协议握手会话   用Java程序读取Java的属性文件   java TabHost和Fonthouse图标   在Java中将灰度转换为颜色渐变?