LazyPredict:为你选择最佳ML模型!
来源:51CTO.COM
时间:2023-04-27 19:58:32 165浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《LazyPredict:为你选择最佳ML模型!》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
摘要
本文讨论使用LazyPredict来创建简单的ML模型。LazyPredict创建机器学习模型的特点是不需要大量的代码,同时在不修改参数的情况下进行多模型拟合,从而在众多模型中选出性能最佳的一个。
本文包括的内容如下:
- 简介
- LazyPredict模块的安装
- 在分类模型中实施LazyPredict
- 在回归模型中实施
- 总结
简介
LazyPredict号称最先进的Python软件包,它的诞生正在彻底改变机器学习模型的开发方式。通过使用LazyPredict,可以快速创建各种基本模型,几乎不需要任何代码,从而腾出时间来选择最适合我们数据的模型。
LazyPredict的主要优点是可以使模型选择更加容易,而不需要对模型进行大量的参数调整。LazyPredict提供了一种快速有效的方法来寻找和适配数据的最佳模型。
接下来,让我们通过这篇文章探索和学习更多关于LazyPredict的用法。
LazyPredict模块的安装
LazyPredict库的安装是一项非常简单的任务。如同安装任何其他Python库一样,只需一行代码轻松搞定。
!pip install lazypredict
在分类模型中实施LazyPredict
在这个例子中,我们将利用Sklearn包中的乳腺癌数据集。
现在,让我们来加载数据。
from sklearn.datasets import load_breast_cancer from lazypredict.Supervised import LazyClassifier data = load_breast_cancer() X = data.data y= data.target
为了选择最佳分类器模型,现在让我们部署"LazyClassifier "算法。这些特征和输入参数适用于该类。
LazyClassifier( verbose=0, ignore_warnings=True, custom_metric=None, predictions=False, random_state=42, classifiers='all', )
接着把该模型应用于加载好的数据并进行拟合。
from lazypredict.Supervised import LazyClassifier from sklearn.model_selection import train_test_split # split the data X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0) # build the lazyclassifier clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None) # fit it models, predictions = clf.fit(X_train, X_test, y_train, y_test) # print the best models print(models)
执行上述代码之后,得到下面结果:
然后,我们可以进行以下工作,来看看模型的细节。
model_dictionary = clf.provide_models(X_train,X_test,y_train,y_test)
接下来,设置模型的名称来显示详细的步骤信息。
model_dictionary['LGBMClassifier']
在这里,我们可以看到SimpleImputer被用于整个数据集,然后是StandardScaler用于数字特征。在这个数据集中没有分类或序数特征,但如果有,就会分别使用OneHotEncoder和OrdinalEncoder。LGBMClassifier模型在转换和归类后接收数据。
LazyClassifier的内部机器学习模型使用sci-kit-learn工具箱进行评估和拟合。LazyClassifier函数在被调用时,会在我们的数据上自动建立和拟合各种模型,包括决策树、随机森林、支持向量机等。你提供的一组性能标准,如准确率、召回率或F1得分,被用来评估这些模型。训练集用于拟合,而测试集则用于评估。
在对模型进行评估和拟合后,LazyClassifier会提供一份评估结果总结(如上表),以及每个模型的顶级模型和性能指标列表。由于不需要手动调整或选择模型,你可以快速简单地评估许多模型的性能,并选择最适合数据的模型。
在回归模型中实施LazyPredict
使用"LazyRegressor "函数,可以再次为回归模型完成同样的工作。让我们导入一个适合回归任务的数据集(使用波士顿数据集)。
现在,让我们使用LazyRegressor来拟合我们的数据。
from lazypredict.Supervised import LazyRegressor from sklearn import datasets from sklearn.utils import shuffle import numpy as np # load the data boston = datasets.load_boston() X, y = shuffle(boston.data, boston.target, random_state=0) X = X.astype(np.float32) # split the data X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0) # fit the lazy object reg = LazyRegressor(verbose=0, ignore_warnings=False, custom_metric=None) models, predictions = reg.fit(X_train, X_test, y_train, y_test) # print the results in a table print(models)
代码执行结果如下:
以下是对最佳回归模型的详细描述:
model_dictionary = reg.provide_models(X_train,X_test,y_train,y_test) model_dictionary['ExtraTreesRegressor']
这里可以看到SimpleImputer被用于整个数据集,然后是StandardScaler用于数字特征。这个数据集中没有分类或序数特征,但如果有的话,会分别使用OneHotEncoder和OrdinalEncoder。ExtraTreesRegressor模型接收了转换和归类后的数据。
结论
LazyPredict库对于任何从事机器学习行业的人来说都是一种有用的资源。LazyPredict通过自动创建和评估模型的过程来节省选择模型的时间和精力,这大大提高了模型选择过程的有效性。LazyPredict提供了一种快速而简单的方法来比较几个模型的有效性,并确定哪个模型系列最适合我们的数据和问题,因为它能够同时拟合和评估众多模型。
阅读本文之后希望你现在对LazyPredict库有了直观的了解,这些概念将帮助你建立一些真正有价值的项目。
译者介绍
崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。
原文标题:LazyPredict: A Utilitarian Python Library to Shortlist the Best ML Models for a Given Use Case,作者:Sanjay Kumar
今天带大家了解了的相关知识,希望对你有所帮助;关于科技周边的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
299 收藏
-
367 收藏
-
274 收藏
-
117 收藏
-
128 收藏
-
286 收藏
-
467 收藏
-
259 收藏
-
195 收藏
-
321 收藏
-
174 收藏
-
295 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习