数据分析的一个完整流程(个人学习)

数据分析的完整流程(个人学习)

课程学习
数据集:UCI的wine quality数据集
首先用pandas的read_csv获得wine quailty数据
《数据分析的一个完整流程(个人学习)》
一.大致了解数据,并作必要的预处理
1.wine.info()来了解每一列数据的类型
必要时用astype()函数转换数据类型
2.wine数据中很可能有很多重复的数据,因此需要去重
wine.duplicated().sum()可以获得重复的行数
《数据分析的一个完整流程(个人学习)》
3.用wine.drop_duplicates()函数去重,现在剩下1359行数据
《数据分析的一个完整流程(个人学习)》
4.wine.describe()可查看数据的基本统计信息,如平均数,中位数,四分位数,方差等等《数据分析的一个完整流程(个人学习)》
5.用value_counts()函数可以查看某一列的各个数位的个数
《数据分析的一个完整流程(个人学习)》
下面主要研究的是wine.quality
1.把wine的个体按照quality分到3类,类似于连续属性离散化
把它们装到三个箱子中去,分别为【低质量,中等质量,高质量】
区间为【2,4】,【4,6】,【6,8】
《数据分析的一个完整流程(个人学习)》
《数据分析的一个完整流程(个人学习)》
from sklearn.processing import LabelEncoding
lb=LabelEncoding()
这样就能让箱子的标记从字符串类型变为数值类型,方便后续处理
《数据分析的一个完整流程(个人学习)》
二.现在建立一个模型,使得在已知前面十一个数据的时候,推出label的值
用的是随机森林模型

《数据分析的一个完整流程(个人学习)》
这就类似于一个解线性方程组的感觉,AX=y
要求从训练的数据中训练出A模型
最后已知x时,得出y的值
《数据分析的一个完整流程(个人学习)》
train_test_split就是把X,y分为训练集和测试集,test_size取整个数据集的百分之20
得到X的训练集和测试集后,要把它们做0均值规范化scale()
再导入RandomForestClassifier函数
模型的决策树个数取200个
用X_train,y_train训练集训练rfc模型
最后用X_test带入模型中,得到y预测的值
《数据分析的一个完整流程(个人学习)》
而要对预测的值做误差分析就要用混乱矩阵
《数据分析的一个完整流程(个人学习)》
其中15表示0类别的个体预测正确的个数,22表示本来是0类别的被误判到2类别的个数
行表示实际类别,列表示预判类别
可以看到2类别的正确预测的个数最多
对于rfc的参数n_estimators=200是可以用一种通用的方法找到最优的参数的
《数据分析的一个完整流程(个人学习)》
用GridSearchCV函数
其中的参数rfc是模型,param_grid是要调整的参数的范围
再用X_trian与y_train训练grid_rfc让它得出最优参数
《数据分析的一个完整流程(个人学习)》
再重新对rfc这个随机森林模型写入参数
再次训练,得到模型

    原文作者:mark_and_sky
    原文地址: https://blog.csdn.net/mark_and_sky/article/details/106341952
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