当前位置: 首页 > news >正文

盘点机器学习实战中最频繁使用的AutoML工具库

在日常的Kaggle比赛和工作中,经常会遇到AutoML工具。本文总结了常见的AutoML库,可供大家选择。

LightAutoML

项目链接:https://github.com/sberbank-ai-lab/LightAutoML

推荐指数:⭐⭐⭐

LightAutoML是基于Python环境下的结构化自动机器学习库,现在支持的任务有:

  • 二分类

  • 多分类

  • 回归任务

LightAutoML现在只支持单表单记录的形式,即每一行由样本的特征和标签组成。

import pandas as pd  
from sklearn.metrics import f1_score  from lightautoml.automl.presets.tabular_presets import TabularAutoML  
from lightautoml.tasks import Task  df_train = pd.read_csv('../input/titanic/train.csv')  
df_test = pd.read_csv('../input/titanic/test.csv')  automl = TabularAutoML(  task = Task(  name = 'binary',  metric = lambda y_true, y_pred: f1_score(y_true, (y_pred > 0.5)*1))  
)  
oof_pred = automl.fit_predict(  df_train,  roles = {'target': 'Survived', 'drop': ['PassengerId']}  
)  
test_pred = automl.predict(df_test)  pd.DataFrame({  'PassengerId':df_test.PassengerId,  'Survived': (test_pred.data[:, 0] > 0.5)*1  
}).to_csv('submit.csv', index = False)  

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

本文来自技术群粉丝分享整理,资料资料、数据、技术交流,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:pythoner666,备注:来自CSDN +备注来意
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

H2O AutoML

项目链接:https://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html

推荐指数:⭐⭐⭐⭐

H2O AutoML是基于Python环境和R环境下的结构化自动机器学习库,支持分布式部署,对模型调参、模型选择和特征筛选支持比较完备,但使用起来比较复杂。

import h2o  
from h2o.automl import H2OAutoML  h2o.init()  
train_hf = h2o.H2OFrame(train_df.copy())  
test_hf = h2o.H2OFrame(test_df.copy())  train_hf[target_column] = train_hf[target_column].asfactor()  aml = H2OAutoML(  seed=2021,   max_runtime_secs=100,  nfolds = 3,  exclude_algos = ["DeepLearning"]  
)  aml.train(  x=list(feature_columns),   y=target_column,   training_frame=train_hf  
)  preds = aml.predict(h2o.H2OFrame(test_df[feature_columns].copy()))  
preds_df = h2o.as_list(preds)  
preds_df  submission[['Class_1', 'Class_2', 'Class_3', 'Class_4']] = preds_df[['Class_1', 'Class_2', 'Class_3', 'Class_4']]  
submission.to_csv('h2o_automl_300s.csv', index=False)  
submission.head()  

MLJAR AutoML

项目链接:https://github.com/mljar/mljar-supervised

推荐指数:⭐⭐⭐⭐

MLJAR AutoML是基于Python环境下的结构化自动机器学习库,所支持的机器学习模型非常多,且对模型可视化支持的非常好。

from supervised.automl import AutoML # mljar-supervised  
automl = AutoML(  mode="Compete",   eval_metric="f1",  total_time_limit=300,  features_selection=False # switch off feature selection  
)  
automl.fit(  train[feature_cols],   train[target_column]  
)  preds = automl.predict(test[feature_cols])  submission['Survived'] = preds  
submission.to_csv('mljar_automl_300s_f1_metric.csv', index=False)  
submission.head()  

PyCaret

项目链接:https://pycaret.org/

推荐指数:⭐⭐⭐⭐⭐

PyCaret是基于Python环境下的结构化自动机器学习库,支持的任务包括:

  • 分类

  • 回归

  • 聚类

  • 异常检测

  • NLP

  • 关联规则

PyCaret支持的模型比较多,项目也比较活跃,但对模型的可视化做的不够。

from pycaret.classification import *  
from category_encoders.cat_boost import CatBoostEncoder  cat_train_df = train_df.copy()  
cat_test_df = test_df.copy()  ce = CatBoostEncoder()  cols_to_encode = ['name', 'sex', 'ticket', 'cabin', 'embarked']  
cat_train_df[pure_cat_cols] = ce.fit_transform(cat_train_df[pure_cat_cols], cat_train_df[target_column])  
cat_test_df[pure_cat_cols] = ce.transform(cat_test_df[pure_cat_cols])  setup(  data = cat_train_df[feature_cols.to_list() + [target_column]],   target = target_column,  fold = 3,  silent = True,  
)  best_models = compare_models(  sort='F1',   n_select=3,   budget_time=300,  
) # we will use it later  best = automl(optimize = 'F1')  

EvalML: AutoML

项目链接:https://evalml.alteryx.com/en/latest/

