R语言第二练 葡萄酒质量评价数据

1,从看各种不同的R语言教材,到做完这个项目,大概在20个小时以内,应该符合之前的要求

2,开始的时候思维还在jupyter notebook做机器学习的模式了,不过就像是学习游泳,也不是说学了自由泳,就不会学蛙泳了,只是某种练习,坚持和习惯

3,Rstudio还是狠强大,R当然也狠强大,各种神包,各种图形,各种统计参数,excel与tableau也可以做直方图和散点图或者其他图,不过跟R的操作不类似,R还是用编程的方法来实现画图的。

4,学习画图,真的还要有点画画的思维,比如图层,第一层画什么,第二层画什么,是有套路和步骤的

下面直接用markdown tools生成的html黏贴过来的:

Univariate Plots Section

## [1] 4898   13
## 'data.frame':    4898 obs. of  13 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fixed.acidity       : num  7 6.3 8.1 7.2 7.2 8.1 6.2 7 6.3 8.1 ...
##  $ volatile.acidity    : num  0.27 0.3 0.28 0.23 0.23 0.28 0.32 0.27 0.3 0.22 ...
##  $ citric.acid         : num  0.36 0.34 0.4 0.32 0.32 0.4 0.16 0.36 0.34 0.43 ...
##  $ residual.sugar      : num  20.7 1.6 6.9 8.5 8.5 6.9 7 20.7 1.6 1.5 ...
##  $ chlorides           : num  0.045 0.049 0.05 0.058 0.058 0.05 0.045 0.045 0.049 0.044 ...
##  $ free.sulfur.dioxide : num  45 14 30 47 47 30 30 45 14 28 ...
##  $ total.sulfur.dioxide: num  170 132 97 186 186 97 136 170 132 129 ...
##  $ density             : num  1.001 0.994 0.995 0.996 0.996 ...
##  $ pH                  : num  3 3.3 3.26 3.19 3.19 3.26 3.18 3 3.3 3.22 ...
##  $ sulphates           : num  0.45 0.49 0.44 0.4 0.4 0.44 0.47 0.45 0.49 0.45 ...
##  $ alcohol             : num  8.8 9.5 10.1 9.9 9.9 10.1 9.6 8.8 9.5 11 ...
##  $ quality             : int  6 6 6 6 6 6 6 6 6 6 ...
##  [1] "X"                    "fixed.acidity"        "volatile.acidity"    
##  [4] "citric.acid"          "residual.sugar"       "chlorides"           
##  [7] "free.sulfur.dioxide"  "total.sulfur.dioxide" "density"             
## [10] "pH"                   "sulphates"            "alcohol"             
## [13] "quality"
##        X        fixed.acidity    volatile.acidity  citric.acid    
##  Min.   :   1   Min.   : 3.800   Min.   :0.0800   Min.   :0.0000  
##  1st Qu.:1225   1st Qu.: 6.300   1st Qu.:0.2100   1st Qu.:0.2700  
##  Median :2450   Median : 6.800   Median :0.2600   Median :0.3200  
##  Mean   :2450   Mean   : 6.855   Mean   :0.2782   Mean   :0.3342  
##  3rd Qu.:3674   3rd Qu.: 7.300   3rd Qu.:0.3200   3rd Qu.:0.3900  
##  Max.   :4898   Max.   :14.200   Max.   :1.1000   Max.   :1.6600  
##  residual.sugar     chlorides       free.sulfur.dioxide
##  Min.   : 0.600   Min.   :0.00900   Min.   :  2.00     
##  1st Qu.: 1.700   1st Qu.:0.03600   1st Qu.: 23.00     
##  Median : 5.200   Median :0.04300   Median : 34.00     
##  Mean   : 6.391   Mean   :0.04577   Mean   : 35.31     
##  3rd Qu.: 9.900   3rd Qu.:0.05000   3rd Qu.: 46.00     
##  Max.   :65.800   Max.   :0.34600   Max.   :289.00     
##  total.sulfur.dioxide    density             pH          sulphates     
##  Min.   :  9.0        Min.   :0.9871   Min.   :2.720   Min.   :0.2200  
##  1st Qu.:108.0        1st Qu.:0.9917   1st Qu.:3.090   1st Qu.:0.4100  
##  Median :134.0        Median :0.9937   Median :3.180   Median :0.4700  
##  Mean   :138.4        Mean   :0.9940   Mean   :3.188   Mean   :0.4898  
##  3rd Qu.:167.0        3rd Qu.:0.9961   3rd Qu.:3.280   3rd Qu.:0.5500  
##  Max.   :440.0        Max.   :1.0390   Max.   :3.820   Max.   :1.0800  
##     alcohol         quality     
##  Min.   : 8.00   Min.   :3.000  
##  1st Qu.: 9.50   1st Qu.:5.000  
##  Median :10.40   Median :6.000  
##  Mean   :10.51   Mean   :5.878  
##  3rd Qu.:11.40   3rd Qu.:6.000  
##  Max.   :14.20   Max.   :9.000

