其乐融融的IT技术小站

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

赞 ()
分享到:更多 ()

相关推荐

内容页底部广告位3
留言与评论(共有 0 条评论)
   
验证码: