1.载入数据,清洗重复数据

data = pd.read_csv('winequality-red.csv')
pd.set_option('display.max_columns', None)
duplicated_data = data[data.duplicated(keep=False)]
print(duplicated_data) # 打印重复数据
打印重复数据fixed acidity  volatile acidity  citric acid  residual sugar  chlorides  \
0               7.4             0.700         0.00             1.9      0.076
4               7.4             0.700         0.00             1.9      0.076
9               7.5             0.500         0.36             6.1      0.071
11              7.5             0.500         0.36             6.1      0.071
22              7.9             0.430         0.21             1.6      0.106
...             ...               ...          ...             ...        ...
1567            7.2             0.695         0.13             2.0      0.076
1579            6.2             0.560         0.09             1.7      0.053
1581            6.2             0.560         0.09             1.7      0.053
1592            6.3             0.510         0.13             2.3      0.076
1596            6.3             0.510         0.13             2.3      0.076   free sulfur dioxide  total sulfur dioxide  density    pH  sulphates  \
0                    11.0                  34.0  0.99780  3.51       0.56
4                    11.0                  34.0  0.99780  3.51       0.56
9                    17.0                 102.0  0.99780  3.35       0.80
11                   17.0                 102.0  0.99780  3.35       0.80
22                   10.0                  37.0  0.99660  3.17       0.91
...                   ...                   ...      ...   ...        ...
1567                 12.0                  20.0  0.99546  3.29       0.54
1579                 24.0                  32.0  0.99402  3.54       0.60
1581                 24.0                  32.0  0.99402  3.54       0.60
1592                 29.0                  40.0  0.99574  3.42       0.75
1596                 29.0                  40.0  0.99574  3.42       0.75   alcohol  quality
0         9.4        5
4         9.4        5
9        10.5        5
11       10.5        5
22        9.5        5
...       ...      ...
1567     10.1        5
1579     11.3        5
1581     11.3        5
1592     11.0        6
1596     11.0        6

考虑到quality(质量)评分是不同的评酒师给出的评分,因此重复值应当保留。

2.查找空值

def check_na(data_para):print(data_para.isnull().sum())missing_col = data_para.columns[data_para.isnull().any()].tolist()print(missing_col)
check_na(data)

结果打印:

--------查找空值---------
fixed acidity           0
volatile acidity        0
citric acid             0
residual sugar          0
chlorides               0
free sulfur dioxide     0
total sulfur dioxide    0
density                 0
pH                      0
sulphates               0
alcohol                 0
quality                 0

所有特征列的空值数均为0,即不存在空值

3.观察数据大致情况描述

       fixed acidity  volatile acidity  citric acid  residual sugar  \
count    1359.000000       1359.000000  1359.000000     1359.000000
mean        8.310596          0.529478     0.272333        2.523400
std         1.736990          0.183031     0.195537        1.352314
min         4.600000          0.120000     0.000000        0.900000
25%         7.100000          0.390000     0.090000        1.900000
50%         7.900000          0.520000     0.260000        2.200000
75%         9.200000          0.640000     0.430000        2.600000
max        15.900000          1.580000     1.000000       15.500000   chlorides  free sulfur dioxide  total sulfur dioxide      density  \
count  1359.000000          1359.000000           1359.000000  1359.000000
mean      0.088124            15.893304             46.825975     0.996709
std       0.049377            10.447270             33.408946     0.001869
min       0.012000             1.000000              6.000000     0.990070
25%       0.070000             7.000000             22.000000     0.995600
50%       0.079000            14.000000             38.000000     0.996700
75%       0.091000            21.000000             63.000000     0.997820
max       0.611000            72.000000            289.000000     1.003690   pH    sulphates      alcohol      quality
count  1359.000000  1359.000000  1359.000000  1359.000000
mean      3.309787     0.658705    10.432315     5.623252
std       0.155036     0.170667     1.082065     0.823578
min       2.740000     0.330000     8.400000     3.000000
25%       3.210000     0.550000     9.500000     5.000000
50%       3.310000     0.620000    10.200000     6.000000
75%       3.400000     0.730000    11.100000     6.000000
max       4.010000     2.000000    14.900000     8.000000

从上述数据粗略可知,
1.该葡萄酒的quality(质量)评分在3-8之间,平均分为5.6,中位数为6,说明该批葡萄酒的整体质量处于中等水平。
2.ph值处于2.7-4.0之间,density(密度)也维持在1之间,alcohol(酒精)等数据也在合理范围内,另外所有数据均没有负数,初步说明没有录入错误的异常值。

4.直方图观测

data.hist(figsize=(10, 10),bins=30, alpha=0.5, density=True,grid=True,layout=(4, 3))
plt.show()

从直方图可知,
1.大部分特征项处于右偏态,即大部分特征的平均数>中位数>众数
2.质量(quality)评分多在5、6之间

5.偏度、峰度

# 偏度
print("偏度\n", data.skew().sort_values(ascending=False))
# 峰度
print("峰度\n", data.kurt().sort_values(ascending=False))
# 极值
print("极值\n", (data.max() - data.min()).sort_values(ascending=False))

打印信息:

偏度
chlorides               5.680347
residual sugar          4.540655
sulphates               2.428672
total sulfur dioxide    1.515531
free sulfur dioxide     1.250567
fixed acidity           0.982751
alcohol                 0.860829
volatile acidity        0.671593
citric acid             0.318337
quality                 0.217802
pH                      0.193683
density                 0.071288
峰度
chlorides               41.715787
residual sugar          28.617595
sulphates               11.720251
total sulfur dioxide     3.809824
free sulfur dioxide      2.023562
volatile acidity         1.225542
fixed acidity            1.132143
density                  0.934079
pH                       0.806943
quality                  0.296708
alcohol                  0.200029
citric acid             -0.788998
极值
total sulfur dioxide    283.00000
free sulfur dioxide      71.00000
residual sugar           14.60000
fixed acidity            11.30000
alcohol                   6.50000
quality                   5.00000
sulphates                 1.67000
volatile acidity          1.46000
pH                        1.27000
citric acid               1.00000
chlorides                 0.59900
density                   0.01362

1.从偏度可更加精确得知,所有数据均不服从正态分布。其中右偏最严重的是chlorides(氯化物),其次分别是residual sugar(剩余糖分)、sulphates(硫酸盐)、total sulfur dioxide(总二氧化硫)、free sulfur dioxide(游离二氧化硫)。
2.从峰度可知,chlorides(氯化物)、residual sugar(剩余糖分)、sulphates(硫酸盐)峰值较高,数据较为集中;而citric acid(柠檬酸)峰值为负数,数据较为分散。
3.结合峰度和偏度,可以看出pH、density、quality接近正态分布
4.观察极值,可得出total sulfur dioxide极值最大,其次是free sulfur dioxide、residual sugar、fixed acidity。结合直方图以及数据的大致情况描述,可知该四项存在一些远大于均值的异常值。

6.将数据进行归一化

# 归一化后的箱线图
columns = ["fixed acidity", "volatile acidity", "citric acid", "residual sugar", "chlorides", "free sulfur dioxide", "total sulfur dioxide","density", "pH", "sulphates", "alcohol", "quality"]
plt.boxplot(scaled_data,showmeans=True, meanprops={"marker": "D", "markerfacecolor": "red"},labels=columns)
plt.xticks(rotation=15)
plt.show()


(1)residual sugar、chlorides箱体较扁,说明50%的数据在均值附近波动。且存在大量异常值,多处于上方,数据呈右偏趋势,偏离均值分布。
(2)citric acid、quality、alcohel的异常值较少

7.相关性分析

# 相关性分析
plt.figure(figsize=(13, 13))
corr_data = data.corr()
sns.heatmap(corr_data,linewidths=0.1,cmap='YlGnBu',annot=True)
plt.xticks(rotation=15)
plt.show()

1.与quality(质量)评分存在正相关的有fixed acidity(非挥发性酸)、citric acid(柠檬酸)、residual sugar(剩余糖分)、sulphates(硫酸盐)、alcohol(酒精),其中alcohol(酒精)sulphates(硫酸盐)、**citric acid(柠檬酸)正相关程度相对其他特征较大,分别为0.48、0.25、0.23,说明其比率越高,评分越高;
而volatile acidity(挥发性酸度)、chlorides(氯化物)、free sulfur dioxide(游离二氧化硫)、total sulfur dioxide(总二氧化硫)、density(密度)、ph呈负相关关系,其中
volatile acidity(挥发性酸度)**负相关程度最大,为-0.39;而free sulfur dioxide、ph负相关程度最小,可忽略。
2.对于alcohol、sulphates、citric acid这三个中对quality具有积极影响且程度较大的做进一步探究,可以发现alcohol与density具有相对较大的负相关关系(-为0.5)。而sulphates与chlorides又具有0.37的正相关关系,但又因为chlorides对quality有-0.13的负相关关系。因此对于sulphates的比率要保持于一个适中的水平。
对于citric acid,其与fixed acidity(非挥发性酸)有0.67的正相关关系,程度较高;而与volatile acidity跟pH具有负相关关系,负相关关系也比较高,因为可以考虑适当提升fixed acidity的占比,降低volatile acidity跟pH的占比。

总的来说,可提高着重提高alcohol(酒精)sulphates(硫酸盐)、**citric acid(柠檬酸)的比例,降低volatile acidity(挥发性酸度)**的比例。除此之外,fixed acidity(非挥发性酸)也可稍微增加,因为其对citric acid(柠檬酸)的具有正相关关系。其余的特征变量影响相对较小。