上述信息包含查看数据集的维度,结构,特征项和基本描述性统计部分。

从quality的直方图可以看出来,数据分布集中在4,5,6三个值的范围内,整体分布状态还算是类似正态分布的形状。

从density的直方图看到和对应分数为,可以数据非异常值分布应该在0.9851~1.0027范围内,整体分布比较偏左,有一定的异常值在左边。

查看pH值的直方图,上图可知pH的分布还算是比较均匀

查看sulphates的直方图,上图可知数据分布有点偏左倾斜

查看alcohol的直方图,上图可知数据分布有点偏左倾斜

查看citric.acid的直方图,并使用sqrt函数进行相关处理,是数据分布比较均匀

查看free.sulfur.dioxide的直方图,上图可知数据分布左偏的厉害

查看total.sulfur.dioxide的直方图,上图可知其数据分布左偏

查看密度的直方图,上图可知其数据分布左偏

Univariate Analysis

What is the structure of your dataset?

此数据集有4898行数据,有13列,第一列为序号,其他为特征和标签项

What is/are the main feature(s) of interest in your dataset?

除了最后一个特征“质量分”之外,目前没有发现其他感兴趣的特征。

What other features in the dataset do you think will help support your investigation into your feature(s) of interest?

初步观察,觉得citric.acid,residual.sugar,pH还有density可能会对质量有相关影响。

Did you create any new variables from existing variables in the dataset?

没有创建,保留原变量组成。

Of the features you investigated, were there any unusual distributions? Did you perform any operations on the data to tidy, adjust, or change the form of the data? If so, why did you do this?

变量之间的分布是有非正态分布的情况,故对所有变量进行对数处理。把数据集进行了一下处理,生成log_wwdata,主要是对原特征进行缩放

Bivariate Plots Section 双变量分析

上图主要是查看密度density与一些糖,酸,醇变量之间的相关性。这里比较明显看出residual.sugar,fixed.acidity与密度有正相关性,醇含量与密度有负相关性。

上面是使用ggpairs函数生成原始数据生成散点矩阵图,主要是可以查看到数据集中两个变量之间的数据基本分布和相关系数情况。

上图是使用car包的函数,更加灵活的查看density变量与另外7个变量fixed.acidity,volatile.acidity,citric.acid,residual.sugar,chlorides,free.sulfur.dioxide,total.sulfur.dioxide之间的相关性。因为之前相关特征的分布不是太理想,所以这个使用了log函数和平方根的函数sqrt()对相关数值进行了处理。通过最左列的图像观察可知density与另外7个变量之间的关系,正相关性关系较多,绿色线的斜率一般都为正。

上图同样是使用car包函数生成散点矩阵,主要是观察quality与alcohol,sulphates,pH;另外还有quality与density之间的相关性。

在上面直方图中,颜色的面积反映了quality在每个分值段的分布情况,面积越大,包含的数据越多,x轴反应的是sulphates的范围, 在上面的箱线图中,当quality大于6后,随着sulphates中位值降低,quality升高

在上面直方图中,颜色的面积反映了quality在每个分值段的分布情况,面积越大,包含的数据越多,x轴反应的是alcohol的范围, 在上面的箱线图中,当quality大于5后,随着alcohol中位值升高,quality升高。

在上面直方图中,颜色的面积反映了quality在每个分值段的分布情况,面积越大,包含的数据越多,x轴反应的是PH值的范围, 在上面的箱线图中,当quality大于4后,随着pH中位值升高,quality升高。

Bivariate Analysis

Talk about some of the relationships you observed in this part of the investigation. How did the feature(s) of interest vary with other features in the dataset?

