python对wine数据集分类_Python——数据分析——使用scikit学习构建模型训练(wine数据集,wine_uquality数据),scikitlearn,实训,winequality...

本文介绍了如何使用Python的scikit-learn库处理wine和winequality数据集,包括数据加载、训练集测试集划分、标准化、PCA降维,以及基于数据集构建的k-Means聚类模型和SVM分类模型的构建与评估。通过FMI、轮廓系数和Calinski-Harabasz指数确定了最佳聚类数目,并对比了线性回归和梯度提升回归模型的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python----数据分析-使用scikit-learn构建模型实训(wine数据集、wine_quality数据)

目录:

wine数据集包含来自3种不同起源的葡萄酒的共178条记录。13个属性是葡萄酒的13种化学成分。通过化学分析可以来推断葡萄酒的起源。值得一提的是所有属性变量都是连续变量。

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

1.训练要点

掌握 sklearn转换器的用法。

掌握训练集、测试集划分的方法。

掌握使用sklearn进行PCA降维的方法。

2.需求说明

wine数据集和 winequality数据集是两份和酒有关的数据集。wine数据集包含3种 同起源的葡萄酒的记录,共178条。其中,每个特征对应葡萄酒的每种化学成分,并且都 属于连续型数据。通过化学分析可以推断葡萄酒的起源。

winequality数据集共有4898个观察值,11个输入特征和一个标签。其中,不同类的

观察值数量不等,所有特征为连续型数据。通过酒的各类化学成分,预测该葡萄酒的评分

3.实现思路及步骤

使用pandas库分别

读取

wine数据集和 winquality数据集

将wine数据集和winequality数据集的数据和标签

拆分开(提取)

将winequality数据集

划分

为训练集和测试集。

标准化

wine数据集和 wine quality数据集

对wine数据集和 winequality数据集进行

PCA降维

import pandas as pd

// 读取数据

wine_quality = pd.read_csv('data/winequality.csv',sep=';')

wine = pd.read_csv('data/wine.csv')

print(type(wine),type(wine_quality))

//

// 提取 wine_quality 数据

wine_quality_data = wine_quality.iloc[:,:-1]

wine_quality_target = wine_quality['quality']

// 提取 wine 数据

wine_data = wine.iloc[:,:-1]

wine_target = wine['Class']

wine数据集和winequality数据集的表现形式不一样,这里的wine数据集可以直接读入,而winequality数据集在文件中是以”;”为间隔的,所以要采用间隔读入的方式获取其数据。读取后数据都以DataFrame的类型保留,使用iloc等切片操作提取所需数据。

// 将 wine_quality 数据划分为训练集和测试集

from sklearn.model_selection import train_test_split

wine_quality_data_train,wine_quality_data_test,\

wine_quality_target_train,wine_quality_target_test=\

train_test_split(wine_quality_data,wine_quality_target,test_size=0.2,random_state=321)

wine_data_train,wine_data_test,\

wine_target_train,wine_target_test=\

train_test_split(wine_data,wine_target,test_size=0.2,random_state=321)

train_test_split()函数将数据集划分为训练集和测试集两部分,参数test_size=0.2代表着测试集在总数中的占比,通过计算wine_data总共178条记录,wine_data_test有36条,占0.20224171(20%),参数random_state=321,表示随机种子编号,方便测试时得到相同随机结果。

// 标准化数据集

from sklearn.preprocessing import StandardScaler

stdScaler = StandardScaler().fit(wine_data_train) // 生成标准化规则

wine_trainScaler = stdScaler.transform(wine_data_train) // 对训练集标准化

wine_testScaler = stdScaler.transform(wine_data_test) // 用训练集建立的模型对测试集标准化

Scaler = StandardScaler().fit(wine_quality_data_train) // 生成标准化规则

winequality_trainScaler = Scaler.transform(wine_quality_data_train) // 对训练集标准化

winequality_te

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值