《Python数据分析与应用》第6章 使用sklearn构建模型 实训部分

《Python数据分析与应用》第6章 使用sklearn构建模型 实训部分((源于大学课程python数据分析))

实训1 使用sklearn处理wine和wine_quality数据集

1.使用pandas库分别读取wine数据集在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.将wine数据集和wine_quality数据集的数据和标签拆分开
拆分wine数据集
在这里插入图片描述
和wine_quality数据集
在这里插入图片描述
3.将wine,wine_quality数据集划分为训练集和测试集
在这里插入图片描述
在这里插入图片描述
4.标准化wine数据集和wine_quality数据集
在这里插入图片描述
在这里插入图片描述
5.对wine数据集和wine_quality数据集进行PCA降维
在这里插入图片描述
在这里插入图片描述

实训2 构建基于wine数据集的K-Means聚类模型

1.构建聚类数目为3的K-Means模型
在这里插入图片描述在这里插入图片描述
2.对比真实标签和聚类标签求取FMI
在这里插入图片描述
3.在聚类数目为2-10类时,确定最优聚类数目
在这里插入图片描述
结果表明最优聚类数目为3类
4.求取模型的轮廓系数,绘制轮廓系数折线图,确定最优聚类数目
在这里插入图片描述
在这里插入图片描述
由上图所示,k=7时,畸变程度最大,所以最优聚类数目为7
5.求取Calinski—Harabasz指数,确定最优聚类数目
在这里插入图片描述
如上显示k=2时,数值较大,因此最优聚类数目为2

实训3 构建基于wine数据集的SVM分类模型

1.读取wine数据集,区分标签和数据
在这里插入图片描述
2.将wine数据集划分为训练集和测试集
在这里插入图片描述
3.使用离差标准化方法标准化wine数据集
在这里插入图片描述
4.构建SVM模型,并预测测试集结果
在这里插入图片描述
在这里插入图片描述
5.打印出分类报告,评价分类模型性能
在这里插入图片描述
准确率和Cohen’s Kappa系数一定程度是接近1,该分类模型性能较好

实训4 构建基于wine_quality数据集的回归模型

在这里插入图片描述
1.根据wine_quality数据集处理的结果,构建线性回归模型
在这里插入图片描述
2.根据wine_quality数据集处理的结果,构建梯度提升回归模型
在这里插入图片描述
3.结合真实评分和预测评分,计算均方误差、中值绝对误差、可解释方差
在这里插入图片描述
在这里插入图片描述
4.根据得分,判定模型的性能优劣
由于上可知,平均绝对误差、均方误差、中值绝对误差,梯度提升回归模型均比线性模型更接近0,可解释方差值、回归R方值梯度,提升回归模型均比线性模型更接近1,因此梯度提升回归模型优于线性回归模型