红葡萄酒质量影响因素分析相关推荐

  1. 帆软所有销量为0的显示为空值_爆品秘籍?—线上三亚跟团游销量影响因素分析...

    如何在一次又一次的时下热潮中,让自己的旅行产品卖成爆品,正是旅行社所密切关心的.我们以三亚跟团游在线旅游产品为例,对销量的各个可能影响因素进行描述建模,并对消费者评论内容进行词频统计.利用LDA模型进 ...

  2. 高校学生学科竞赛获奖水平影响因素分析 ---以湘潭大学为例

    题目: 高校学生学科竞赛获奖水平影响因素分析 -以湘潭大学为例 姓名: 宋旭升 高校学生学科竞赛获奖水平影响因素分析 -以湘潭大学为例 摘要:本文以湘潭大学为例通过对可能影响高校学生学科竞赛获奖水平影 ...

  3. 大学生观看直播时长影响因素分析

    目录 1变量说明 2描述性统计 2.1大学生观看直播情况 2.2观看时间.平台.类型 2.3观看者行为 2.4对直播的印象认识 3模型建立 3.1多元线性回归 3.2模型检验 3.3模型解读 4结论与 ...

  4. 数据挖掘实战分享:财政收入影响因素分析及预测(一)

    泰迪智能科技最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合,可以让大家获得真实的数据挖掘学习与实践环境,更快.更好的学习数据挖掘知识与积累职业经验 专栏中每四篇文章为一个完整的数据 ...

  5. R语言Logistic回归模型案例:低出生婴儿体重的影响因素分析(列线图、校准曲线)

    R语言Logistic回归模型案例:低出生婴儿体重影响因素分析(列线图.校准曲线) 目录 R语言Logistic回归模型案例:低出生婴儿体重影响因素分析(列线图.校准曲线ÿ

  6. 脑外伤急救后迟发性颅脑损伤影响因素分析案例

    脑外伤急救后迟发性颅脑损伤影响因素分析案例 案例导读: 研究者收集了脑外伤急救病例供201例,希望能够从中分析出导致急救后迟发性颅脑损伤的主要影响因素. 分析中首先利用表中的Logistic回归模型进 ...

  7. 中国消费者信息指数影响因素分析

    中国消费者信息指数影响因素分析 案例导读: 研究者希望对受访者的背景资料对消费者信心指数的影响加以研究,并进一步考察其内部的详细作用方式. 分析中首先采用方差分析模型进行了自变量筛选,然后建立多元方差 ...

  8. 广东省老龄化预测及影响因素分析

    广东省老龄化预测及影响因素分析 根据1956年联合国<人口老龄化及其社会经济后果>确定的划分标准,当一 个国家或地区65岁及以上老年人口数量占总人口比例超过7%时,则意味着这个 国家或地区 ...

  9. 模拟买一台计算机及装机心得,装机模拟器显卡及处理器超频影响因素分析 超频体验心得_游侠网...

    对于超频有些玩家了解的并不是很多,这里给大家带来了"煜摅酃风HArF"总结的装机模拟器显卡及处理器超频影响因素分析,对超频感兴趣的小伙伴们一起看下文中的具体分析吧. 推荐阅读: 显 ...

最新文章

  1. innodb force recovery
  2. bokeh pandas_使用Pandas和Bokeh将Rolling Stone的500张最伟大专辑可视化
  3. 开源Math.NET基础数学类库使用(11)C#计算相关系数
  4. python关键字详解_Python 中的关键字with详解
  5. Python with上下文管理及自定义上下文管理
  6. 【报告分享】中国电信5G行业场景案例集.pdf(附下载链接)
  7. android 获取view在屏幕中的位置
  8. cube云原生机器学习平台-架构(三)
  9. 数组迭代方法之reduce
  10. CAS单点登录(SSO)
  11. 矢量数据空间索引之R树索引
  12. STM32 USART 多摩川编码器调试
  13. kernal tch 下载 天正_打开cad图时提示TCH_KERNAL 缺乏解释器天正图形看不见, 请下载天正插件......
  14. cp: cannot create regular file ‘/root/queues.conf’: No space left on devic
  15. JS逆向解析案例-巨潮证券市场数据库(python)
  16. Quick MTF,镜头图像质量测试应用程序
  17. Defcon 2019 Qualify: redacted puzzle Writeup
  18. ccf计算机认证考试题集,【计算机本科补全计划】CCF计算机职业资格认证 2017-03 试题初试...
  19. 你不知道的 Canvas 表格交互
  20. 电脑开机转到计算机状态页面,如何让电脑每次开机都恢复原来的状态?-开机启动项怎么设置...

热门文章

  1. Android 语音遥控器的整体分析-主机端语音解码的添加
  2. Open RAN:3W1H法带你了解5G!
  3. module_init源码分析
  4. 网络安全防御体系建设-防守实例
  5. Hibernate之load和get的区别
  6. 微信小程序登陆验证机制理解及实现
  7. tiktok海外抖音发视频0播放怎么办?
  8. 类模板与函数模板区别
  9. STM32三种BOOT模式
  10. 手把手教你设置Typora的图床-gitee