机器学习:如何快速寻找性能最佳的模型

本文通过比较在iris数据集和波士顿住房数据集上的分类和回归算法,展示了如何快速找到最佳性能的机器学习模型。使用sklearn库遍历了多种模型,并介绍了lazypredict库作为加速模型选择的工具。
摘要由CSDN通过智能技术生成

设想一下您要测试给定数据集是否具有足够的特征来训练机器学习算法,或者在给定数据集上测试不同算法的性能,这两种情况在数据科学领域非常普遍。

通常情况下,要测试特征是否有效,可以训练没有正则化的模型,并验证损失函数是否接近零。

使用哪种算法?

该问题的答案类似于探索性数据分析(EDA)的过程。进行探索性数据分析可以深入了解数据集。同样,有几种方法可以找到最适合该数据集的最佳算法,但这通常需要在循环中迭代多个模型,这可能很耗时。要克服此限制,可以使用lazypredict(Python库)作为选择最佳性能算法的起点。

本文展示了一个示例,该示例分别使用循环迭代和lazypredict来比较分类算法的性能。此外,它还显示了使用lazypredict对波士顿住房数据集(Boston housing)测试不同回归算法的性能。

在iris数据集上比较分类算法

在进行算法比较之前,让我们谈谈数据集。iris数据集由3类(Setosa,Versicolor,Virginica)组成,每种iris植物有50个样本。

在这里插入图片描述

这些类别之间的区别特征是萼片长度(sepal length),萼片宽度(sepal width),花瓣长度(petal length)和花瓣宽度(petal width)。下图显示了基于类别的特征之间的关系。
在这里插入图片描述

下面的代码显示了数据探索和特征缩放的步骤。

# import libraries
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
import seaborn as sns

import warnings
warnings.filterwarnings('ignore')

# iris dataset
from sklearn.datasets import load_iris
# boston housing price
from sklearn.datasets import load_boston

# load iris
iris = load_iris()

# feature matrix in "X" 
X = iris.data

# target in "y"
y = iris.target

# create pandas df
data_iris = pd.DataFrame(X, columns=iris.feature_names)
data_iris['target'] = pd.DataFrame(y.reshape(-1,1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值