在上面的散点矩阵里面也生成了各变量的相关系数,所以能直接观察到两个变量之间的正相关和负相关,比如density和residual.sugar的相关系数为0.757,说明两者之间的正相关性已经比较强了。

Did you observe any interesting relationships between the other features (not the main feature(s) of interest)?

hP,sulphates和alcohol跟quality之间是有正相关性的,而其他变量与quality之间是负相关

What was the strongest relationship you found?

如上所示,density和residual.sugar的相关系数为0.757,说明两者之间的正相关性已经比较强了。

Multivariate Plots Section 多变量分析这块

##                      fixed.acidity volatile.acidity citric.acid
## fixed.acidity           1.00000000      -0.03114357         NaN
## volatile.acidity       -0.03114357       1.00000000         NaN
## citric.acid                    NaN              NaN           1
## residual.sugar          0.08471285       0.11897244         NaN
## chlorides               0.06738070       0.03394001         NaN
## free.sulfur.dioxide    -0.04534913      -0.09596783         NaN
## total.sulfur.dioxide    0.08633214       0.09669470         NaN
## density                 0.27695036       0.02814890         NaN
## pH                     -0.43611512      -0.05020518         NaN
## sulphates              -0.01701219      -0.03833866         NaN
## alcohol                -0.12617981       0.05475668         NaN
## quality                -0.11221029      -0.21018356         NaN
##                      residual.sugar   chlorides free.sulfur.dioxide
## fixed.acidity            0.08471285  0.06738070         -0.04534913
## volatile.acidity         0.11897244  0.03394001         -0.09596783
## citric.acid                     NaN         NaN                 NaN
## residual.sugar           1.00000000  0.14819834          0.32299811
## chlorides                0.14819834  1.00000000          0.13682098
## free.sulfur.dioxide      0.32299811  0.13682098          1.00000000
## total.sulfur.dioxide     0.40842080  0.30083133          0.62798896
## density                  0.75676004  0.39537069          0.28317156
## pH                      -0.17575023 -0.06969957          0.02373010
## sulphates               -0.02244093  0.06825845          0.06915375
## alcohol                 -0.40609475 -0.50189947         -0.22919203
## quality                 -0.05665644 -0.26441455          0.11116499
##                      total.sulfur.dioxide     density          pH
## fixed.acidity                  0.08633214  0.27695036 -0.43611512
## volatile.acidity               0.09669470  0.02814890 -0.05020518
## citric.acid                           NaN         NaN         NaN
## residual.sugar                 0.40842080  0.75676004 -0.17575023
## chlorides                      0.30083133  0.39537069 -0.06969957
## free.sulfur.dioxide            0.62798896  0.28317156  0.02373010
## total.sulfur.dioxide           1.00000000  0.50551405  0.01846629
## density                        0.50551405  1.00000000 -0.09520125
## pH                             0.01846629 -0.09520125  1.00000000
## sulphates                      0.15519411  0.09696693  0.16147576
## alcohol                       -0.42908920 -0.78678385  0.13014857
## quality                       -0.11296991 -0.29583121  0.09473261
##                        sulphates     alcohol     quality
## fixed.acidity        -0.01701219 -0.12617981 -0.11221029
## volatile.acidity     -0.03833866  0.05475668 -0.21018356
## citric.acid                  NaN         NaN         NaN
## residual.sugar       -0.02244093 -0.40609475 -0.05665644
## chlorides             0.06825845 -0.50189947 -0.26441455
## free.sulfur.dioxide   0.06915375 -0.22919203  0.11116499
## total.sulfur.dioxide  0.15519411 -0.42908920 -0.11296991
## density               0.09696693 -0.78678385 -0.29583121
## pH                    0.16147576  0.13014857  0.09473261
## sulphates             1.00000000 -0.04591730  0.04055549
## alcohol              -0.04591730  1.00000000  0.41628620
## quality               0.04055549  0.41628620  1.00000000

上面是使用cor函数在12个变量之间生成相关系数二维表,便于进一步观察变量与变量之间的关系。

上图中点的分布代表x轴变量和y轴变量之间的相关性,点的大小和颜色深浅,还有直线代表是quality变量与x,y轴变量之间的关系; 显然x,y轴变量之间是负相关,也就是说密度和醇的值之间是负相关。

