自动机器学习(AutoML)是指自动数据科学模型开发管道的组件。Automl减少了数据科学家的工作量并加快了工作流程。Automl可用于自动化各种流水线组件,包括数据理解、EDA、数据处理、模型训练、Quand参数调优等。对于端到端的机器学习项目,每个流水线组件的复杂程度取决于项目。有各种自动启用的源库可以加速每个管道组件。阅读本文以了解8个自动化机器学习管道的自动列表库。在本文中,我们将讨论如何使用开源Python库LazyPredict自动化模型训练过程。什么是惰性预测?LazyPredict是一个开源Python库,可自动执行模型训练管道并加快工作流程。LazyPredict在分类数据集中有大约30个分类模型,在回归数据集中列出了40个回归模型。LazyPredict可以将经过训练的模型恢复到其性能指标,而无需编写太多代码。可以比较每个模型的性能指标并调整最佳模型以进一步提高性能。安装:Leazepredict可以使用pypl库安装:pipinstalllazypredict安装完成后,可以导入库进行分类和回归模型的自动训练。fromlazypredict.SupervisedimportLazyRegressor,LazyClassifierUsage:LazyPredict同时支持分类和回归问题,所以我将讨论用于演示LazyPredict库的两个任务BostonHousing(回归)和Titanic(分类)DataSet的demo。分类任务:LazyPredict的用法非常直观,类似于Scikit-learn。首先,为分类任务创建估计器LazyClassifier的实例。可以通过自定义指标进行评估,默认情况下,每个模型都会根据准确性、ROCAUC分数、F1分数进行评估。在进行LazyPredict模型训练之前,必须读取和处理数据集以使其适合训练。importpandasasdfromsklearn.model_selectionimporttrain_test_split#Readthetitanicdatasetdf_cls=pd.read_csv("titanic.csv")df_clsdf_cls=df_cls.drop(['PassengerId','Name','Ticket','Cabin'],axis=1)#Dropinstanceswithnullredsfdrcordsf_feclopdprocessing(['Sex']=df_cls['Sex'].replace({'male':1,'female':0})df_cls['Embarked']=df_cls['Embarked'].replace({'S':0,'C':1,'Q':2})#Creatingtraintestsplitity=df_cls['Survived']X=df_cls.drop(columns=['Survived'],axis=1)#CalltraintestsplitonthedataandcapturetheresultsX_train,X_test,y_train,y_test=train_test_split(X,y,random_state=42,test_size=0.2)经过特征工程并将数据拆分为训练测试数据后,我们可以使用LazyPredict进行模型训练。#LazyClassifierInstanceandfitingdatacls=LazyClassifier(ignore_warnings=False,custom_metric=None)models,predictions=cls.fit(X_train,X_test,y_train,y_test)回归任务:与分类模型训练类似,LazyPredict自带回归数据集的自动模型训练。为实现类似的分类任务,改变实例LazyRegressor。importpandasaspdromsklearn.model_selectionimporttrain_test_split#readthedatacolumn_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)#Creatingtraintestsplitity=df_reg['MEDV']X=df_reg.drop(columns=['MEDV'],axis=1)#Calltrain_test_splitonthedataandcapturetheresultsX_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)>(ImagebyAuthor),BostonHousing数据集的42个回归模型的性能指标观察以上性能指标,Adaboost分类器是最好的分类任务性能最好的模型,具有梯度提升的替换机器策略模型是回归任务性能最好的模型。结论:在本文中,我们讨论了LazyPredict库的实现,它可以在几行Python代码中训练大约70个分类和回归模型。这是一个非常方便的工具,因为它提供了模型性能的整体情况,并允许比较每个模型的性能。每个模型都使用默认参数进行训练,因为它不执行超参数调整。选择性能最佳的模型后,开发人员可以调整模型以进一步提高性能。感谢您的阅读!本文翻译自ChristopherTao的文章《Train all Classification or Regression models in one line of Python Code》。
