文章目录

  • 1. 明确需求和目的
  • 2. 数据收集
  • 3. 数据预处理
    • 3.1 数据整合
      • 3.1.1 加载相关库和数据集
      • 3.1.2 数据概览
    • 3.2 数据清洗
      • 3.2.1 列名重命名
      • 3.2.2 数据类型处理
      • 3.2.3 缺失值处理
      • 3.2.4 异常值处理
  • 4. 数据分析
    • 4.1 质量评分分析
      • 4.1.1 质量评分的频数统计
      • 4.1.2 质量评分的描述性统计
      • 4.1.3 绘制质量评分的直方图
      • 4.1.4 T检验
    • 4.2 化学成分间的相关性分析
    • 4.3 建立线性回归模型
      • 4.3.1 选取样本
      • 4.3.2 自变量标准化
      • 4.3.3 建立回归模型
    • 4.4 预测

1. 明确需求和目的

以葡萄酒类型为标签,分为白葡萄酒和红葡萄酒。比较这两种葡萄酒的差别并选取葡萄酒的化学成分:固定酸度、挥发性酸度、柠檬酸、氯化物、游离二氧化硫、总硫度、密度、PH值、硫酸盐、酒精度数共11个,针对酒的各类化学成分建立线性回归模型,从而预测该葡萄酒的质量评分。

2. 数据收集

  • 数据集为“winequality-both.csv",共有6497条数据,共13个特征.
  • 数据链接:https://pan.baidu.com/s/1dXeIT20OWgtGvJgSZEqRFQ
    提取码:0g7m

3. 数据预处理

3.1 数据整合

3.1.1 加载相关库和数据集

  • 使用的库有:pandas、numpy、matplotlib、seaborn、statsmodels
  • 使用的数据集:winequality-both.csv

3.1.2 数据概览



从上图可以看出特征和质量评分的均值和方差,分位数等,其中,质量评分的均值为5.818378。

3.2 数据清洗

3.2.1 列名重命名

从上面发现列名不符合Python的命名规范,对列名进行一下重命名,采用下划线命名法:

3.2.2 数据类型处理

查看各个列的数据类型:

从上图可以看出,除了葡萄酒的type位object类型,其余特征的数据类型都为float型,没有问题,所以不需要进行数据类型处理。

3.2.3 缺失值处理

查看缺失值情况:

发现没有缺失值,所以不需要进行缺失值处理。

3.2.4 异常值处理

简单查看一下是否有异常值:

没发现明显的异常值,不需要进行处理。

4. 数据分析

4.1 质量评分分析

4.1.1 质量评分的频数统计


可以看出质量评分为3-9分,其中质量评分为6的数量是最多的,其次是评分为5, 质量评分为9的数量是最少的。

4.1.2 质量评分的描述性统计

按葡萄酒的类型分组,分为两组,:红葡萄酒和白葡萄酒。分别打印出两组葡萄酒的质量的摘要统计量。

可以看出红葡萄酒和白葡萄酒的数据量相差很大,但均值、最值等都相差不大。

4.1.3 绘制质量评分的直方图



上图显示了不同类型葡萄酒的质量评分密度条形图,可以发现葡萄酒的质量评分大部分集中在5-7分,评分为9的几乎没有。从对比来看,白葡萄酒的质量评分普遍高于红葡萄的质量评分,尤其是评分为6分和7分的较为显著,白葡萄酒评分为6分和7分的数量将近是红葡萄酒的2倍。不过,评分为5的白葡萄酒和红葡萄酒的数量相当,甚至,红葡萄酒更胜一筹。

4.1.4 T检验

对不同葡萄酒的质量评级进行t检验(原假设设为红白两种葡萄酒质量相同)

从检验的结果来看,p值<0.05,拒绝原假设,即认为红白两种葡萄酒质量有显著性差异,并且从均值上来看白葡萄酒的平均质量等级在统计意义上大于红葡萄酒的平均质量等级。

4.2 化学成分间的相关性分析




从各变量的相关系数来看酒精含量、硫酸酯、pH 值、游离二氧化硫和柠檬酸这些指标与质量呈现正相关,即当这些指标的含量增加时,葡萄酒的质量会提高;非挥发性酸、挥发性酸、残余糖分、氯化物、总二氧化硫和密度这些指标与质量呈负相关即当这些指标的含量增加时,葡萄酒的质量会降低。从相关系数可以看出,对葡萄酒质量影响最大的是葡萄酒是酒精含量,其相关系数为0.444,其次是酒的密度,但酒的密度对酒的质量是负影响的。

4.3 建立线性回归模型

4.3.1 选取样本

因为红葡萄酒和白葡萄酒的数据量相差很大,所以各选取200个样本。

4.3.2 自变量标准化

4.3.3 建立回归模型



线性回归模型为:quality= 0.0877fixed acidity -0.2186volatile acidity -0.0159citric_acid+ 0.2072residual_sugar-0.0169chlorides+ 0.1060free_sulfur_dioxide -0.1648density-0.1402total_sulfur_dioxide+0.0706pH+0.1143sulphates+ 0.3185*alcohol+5.8184

