当前位置:首页 > 科技  > 软件

一行 Python 代码搞定训练分类或回归模型

来源: 责编: 时间:2023-11-10 17:08:02 209观看
导读自动机器学习(Auto-ML)是指自动化数据科学模型开发流水线的组件。AutoML 减少了数据科学家的工作量,并加快了工作流程。AutoML 可用于自动化各种流水线组件,包括数据理解,EDA,数据处理,模型训练,超参数调整等。在本文中,我们

自动机器学习(Auto-ML)是指自动化数据科学模型开发流水线的组件。AutoML 减少了数据科学家的工作量,并加快了工作流程。AutoML 可用于自动化各种流水线组件,包括数据理解,EDA,数据处理,模型训练,超参数调整等。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

在本文中,我们将讨论如何使用开放源码的 Python 库 LazyPredict 来自动化模型训练过程。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

什么是 LazyPredict ?

nP728资讯网——每日最新资讯28at.com

LazyPredict 是一个开源的 Python 库,它自动化了模型培训流水线并加快了工作流。LazyPredict 为一个分类数据集训练了大约30个分类模型,为一个回归数据集训练了大约40个回归模型。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

Lazypredicate 返回训练好的模型以及它的性能指标,而不需要编写很多代码。我们可以比较每个模型的性能指标,并优化最佳模型以进一步提高性能。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

安装

nP728资讯网——每日最新资讯28at.com

可以通过以下方式从 PyPl 库安装 LazyPredict:nP728资讯网——每日最新资讯28at.com

pip install lazypredict

安装完成后,可导入库进行分类和回归模型的自动训练。nP728资讯网——每日最新资讯28at.com

from lazypredict.Supervised import LazyRegressor, LazyClassifier

用法

Lazypredicate 同时支持分类和回归问题,因此我们将进行这两个任务的演示:nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

波士顿住房(回归)和泰坦尼克号(分类)数据集用于演示 LazyPredict 库。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

() 分类任务:nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

LazyPredict 的使用非常直观,类似于 scikit-learn。首先,为分类任务创建一个估计器 LazyClassifier 的实例。可以通过自定义指标进行评估,默认情况下,每个模型都会根据准确度、ROC AUC 分数、F1 分数进行评估。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

在进行 lazypredict 预测模型训练之前,必须读取数据集并对其进行处理以使其适合训练。nP728资讯网——每日最新资讯28at.com

import pandas as pdfrom sklearn.model_selection import train_test_split# Read the titanic datasetdf_cls = pd.read_csv("titanic.csv")df_cls = df_cls.drop(['PassengerId','Name','Ticket', 'Cabin'], axis=1)# Drop instances with null recordsdf_cls = df_cls.dropna()# feature processingdf_cls['Sex'] = df_cls['Sex'].replace({'male':1, 'female':0})df_cls['Embarked'] = df_cls['Embarked'].replace({'S':0, 'C':1, 'Q':2})# Creating train test splity = df_cls['Survived']X = df_cls.drop(columns=['Survived'], axis=1)# Call train test split on the data and capture the resultsX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42, test_size=0.2)

经过处理将数据拆分为训练测试数据后,我们可以使用 LazyPredict 进行模型训练。nP728资讯网——每日最新资讯28at.com

# LazyClassifier Instance and fiting datacls= LazyClassifier(ignore_warnings=False, custom_metric=None)models, predictions = cls.fit(X_train, X_test, y_train, y_test)

nP728资讯网——每日最新资讯28at.com

(2)回归任务:nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

类似于分类模型训练,lazypredicate 提供了用于回归数据集的自动模型训练。实现类似于分类任务,只是对实例 LazyRegressor 进行了更改。nP728资讯网——每日最新资讯28at.com

import pandas as pdfrom sklearn.model_selection import train_test_split# read the datacolumn_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']df_reg = pd.read_csv("housing.csv", header=None, delimiter=r"/s+", names=column_names)# Creating train test splity = df_reg['MEDV']X = df_reg.drop(columns=['MEDV'], axis=1)# Call train_test_split on the data and capture the resultsX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42, test_size=0.2)
reg = LazyRegressor(ignore_warnings=False, custom_metric=None)models, predictions = reg.fit(X_train, X_test, y_train, y_test)

nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

从以上性能指标来看,AdaBoost 分类器是分类任务的最佳执行模型,而 GradientBoostingRegressor 模型是回归任务的最佳执行模型。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

总结

nP728资讯网——每日最新资讯28at.com

在本文中,我们讨论了 LazyPredict 库的实现,该库可以在几行 Python 代码中训练大约70个分类和回归模型。这是一个非常方便的工具,因为它提供了模型执行情况的总体图像,并且可以比较每个模型的性能。nP728资讯网——每日最新资讯28at.com

nP728资讯网——每日最新资讯28at.com

每个模型都使用其默认参数进行训练,因为它不执行超参数调整。选择性能最佳的模型后,开发人员可以调整模型以进一步提高性能。nP728资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-20054-0.html一行 Python 代码搞定训练分类或回归模型

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python好用的可视化库(从低级到高级)

下一篇: Python文件读写实战:处理日常任务的终极工具!

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 太卷!Redmi MAX 100英寸电视便宜了:12999元买Redmi史上最大屏

    太卷!Redmi MAX 100英寸电视便宜了:12999元买Redmi史上最大屏

    8月5日消息,从小米商城了解到,Redmi MAX 100英寸巨屏电视日前迎来官方优惠,到手价12999元,比发布价便宜了7000元,在大屏电视市场开卷。据了解,Redmi MAX 100
  • 掘力计划第 20 期:Flutter 混合开发的混乱之治

    掘力计划第 20 期:Flutter 混合开发的混乱之治

    在掘力计划系列活动第20场,《Flutter 开发实战详解》作者,掘金优秀作者,Github GSY 系列目负责人恋猫的小郭分享了Flutter 混合开发的混乱之治。Flutter 基于自研的 Skia 引擎
  • 如何正确使用:Has和:Nth-Last-Child

    如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • 多线程开发带来的问题与解决方法

    多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • Temu起诉SHEIN,跨境电商战事升级

    Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    据 The Elec 报道,苹果已要求其供应商为未来的 iPhone 型号开发「无边框」OLED 显示面板。苹果显然已要求三星和 LG Display 开发新的 OLED 显示面
  • Android 14发布:首批适配机型公布

    Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
Top