上图中点的分布代表x轴变量和y轴变量之间的相关性,点的大小和颜色深浅,还有直线代表是quality变量与x,y轴变量之间的关系; 显然x,y轴变量之间是正相关,也就是说PH值和硫酸盐之间有一定的正相关性。

Multivariate Analysis

Talk about some of the relationships you observed in this part of the investigation. Were there features that strengthened each other in terms of looking at your feature(s) of interest?

根据相关系数表,我们可以看出两个比较重要的变量,一个是quality,一个是density,本身这两者之间是负相关的,也就是density的变化会带来quality的反向变化。

Were there any interesting or surprising interactions between features?

更进一步讲,quality跟sulphates,pH和alcohol呈现正相关关系,跟其他变量呈现反相关关系

而density则跟quality,pH,alcohol呈反向相关,跟其他剩余其他变量呈正向相关关系。

OPTIONAL: Did you create any models with your dataset? Discuss the strengths and limitations of your model.

not really

Final Plots and Summary

Plot One

Description One

上图主要是查看密度density与一些糖,酸,醇变量之间的相关性。residual.sugar,fixed.acidity会造成葡萄酒密度的增加,醇含量会造成葡萄酒密度的较少。葡萄酒的密度跟水的密度类似(如果水的密度是1g/ml的话)。

Plot Two

Description Two

此矩阵添加了名称,smoother.args=list(lty=2)设定平滑(loess)拟合曲线使用虚线而不是实线,spread = FALSE选项表示不添加展示分散度和对称信息的直线。增加了对醇和硫酸盐的对数处理,使其数据分布更加均匀一些。可以看出硫酸盐在 葡萄酒质量从低到高的变化中,其值相对稳定,变化比较微弱。想比较而言,醇和pH在质量分数变化中,还有比较明显的变动。

Plot Three

 

 

Description Three

上述为组合图,描述了与quality正相关的变量的数据分布信息,包括红色的异常值,蓝色的非异常值,在不同quality分值段内的分布情况。硫酸盐中位数在质量的因子值上升过程中,先升再降,波动范围不大;醇和pH值则在质量上升过程中,线降后升,相对波动较大。说明醇与pH值对于葡萄酒的影响较为敏感。


Reflection

对于葡萄酒的数据,有12个特征,但是其实这里想知道quality跟其他特征之间的关系,总结以上分析,得出如下结论:

三个跟quality正相关的因素如下,

sulphates(硫酸盐)的存在,一定范围内,对葡萄酒的质量是有益的,查看网上资料可知,硫酸盐可以防止葡萄酒氧化,保持其保持新鲜的口感,并且,亚硫酸盐还充当着提取色素、保持葡萄酒风味的角色。参考来源:http://mt.sohu.com/20170119/n479126494.shtml

alcohol上文中一直用醇来表示,应该是酒精度数的数据,看来质量比较上乘的葡萄酒,酒精度也是相对较高的。对应的葡萄酒的密度酒下降了。

pH值,本身就是对葡萄酒酸碱度的度量,酸碱度其实对葡萄酒色泽,酸味,微生物,下胶效果都有关联。从car包的散点图矩阵,我们可以看到,quality打9分的葡萄酒,pH值的范围就是在3.2~3.4范围内。参考来源:https://www.douban.com/note/160250979/

其实上面我们也可以进一步来分析一下,糖分,酸,硫化物等与pH或者是醇的关系。

此项目有如下反思:

首先:对于R语言的学习,特别是EDA这块,要了解R语言可视化的重要性,即在什么情况下需要使用什么样的图形来展现,当然进一步适应R语言编程比较独特的风格; 其次:分析数据,需要对数据所处的业务背景,流程有一定的了解,防止出现数字说谎的情况发生; 再次:使用markdown的文件格式,熟练掌握规范化文档对于R语言分析会有不同角度的帮助。 最后:分析到现在,其实应该选择几个相关模型,来建立其他特征与质量之间的数学关系,当然,在这一过程中,最好也分析一下异常数据的影响,比如plot三中我们可以看到在相关特征项里,还有一定的异常值的出现,然后通过一定的模型评价手段,我们可以在几个模型中选择一个效果较优的模型,来生成一个预测器,来对某些新数据进行葡萄酒质量的判断。

posted @ 2017-06-05 17:17  mining_bw  阅读(2329)  评论(0编辑  收藏  举报