推荐指数:⭐⭐⭐

EvalML是一款比较模块比较完备的自动机器学习框架,支持分类、回归和时间序列任务。但提出的时间稍晚,所以使用的人很少。

from evalml.automl import AutoMLSearch  
X = train_df.drop(columns=[target_column, 'passengerid'])  
y = train_df[target_column]  X_train,X_test,y_train,y_test = train_test_split(X, y, test_size=0.2)  
automl = AutoMLSearch(  X_train=X_train,   y_train=y_train,   problem_type='binary',  random_seed=2021,  max_time=300,  
)  automl.search()  
pipeline = automl.best_pipeline  
pipeline.fit(X, y)  

TPOT: Genetic Approach

项目链接:http://epistasislab.github.io/tpot/

推荐指数:⭐⭐⭐

TPOT是一款非常轻量级的自动机器学习框架,利用遗传算法可以快读完成特征的构造。但TPOT所支持的功能较少,所以场景有限。

from tpot import TPOTClassifier  
from sklearn.model_selection import train_test_split  tpot = TPOTClassifier(generations=5, population_size=50, verbosity=2, random_state=42)  
tpot.fit(X_train, y_train)  
print(tpot.score(X_test, y_test))  
tpot.export('tpot_digits_pipeline.py')  

FLAML

项目链接:https://github.com/microsoft/FLAML

推荐指数:⭐⭐⭐⭐

FLAML是由微软提出的自动机器学习库,支持分类和回归任务。FLAML对特征的构造和搜索支持的比较好,非常轻量。

from flaml import AutoML  
from sklearn.datasets import load_boston  automl = AutoML()  # Specify automl goal and constraint  
automl_settings = {  "time_budget": 300,  # in seconds  "metric": 'accuracy',  "task": 'classification',  
}  
automl.fit(  X_train=train_df[feature_cols],   y_train=train_df[target_column],  **automl_settings  
)  print(automl.predict_proba(train_df[feature_cols]))  

相关文章:

盘点机器学习实战中最频繁使用的AutoML工具库

在日常的Kaggle比赛和工作中,经常会遇到AutoML工具。本文总结了常见的AutoML库,可供大家选择。 LightAutoML 项目链接:https://github.com/sberbank-ai-lab/LightAutoML 推荐指数:⭐⭐⭐ LightAutoML是基于Python环境下的结构…...

50-Jenkins-Lockable Resources插件实现资源锁定

Lockable Resources插件实现资源锁定前言安装插件使用插件资源配置Pipeline中使用前言 用来阻止多个构建在同一时间试图使用同一个资源。这里的资源可能是一个节点、一个代理节点、一组节点或代理节点的集合,或者仅仅是一个用于上锁的名字。如果指定的资源没有在全…...

测试员,如果未来5年你不想失业……你得学会自动化测试

工作中总会遇到各种各样的无常,这边测试工具的工作你刚刚接手,那边又临时紧急插播一个接口测试任务,这对于测试老鸟来说已然是常态,但对新手来说却是个挑战。 不得不承认,工作就是在无限的变化和挑战中不断的磨炼我们…...

腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理

腾讯开源的 hel,提供了一种运行时引入远程模块的能力,模块部署在 CDN,远程模块发布后,不需要重新构建发布,就能生效。 个人觉得它的实现原理非常的不错,因此分享给大家。 远程模块可以作为微模块&#xf…...

【运动控制】CNC三轴小线段路径规划

CNC三轴小线段路径规划 文章目录CNC三轴小线段路径规划一、项目说明二、具体实现1、速度规划2、小线段插补3、运动学逆解刀轴插补点4、差分处理得到实际的速度和加速度5、加速度滑动平均6、实现的效果如图所示三、Reference写在前面,本文是作为一个练手小项目的总结…...

渗透测试之DNS域名信息探测实验

渗透测试之DNS域名信息探测实验实验目的一、实验原理1.1 域名1.2 .域名的构成1.3 域名的基本类型1.4 域名级别二、实验环境2.1 操作机器三、实验步骤1. 使用sp查询域名信息2. 进行探测实验实验目的 掌握使用nslookup进行DNS域名信息探测的原理和方式了解子域名查询网站 一、实…...

ASE140N04-ASEMI低压MOS管ASE140N04

编辑-Z ASE140N04在TO-220F封装里的静态漏极源导通电阻(RDS(ON))为4mΩ,是一款N沟道低压MOS管。ASE140N04的最大脉冲正向电流ISM为400A,零栅极电压漏极电流(IDSS)为1uA,其工作时耐温度范围为-55~175摄氏度。ASE140N04…...

Qt——QLineEdit

QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数,输入和编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变QLineEdit的 echoMode() ,可以设置其属性,比如以密码的形式输入。 文本的长度可以由 maxLength(…...

前端-HTML-zxst

HTML HTML是超文本标记语言&#xff08;HyperText Mark-up Language&#xff09; CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09; JS&#xff0c;即JavaScript是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编程语言 <!--doctype标签声明…...

终极方案,清理 docker 占用磁盘过大问题, 亲测有效!

背景 在笔者的工作测试环境中&#xff0c;使用过程中突然出现根磁盘快吃满了&#xff08;docker也是使用的根池盘的/var/lib/docker&#xff09;&#xff0c; wtf &#xff1f; 服务用不了&#xff1f; 当然网上找到了一些常规的清楚docker 日志文件 但是通过df -hT 查看到over…...

puzzle(1321)时间旅人

时间旅人 最强大脑同款项目。​​​​​​​ 每个指针会带动周围2圈指针一起带动&#xff0c;内圈8个旋转180度&#xff0c;外圈16个旋转90度&#xff0c;全部调整为朝上则胜利。 问题本质&#xff1a; 很明显&#xff0c;问题本质就是求每个格子的点击次数&#xff0c;最少为…...

活动预告 | 2023 Meet TVM 开年首聚,上海我们来啦!

内容一览&#xff1a;从去年 12 月延期至今的 TVM 线下聚会终于来了&#xff01;首站地点我们选在了上海&#xff0c;并邀请到了 4 位讲师结合自己的工作实践&#xff0c;分享 TVM 相关的开发经验&#xff0c;期待与大家线下相聚~ 关键词&#xff1a;2023 Meet TVM 线下活动 自…...

CoreIDRAW 软件的强大功能及适用性

1.1 绘图功能CoreIDRAW 软件是一种特殊的设计软件和图形绘制软件&#xff0c;使用方便、功能强大&#xff0c;在网页效果、商业插画设计、海报广告设计、平面设计等各类行业中都得到广泛的应用&#xff0c;在服装设计行业中&#xff0c;也逐渐地投入使用。由于纺织服装行业在设…...

JavaScript Window History

在 Web 开发中&#xff0c;JavaScript Window History&#xff08;浏览器窗口历史记录&#xff09;是一个非常有用的对象&#xff0c;它提供了一个接口来与浏览器历史记录进行交互。JavaScript Window History 对象允许您访问当前会话的历史记录&#xff0c;以及在会话历史记录…...

2023年人力资源管理师报名和培训费用是多少

2023年考人力资源管理师各个地区的收费标准不同&#xff0c;报名费用在几百元左右&#xff0c;培训费上千&#xff0c;具体看各地区人力资源管理师考试报名要求。 12023人力资源管理师考试费用 人力资源管理师考试分为四个等级&#xff0c;各级别费用是不同的&#xff0c;一般来…...

2023-2-23 刷题情况

灌溉花园的最少水龙头数目 题目描述 在 x 轴上有一个一维的花园。花园长度为 n&#xff0c;从点 0 开始&#xff0c;到点 n 结束。 花园里总共有 n 1 个水龙头&#xff0c;分别位于 [0, 1, …, n] 。 给你一个整数 n 和一个长度为 n 1 的整数数组 ranges &#xff0c;其中…...

数据归档,存储的完美储备军

数据爆炸性增长的同时&#xff0c;存储成为了大家首要担心的问题大家都希望自家数据保存20年、50年后仍完好无损但是&#xff0c;N年后的数据量已达到一个无法预测的峰值如此大量的数据在保存时极可能存在丢失、损坏等问题这时需要提前对数据进行“备份”、“归档”备份是对数据…...

ES6-11、基本全部语法

一,变量声明&#xff1a;let声明变量&#xff1a;1.变量不可重复声明&#xff0c;let star 罗志祥 let star 小猪结果报错2.块级作用域&#xff0c;{ let girl 周扬青 }在大括号内的都属于作用域内3.不存在变量提升4.不影响作用域链const声明常量&#xff1a;const SCHOOL …...

Spring Boot整合Thymeleaf和FreeMarker模板

虽然目前市场上多数的开发模式采用前后端分离的技术&#xff0c;视图层的技术在小一些的项目中还是非常有用的&#xff0c;所以一直也占有一席之地&#xff0c;如spring官方的spring.io等网站就是使用视图层技术实现的。 目前Spring Boot支持的较好的两个视图层模板引擎是Thyme…...

SQL的四种连接-左外连接、右外连接、内连接、全连接

SQL的四种连接-左外连接、右外连接、内连接、全连接 内连接inner join…on… / join…on… 展现出来的是共同的数据 select m.Province,S.Name from member m inner join ShippingArea s on m.Provinces.ShippingAreaID; 相当于&#xff1a;select m.Province,S.Name from m…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...