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

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

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

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

你可能感兴趣的:(数据分析的一个完整流程(个人学习))