首页 互联网资讯 LazyPredict:为你选择最佳ML模型!

LazyPredict:为你选择最佳ML模型!

互联网资讯 267
2023-04-04,摘要

本文讨论使用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_cancerfrom lazypredict.Supervised import LazyClassifierdata = load_breast_cancer()X = data.datay= data.target

为了选择最佳分类器模型,现在让我们部署"LazyClassifier "算法。这些特征和输入参数适用于该类。

LazyClassifier( verbose=0, ignore_warnings=True, custom_metric=None, predictions=False, random_state=42, classifiers='all',)

接着把该模型应用于加载好的数据并进行拟合。​

from lazypredict.Supervised import LazyClassifierfrom sklearn.model_selection import train_test_split# split the dataX_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0)# build the lazyclassifierclf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None)# fit itmodels, predictions = clf.fit(X_train, X_test, y_train, y_test)# print the best modelsprint(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 LazyRegressorfrom sklearn import datasetsfrom sklearn.utils import shuffleimport numpy as np# load the databoston = datasets.load_boston()X, y = shuffle(boston.data, boston.target, random_state=0)X = X.astype(np.float32)# split the dataX_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0)# fit the lazy objectreg = 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 tableprint(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

PS:本文来源:LazyPredict:为你选择最佳ML模型!,LazyPredic,机器学习,ML模型,人工智能,作者: 崔皓