机器学习算法与Python实战 | 两行代码即可应用 40 个机器学习模型--lazypredict 库!

本文来源公众号**"机器学习算法与Python实战"**,仅用于学术分享,侵权删,干货满满。

原文链接:两行代码即可应用 40 个机器学习模型

今天和大家一起学习使用**lazypredict 库**,我们可以用一行代码在我们的数据集上实现许多 ML 模型,这样我们就可以简要了解哪些模型适合我们的数据集。

第1步

使用以下方法安装 lazypredict 库:

复制代码
pip install lazypredict

第2步

导入 pandas 来加载我们的数据集。

复制代码
import pandas as pd

第3步

加载数据集。

复制代码
df = pd.read_csv('Mal_Customers.csv')

第4步

打印数据集的前几行

这里 Y 变量是支出分数列,而其余列是 X 变量。

现在,在确定了 X 和 Y 变量之后,我们将它们分成训练和测试数据集。

复制代码
# 导入 train_test_split,用于分割数据集
from sklearn.model_selection import train_test_split
# 定义 X 和 y 变量
X = df.loc[:, df.columns != 'Spending Score (1-100)']
y = df['Spending Score (1-100)'] # 对数据进行分区。
# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

第5步

我们导入之前安装的lazypredict库,lazypredict里面有两个类,一个用于分类,一个用于回归。

复制代码
# 导入 lazypredict
导入 lazypredict
# 从 lazypredict 导入回归类
from lazypredict.Supervised import LazyRegressor
# 从 lazypredict.Supervised 中导入分类类
from lazypredict.Supervised import LazyClassifier

导入后,我们将使用 LazyRegressor,因为我们正在处理回归问题,如果你正在处理分类问题,则这两种类型的问题都需要相同的步骤。

复制代码
# 使用 LazyRegressor 定义模型
multiple_ML_model = lazyRegressor(verbose=0, ignore_warnings=True, predictions=True)
# 对模型进行拟合,同时预测每个模型的输出结果
models, predictions = multiple_ML_model.fit(X_train, X_test, y_train, y_test)

这里,prediction = True 表示你想要获得每个模型的准确性并想要每个模型的预测值。

模型的变量包含每个模型精度以及一些其他重要信息。

它在我的回归问题上实现了**42 个 ML 模型,**因为本指南更侧重于如何测试许多模型,而不是提高其准确性。所以我对每个模型的准确性不感兴趣。

查看每个模型的预测。

你可以利用这些预测来创建一个混淆矩阵。

如果正在处理分类问题,这就是使用 lazypredict 库的方法。

复制代码
# 使用 LazyRegressor 定义模型
multiple_ML_model = lazyClassifier(verbose=0,
          ignore_warnings=True,
          predictions=True)
# 对模型进行拟合,并预测每个模型的输出结果
models, predictions = multiple_ML_model.fit(
          X_train, X_test, y_train, y_test)

要记住的要点:

  1. 这个库仅用于测试目的,为提供有关哪种模型在您的数据集上表现良好的信息。

  2. 建议使用conda单独建立一个虚拟环境,因为它提供了一个单独的环境,避免与其他环境有版本冲突。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

相关推荐
汽车仪器仪表相关领域几秒前
AI赋能智能检测,引领灯光检测新高度——NHD-6109智能全自动远近光检测仪项目实战分享
大数据·人工智能·功能测试·机器学习·汽车·可用性测试·安全性测试
天若有情6733 分钟前
打破思维定式!C++参数设计新范式:让结构体替代传统参数列表
java·开发语言·c++
brave and determined3 分钟前
工程设计类学习(DAY4):硬件可靠性测试全攻略:标准到实战
人工智能·嵌入式硬件·测试·硬件设计·可靠性测试·嵌入式设计·可靠性方法
Stuomasi_xiaoxin4 分钟前
ROS2介绍,及ubuntu22.04 安装ROS 2部署使用!
linux·人工智能·深度学习·ubuntu
初晴や5 分钟前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
李泽辉_5 分钟前
深度学习算法学习(五):手动实现梯度计算、反向传播、优化器Adam
深度学习·学习·算法
斯特凡今天也很帅6 分钟前
python测试SFTP连通性
开发语言·python·ftp
lovingsoft6 分钟前
AI+敏捷时代,专项测试人员是否还有存在的必要?
人工智能
sunywz8 分钟前
【JVM】(4)JVM对象创建与内存分配机制深度剖析
开发语言·jvm·python
亲爱的非洲野猪8 分钟前
从ReentrantLock到AQS:深入解析Java并发锁的实现哲学
java·开发语言