4.4 预测

有了线性回归模型,当给出了葡萄酒的化学成分的数据就可以预测该葡萄酒的质量评分。

参考文章:https://blog.csdn.net/weixin_42384784/article/details/106179705

Python数据分析实战之葡萄酒质量分析相关推荐

  1. python产品质量分析_Python数据分析实战之葡萄酒质量分析

    1. 明确需求和目的 以葡萄酒类型为标签,分为白葡萄酒和红葡萄酒.比较这两种葡萄酒的差别并选取葡萄酒的化学成分:固定酸度.挥发性酸度.柠檬酸.氯化物.游离二氧化硫.总硫度.密度.PH值.硫酸盐.酒精度 ...

  2. 2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

    2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

  3. python数据分析实战之超市零售分析

    文章目录 1.明确需求和目的 2.数据收集 3.数据预处理 3.1 数据整合 3.1.1 加载相关库和数据集 3.1.2 数据概览 3.2 数据清洗 3.2.1 列名重命名 3.2.2 数据类型处理 ...

  4. Python数据分析实战:上海二手房价分析

    1 数据搜集 使用 urllib 库中的request 模块爬取赶集网发布的上海二手房信息,包括包括户型.面积.单价等,再使用BeautifulSoup 库解析爬取的HTML数据,最终将数据保存到CS ...

  5. Python数据分析实战:降雨量统计分析报告分析

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于菜J学Python ,作者小小明 最近遇到一个有点烧脑的需求,其实也不算烧pytho ...

  6. 视频教程-Python数据分析与案例教程:分析人口普查数据-Python

    Python数据分析与案例教程:分析人口普查数据 多年互联网从业经验: 有丰富的的企业网站.手游.APP开发经验: 曾担任上海益盟软件技术股份有限公司项目经理及产品经理: 参与项目有益盟私募工厂.睿妙 ...

  7. Python数据分析实战学习与分享(一)

    学习的书籍: Python Data Analytics Python数据分析实战(尚未出版电子书) 1.1数据分析 当今世界对信息技术的依赖程度日渐加深,每天都会产生和存储海量的数据.数据的来源多种 ...

  8. Python数据分析实战学习

    Python数据分析实战学习\displaystyle\boxed{Python数据分析实战学习}Python数据分析实战学习​ AprilJulyOctober2015AprilJulyOctobe ...

  9. Python数据分析实战基础 | 初识Pandas

    这是Python数据分析实战基础的第一篇内容,主要是和Pandas来个简单的邂逅.已经熟练掌握Pandas的同学,可以加快手速滑动浏览或者直接略过本文. 01  重要的前言 这段时间和一些做数据分析的 ...

最新文章

  1. mysql8.0_grant改变-You are not allowed to create a user with GRANT
  2. 设置系统的viewController modal动画样式
  3. 敏捷项目计划的多层面
  4. 天大和武大计算机考研,985大学排名出炉,天大和武大并列第10,榜首是哪所?...
  5. ftp协议及vsftpd的基本应用
  6. boost.asio异步并发Tcp服务器
  7. 将含有自定义代码的Infopath模板发布到Sharepoint表单库中
  8. 团队-手机备忘录-需求分析
  9. [转] 为什么用原型,为什么用闭包
  10. python cprofile_Python Profilers 分析器
  11. XenCenter创建虚拟机
  12. vue canvas 连线带箭头
  13. 有效解决 Word打印出来的页码出现乱码
  14. matlab去eog,使用ICA去除32通道脑电数据中的眼电
  15. 《python网络爬虫和信息提取》:全球电影票房排行榜(附更改后的代码)
  16. JAVA NIO:NIO与OIO的对比以及Channel通道、Selector选择器、Buffer缓冲区的介绍 高并发
  17. 有利可图网_您的基于云的应用程序可能是有利可图的产品
  18. Linux上使用ZFS
  19. springboot和springcloud的区别是什么?
  20. 计算机科学与技术没落,这七所985一个A+学科都没有评上?有点尴尬了

热门文章

  1. 国内IT公司病种,需要合理协调,共同进步,才能不被嘈乱的世道所唾弃
  2. 计算机提示找不到系统文件,为何我的电脑一开机就显示Windows找不到文件
  3. C语言项目-精忠报国-第二天-COORD windows.h头文件/conio.h getch()函数/game.c showMap()函数 文字突出/怪物计数与打印/随机攻击力 stblib.h
  4. python: 字符串转浮点数
  5. 元宇宙会成为 IPv6 的拐点吗?
  6. VMware Workstation 全屏的设置方法
  7. 实验二——网络嗅探与欺骗.
  8. 说,有一群 小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在有多少小孩在玩,请用面向对象的思想编写程序解决
  9. 如何精确设计压铸模具的溢流槽和排气槽?| 智铸超云干货分享
  10. 【计算方法】实验二:python实现高斯消去、列主元高斯消去,LU分解分别求解线性方程组