使用scikit-learn构建模型实训(wine数据集、wine_quality数据)
- 任务:
- 实训1 使用 sklearn处理wine和wine_quality数据集
- 实训2 构建基于wine数据集的k- Means聚类模型
- 实训3 构建基于wine数据集的分类模型
- 实训4 构建基于wine_quality数据集的回归模型
说明
wine数据集包含来自3种不同起源的葡萄酒的共178条记录。13个属性是葡萄酒的13种化学成分。通过化学分析可以来推断葡萄酒的起源。所有属性变量都是连续变量。
wine_quality数据集共有4898个观测值,11个输入特征和一个标签。其中,不同类的观测值数量不等,所有特征为连续型数据。通过酒的各种化学成分,预测该葡萄酒的评分。
实训1 使用 sklearn处理wine和wine_quality数据集
1.训练要点
- 掌握 sklearn转换器的用法。
- 掌握训练集、测试集划分的方法。
- 掌握使用sklearn进行PCA降维的方法。
2.实现思路及步骤
- 使用pandas库 winquality数据集,sklearn库读取wine数据集
- 将wine数据集和winequality数据集的数据和标签拆分开(提取)。
- 将winequality数据集划分为训练集和测试集。
- 标准化wine数据集和 wine quality数据集
- 对wine数据集和 winequality数据集进行PCA降维。
提示:
- winequality数据集是csv格式文档,在文件中是以”;”为间隔的,所以要利用pandas.read_csv()读取,间隔读入的方式‘sep = ';' 获取其数据。读取后数据都以DataFrame的类型保留,使用iloc等切片操作提取所需数据。
- wine是库内置数据,已经区分数据与标签。
- from sklearn.model_selection import train_test_split,该train_test_split()函数将数据集划分为训练集和测试集两部分,参数test_size=0.2代表着测试集在总数中的占比,通过计算wine_data总共178条记录,wine_data_test有36条,占0.20224171(20%),参数random_state=100,表示随机种子编号,方便测试时得到相同随机结果。
- from sklearn.preprocessing import StandardScaler并生成标准化规则(先实例化一个对象);对训练集标准化;用训练集建立的模型对测试集标准化。transform函数紧接着将定义好的规则应用对传入的特征进行对应转换。
- from sklearn.decomposition import PCA,并设置PCA(n_components=5)的参数n_components表示将原始数据降低到n个维度。
实训2 构建基于wine数据集的k- Means聚类模型
1.训练要点
- 了解sklearn估计器的用法。
- 掌握聚类模型的构建方法。
- 掌握聚类模型的评价方法。
2.需求说明
wine数据集的葡萄酒总共分为3种,通过将wine数据集的数据进行聚类,聚集为3 个簇,能够实现葡萄酒的类别划分。
3.实现思路及步骤
- 根据实训1的wine数据集处理的结果,构建聚类数目为3的KMeans模型。
- 在聚类数目为2~10类时,确定最优聚类数目。
- 求取 Calinski-Harabaz-score指数,确定最优聚类数目。
实训3 构建基于wine数据集的SVM分类模型
1.训练要点
掌握sklearn估计器的用法。
掌握分类模型的构建方法。
掌握分类模型的评价方法。
2.需求说明
wine数据集中的葡萄酒类别为3种,将wie数据集划分为训练集和测试集,使用训练集训练SVM分类模型,并使用训练完成的模型预测测试集的葡萄酒类别归属。
3.实现思路及步骤
- 读取wine数据集,区分标签和数据。
- 将wine数据集划分为训练集和测试集
- 使用离差标准化方法标准化wine数据集。
- 构建SVM模型,并预测测试集结果。
- 打印出分类报告,评价分类模型性能。
提示:
- from sklearn.preprocessing import MinMaxScaler 离差标准化方法
- from sklearn.svm import SVC 支持向量机方法分类
- from sklearn.metrics import classification_report 查看分类得分
实训4 构建基于wine_quality数据集的回归模型
1.训练要点
掌握sklearn估计器的用法。
掌握回归模型的构建方法。
掌握回归模型的评价方法。
2.需求说明
wine_quality数据集中的葡萄酒评分在1-10之间,将wine_quality数据集划分为训练集和测试集,构建线性回归模型,
并使用训练完成的模型预测测试集的葡萄酒评分。
3.实现思路及步骤
- 读取wine_quality数据集。
- 将wine数据集划分为训练集和测试集
- 使用标准化方法标准化wine数据集。
- 构建线性回归模型,并预测测试集结果。
- 比较其他线性模型
提示:
|模块名称| 函数名称| 算法名称|
|:----:|:----:|:----:|
|linear_model| LinearRegession| 线性回归|
|svm| SVR|支撑向量回归|
|neighbors| KNeighborRegressor| 最近邻回归|
|tree| DecisionTreeRegressor| 决策树回归|
|ensemble| RandomForestRegressor| 随机森林回归|
|ensemble| GradientBoostingRegressor|梯度提升回归|