零基础python机器学习笔记--代码实战第二天数据分析

  • 首先读取数据
#读取红酒数据
target_url = "https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv"
df = pd.read_csv(target_url, sep = ";")

#打印数据形状和数据类型的个数
print (df.shape)
print (df.get_dtype_counts())

数据释义:每一行代表一组数据,1-11列代表红酒不同属性的检测值,最后一列代表红酒质量指数,下面通过将质量指数映射到(0,1)区间,根据优劣程度对应到所画折线图的不同颜色(cm.RdYlBu函数:值越小越劣对应线条越红,反之越蓝),进而分析判断好酒劣酒在哪些质量指数数据上有差异。

  • 判断鉴定红酒优劣的指标
##根据红酒质量的不同画不同颜色的折线
#1,将数据值标准化
_df = (df*1.0-df.mean())/df.std()
#2,将红酒质量指数映射到(0,1)范围内
q = df.shape[1]-1
dq = df.iloc[:,q]*1.0
_dq = (dq-dq.mean())/dq.std()
_dq = 1.0/(1.0+math.e**(-_dq))
#3,画图:偏蓝色代表质量较好的红酒;偏红色线表质量较差的红酒
plt.figure(figsize = (10,5))
for i in range(df.shape[0]):
    _df.iloc[i,1:q].plot(color=plt.cm.RdYlBu(_dq[i]), alpha = 0.5)
plt.xlabel(df.columns.tolist()[0:q])
plt.show()

在这里插入图片描述
通过观察结果图发现:较好的红酒酒精含量相对较高,密度相对较低,非挥发性酸含量相对较低。

  • 分析各个属性间的关系
    最后通过画热度相关图,分析各个属性间的关系:
#热度相关图,黄色对应强相关。
plt.pcolor(df.corr())
plt.show()

在这里插入图片描述
在上图的展示中,以第1个属性为例,通过热度图可以发现它和第3个、第8个属性(绿色方块)有着较强的相关性,即非挥发性酸值大的话,糖分残留和ph值就会大,这和我们的化学常识相一致,同时这也变相说明上一部分的推理挥发性酸值越大–>糖分残留值越大(口感越甜)的红酒相对较为劣质,这和我们的常识也是相一致的。

猜你喜欢

转载自blog.csdn.net/weixin_39860046/article/details/87992511