当前位置: 首页 > 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…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...