### 回答1: 使用sklearn处理wine和wine_quality数据集可以通过以下步骤实现: 1. 导入需要的库和数据集 ```python from sklearn.datasets import load_wine, load_wine_quality wine = load_wine() wine_quality = load_wine_quality() ``` 2. 查看数据集的基本信息 ```python print(wine.DESCR) # 查看wine数据集的描述信息 print(wine_quality.DESCR) # 查看wine_quality数据集的描述信息 print(wine.data.shape) # 查看wine数据集的数据维度 print(wine_quality.data.shape) # 查看wine_quality数据集的数据维度 ``` 3. 数据预处理 对于wine数据集,可以进行标准化处理: ```python from sklearn.preprocessing import StandardScaler scaler = StandardScaler() wine.data = scaler.fit_transform(wine.data) ``` 对于wine_quality数据集,可以进行数据分割: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(wine_quality.data, wine_quality.target, test_size=.2, random_state=42) ``` 4. 模型训练和评估 对于wine数据集,可以使用KMeans聚类算法进行训练和评估: ```python from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3, random_state=42) kmeans.fit(wine.data) print(kmeans.inertia_) # 查看聚类结果的误差平方和 ``` 对于wine_quality数据集,可以使用决策树进行训练和评估: ```python from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score dtc = DecisionTreeClassifier(random_state=42) dtc.fit(X_train, y_train) y_pred = dtc.predict(X_test) print(accuracy_score(y_test, y_pred)) # 查看分类准确率 ``` 以上就是使用sklearn处理wine和wine_quality数据集的基本步骤。 ### 回答2: 使用sklearn处理wine和wine_quality数据集需要进行以下步骤: 1.导入数据集:可以使用sklearn中的datasets模块或pandas库中的read_csv()函数导入数据集。 2.数据预处理:可以对数据进行归一化、缺失值处理、异常值处理等操作。 3.数据划分:将数据集分成训练集和测试集,可以使用sklearn中的train_test_split()函数。 4.选择模型:根据数据集的特征和目标变量选择合适的模型。比如,可以使用线性回归模型、支持向量机模型、决策树模型等。 5.训练模型:将训练集输入模型使用sklearn中的fit()函数来训练模型。 6.评估模型使用测试集进行评估,可以通过计算预测值与真实值之间的误差、查准率、查全率、F1值等指标来评估模型的性能。 7.调参优化:可以通过调整模型中的超参数来优化模型性能。可以使用sklearn中的GridSearchCV()函数进行网格搜索,寻找最优参数。 例如,使用sklearn处理wine数据集的步骤如下: 1.导入数据集:从sklearn.datasets中导入wine数据集。 2.数据预处理:可以对数据进行归一化处理。 3.数据划分:将数据集分成训练集和测试集,可以使用train_test_split()函数。 4.选择模型:选择适合wine数据集模型,如逻辑回归模型、支持向量机模型等。 5.训练模型:将训练集输入模型使用fit()函数进行训练。 6.评估模型使用测试集进行评估,可以通过计算预测值与真实值之间的误差、准确率、召回率、F1值等指标来评估模型的性能。 7.调整模型:通过调整模型中的超参数来优化模型性能。可以使用GridSearchCV()函数进行网格搜索,寻找最优参数。 综上所述,使用sklearn处理wine和wine_quality数据集需要进行数据预处理、数据划分、模型选择、训练模型评估模型、调参优化等步骤。这些步骤可以帮助我们更好地掌握数据分析和机器学习的方法,并为实际问题提供更好的解决方案。 ### 回答3: 首先,我要介绍一下sklearn这个库。它是一个Python的机器学习库,提供了许多用于处理数据的工具和算法。同时,sklearn也支持一些常用的数据集,如wine和wine_quality。 wine数据集包含178个样本,每个样本有13个属性(如酒精和苹果酸含量等),分为三个类别(分别代表红酒,白酒和玫瑰酒)。 wine_quality数据集包含4898个样本,每个样本有12个属性(如挥发性酸含量和pH值等),分为11个类别(代表不同的质量等级)。这个数据集wine数据集更大更复杂,是一个非常典型的分类问题。 在sklearn中,我们可以很方便地导入这两个数据集: ``` from sklearn.datasets import load_wine, load_wine_quality wine = load_wine() wine_quality = load_wine_quality() ``` 然后,我们可以使用sklearn中的一些工具和算法来分析这些数据。比如可以用k-means算法对wine数据集进行聚类,得出每个样本属于哪一个类别。代码如下: ``` from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) kmeans.fit(wine.data) labels = kmeans.predict(wine.data) ``` 同样的,我们也可以使用决策树算法对wine_quality数据集进行分类。代码如下: ``` from sklearn.tree import DecisionTreeClassifier dtc = DecisionTreeClassifier() dtc.fit(wine_quality.data, wine_quality.target) predictions = dtc.predict(wine_quality.data) ``` 值得注意的是,这里选择的算法可能并不是最优的,需要根据具体的问题和数据来选择最适合的算法和工具。 在使用sklearn处理数据集时,还可以进行特征选择、数据预处理模型评估等操作,这里就不一一介绍了。总之,sklearn是一个非常强大的库,可以帮助我们在机器学习领域取得更好的成果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freetozn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值