R 语言 kmens聚类

浏览: 2167

数据源:在以下链接下载酒类化学成分数据,分为红酒,白酒两种数据文件,红酒和白酒在化学成分上有较明显的差异

http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/


分析过程:

# 1)先将两组数据混合为一组
# 导入数据源
red<-read.csv("~\winequality-red.csv",T) #导入红酒数据
white<-read.csv("~\winequality-white.csv",T) #导入白酒数据
# 增加新字段type,1-红酒,2-白酒
red$type<-1;white$type<-2
# 将两组数据混合为一组
wine<-rbind(red,white)
# 查看合并前后的记录数
nrow(red);nrow(white);nrow(wine)
[1] 1599
[1] 4898
[1] 6497
# 查看wine的前六和后六条记录
head(wine);tail(wine)
> head(wine);tail(wine)
  fixed.acidity volatile.acidity citric.acid residual.sugar chlorides free.sulfur.dioxide total.sulfur.dioxide density   pH
1           7.4             0.70        0.00            1.9     0.076                  11                   34  0.9978 3.51
2           7.8             0.88        0.00            2.6     0.098                  25                   67  0.9968 3.20
3           7.8             0.76        0.04            2.3     0.092                  15                   54  0.9970 3.26
4          11.2             0.28        0.56            1.9     0.075                  17                   60  0.9980 3.16
5           7.4             0.70        0.00            1.9     0.076                  11                   34  0.9978 3.51
6           7.4             0.66        0.00            1.8     0.075                  13                   40  0.9978 3.51
  sulphates alcohol quality type
1      0.56     9.4       5    1
2      0.68     9.8       5    1
3      0.65     9.8       5    1
4      0.58     9.8       6    1
5      0.56     9.4       5    1
6      0.56     9.4       5    1
     fixed.acidity volatile.acidity citric.acid residual.sugar chlorides free.sulfur.dioxide total.sulfur.dioxide density   pH
6492           6.5             0.23        0.38            1.3     0.032                  29                  112 0.99298 3.29
6493           6.2             0.21        0.29            1.6     0.039                  24                   92 0.99114 3.27
6494           6.6             0.32        0.36            8.0     0.047                  57                  168 0.99490 3.15
6495           6.5             0.24        0.19            1.2     0.041                  30                  111 0.99254 2.99
6496           5.5             0.29        0.30            1.1     0.022                  20                  110 0.98869 3.34
6497           6.0             0.21        0.38            0.8     0.020                  22                   98 0.98941 3.26
     sulphates alcohol quality type
6492      0.54     9.7       5    2
6493      0.50    11.2       6    2
6494      0.46     9.6       5    2
6495      0.46     9.4       6    2
6496      0.38    12.8       7    2
6497      0.32    11.8       6    2
# 2)对混合后的数据,根据化学成分(注意可能只需要部分指标)进行聚类,重新划分出红酒,白酒
# 经过初步探索后发现,quality对酒的分类影响不大,接下来的聚类不考虑该指标
(c1<-kmeans(wine[,1:11],2))
#画出查看整体分类效果
plot(wine$alcohol~wine$free.sulfur.dioxide,col=c1$cluster)
points(cl$centers, col = 1:2, pch = 8, cex = 2)

# 3)把聚类结果和原有的分情况对照,看一下聚类的效果如何

table(wine[,13],c1$cluster)

     1    2
  1 1514   85
  2 1294 3604
# 聚类效果并不好,其中有85个实际是红酒的样本误分为白酒,有1294个白酒误分为红酒。

# 查看整体准确率
sum(diag(table(wine[,13],c1$cluster)))/nrow(wine)
[1] 0.7877482

聚类后的结果准确率是0.7877482.

推荐 0
本文由 谢佳标 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册