查看原文
其他

lazypredict,一个超强的 python 库

程序员小寒 程序员学长 2023-09-22

大家好,我是小寒。

今天给大家分享一个超强的 python 库,lazypredict

https://github.com/shankarpandala/lazypredict

lazypredict 无需太多代码即可帮助构建大量基本模型,并有助于了解哪些模型在无需任何参数调整的情况下效果更好。

简介

LazyPredict 是一个强大的机器学习 Python 库,它提供了一种易于使用且方便的方法来同时比较各种机器学习模型
它被设计为一个灵活、直观且易于使用的库,可用于分类和回归任务。它支持广泛的算法,包括线性和非线性方法、决策树、随机森林、梯度提升等。
LazyPredict 的首要目标是让开发人员和数据科学家更容易快速地进行数据分析和训练各种算法。

初体验

安装库

直接使用 pip 进行安装。
pip install lazypredict

数据集

本案例我们将使用加州住房数据集。
# import all required libraries 
import pandas as pd 
import lazypredict 

# For regression problems 
from lazypredict.Supervised import LazyRegressor

# For classification problems
from lazypredict.Supervised import LazyClassifier

import pandas as pd

df_train = pd.read_csv('california_housing_train.csv')
df_test = pd.read_csv('california_housing_test.csv')
df_train.info()

下面,我们将训练和测试数据集的目标和特征分开。
X_train = df_train.drop(columns = 'median_house_value' ) 
X_test = df_test.drop(columns = 'median_house_value' ) 

y_train = df_train[ 'median_house_value' ] 
y_test = df_test[ 'median_house_value' ]

训练和拟合模型

因为这里我们处理的是回归任务,所以我们使用 LazyRegressor()。
# For regression tasks 
reg = LazyRegressor(verbose=0, ignore_warnings=True, predictions=True)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)
将 predictions 设置为 true 意味着我们不仅需要模型性能指标,还需要每个模型做出的实际预测。

与 lazypredict 模型一起使用的其他参数有。

  1. custom_metric:你可以指定 Lazypredict 将用于模型评估的自定义指标函数,而不是默认指标。

  2. random_state:你可以设置随机种子以实现再现性。
  3. exclude:你可以提供模型名称列表,以从评估中排除特定模型。例如,如果你不想评估特定模型,则可以将其排除。

显示模型性能

正如你所看到的,Lazypredict 根据所选指标将模型从性能最佳到性能最差进行排列。

通过此排名,你可以一目了然地识别出表现最好的模型。

选择最佳模型

那么如何确定哪种模型最适合你的特定问题呢?

  1. 确定你的优先指标:首先,确定你的问题最关键的指标。对于此任务,我们将主要考虑 RMSE(较低的 RMSE 表示更好的性能)。

  2. 查看模型排名: Lazypredict 已经对模型进行了排名。首先根据你的优先级指标查看表现最好的模型。

因此,我们将把选择范围缩小到:

  • HistGradientBoostingRegressor
  • LGBMRegressor
  • XGBRegressor
  • RandomForestRegressor
对于此任务,我们将选择具有最高预测能力的模型,即 “HistGradientBoostingRegressor” 。

但另一个人可能会选择 “LGBMRegressor”,因为它的训练时间较短。

最后,最佳模型的选择取决于你项目的目标、限制以及对你最重要的因素。
不同的人可能有不同的偏好——有些人可能最关心准确性,其他人可能最关心速度,还有一些人最关心理解模型的难易程度
因此,在为你的数据选择 “完美” 模型之前,请考虑你的项目需求、利益相关者的期望以及你愿意接受的妥协。


最后



今天的分享就到这里。如果觉得不错,点赞,转发安排起来吧。接下来我们会分享更多的 「深度学习案例以及python相关的技术」,欢迎大家关注。最后,最近新建了一个 python 学习交流群,会经常分享 「python相关学习资料,也可以问问题,非常棒的一个群」

「进群方式:加我微信,备注 “python”」



往期回顾


Fashion-MNIST 服装图片分类-Pytorch实现

python 探索性数据分析(EDA)案例分享

深度学习案例分享 | 房价预测 - PyTorch 实现

万字长文 |  面试高频算法题之动态规划系列

面试高频算法题之回溯算法(全文六千字)  

    



如果对本文有疑问可以加作者微信直接交流。进技术交流群的可以加微信拉你进群。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存