通过K-mean方法实现wine数据集聚类

一、题目

利用K-mean聚类方法,完成wine数据集聚类

二、实现思路

读取数据集——标准化数据集——定义分类数量——执行K-mean分类——分类可视化

三、代码实现

%读取数据集
date=readtable('winequality-red.csv');

%将数据转换为double型
date_part1=table2array(date(:,1:end));

%标准化数据
[date_part, mu, sigma] = zscore(date_part1);

%定义类别数量
numclusters=3;
%执行聚类
[idx,C]=kmeans(date_part,numclusters);

%可视化
figure;
gscatter(date_part(:,1),date_part(:,2), idx);
hold on;
plot(C(:,1), C(:,2), 'ko', 'MarkerSize', 10);
legend('Cluster 1', 'Cluster 2', 'Cluster 3', 'Centroids');
title('K-means Clustering of Wine Data');

四、运行结果

数据仓库与数据挖掘》课程论文 基于Wine数据集数据分析报告 专业:计算机科学与技术 二〇一五年五月二十五日 基于wine数据集数据分析报告 摘 要:数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性的信息的 过程。在大数据时代,如何从海量数据中挖掘有用信息成为了信息产业的热门话题。作 为数据挖掘课程内容的回顾与应用,本文对wine数据集进行了数据探索性分析,并将数 据挖掘的决策树、支持向量机、聚类等常用方法应用于具体的数据挖掘任务,并取得了 较好的效果。 关 键 词:wine数据集、决策树、支持向量机、聚类 引言 数据挖掘(Data mining),又译为资料探勘、数据挖掘、数据采矿。数据挖掘一般是指从大量的数据中 自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处 理、情报检索、机器学习、专家系统和模式识别等诸多方法实现上述目标。在大数据 时代,如何从海量数据中挖掘有用信息成为了信息产业的热门话题。本文作为数据挖掘 课程内容的回顾与应用,将数据挖掘的理论与方法运用于具体的数据挖掘任务中,并取 得较好的效果。 本次实验选择的数据集wine数据集。本文首先对其进行了数据探索性分析,包括: 数据概括、变量分布、离群点、缺失值、相关性等,并运用了适当的图形进行描述,然 后在探索性分析的基础上,采用了决策树、支持向量机、聚类方法进行了分预测, 并比较了不同方法的分效果。 数据探索性分析 1 数据概况 本次实验选用的数据集UCIWine Quality数据集中white wine的4898条数据,每条数据有12种属性,分别为:fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free sulfur dioxide, total sulfur dioxide, density, pH, sulphates, alcohol, quality. 其中,quality为输出,以0到10之间的数字来表示酒的品质。 实验使用RStudio软件将数据集读入,并使用summary命令概括数据集概况。如图一所 示,summary概括了数据集中各个变量的平均值、中位数、最大值、最小值等信息。 图1 数据概括 2 变量分布 使用hist()绘制各变量的直方图。如图二所示,直方图直观的展示了变量的分布情况 。 图2 变量直方图 直方图只能对变量进行直观的描述,而变量是否满足正态分布则需要正态性验证。使 用shapiro test对各变量进行正态验证,通过查看结果中的p- value值就可以得到变量是否符合正态分布。如果p- value值大于0.05即符合正态分布,而对所有变量进行shapiro test得到p- value均不大于0.05,所以wine数据集各特征均不是正态分布。 3 离群点分析 箱形图(Box- plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计 图。主要包含六个数据节点,将一组数据从大到小排列,分别计算出他的上边缘,上四 分位数Q3,中位数,下四分位数Q1,下边缘,还有一个异常值。箱形图的异常值就可以 可视化的展示数据集中的离群点。图3展示了各变量的离群点分布情况,可以看出离群点 较多,可能对预测产生影响。 图3 变量箱形图 4 缺失值分析 Wine数据集不含有缺失值。 5 相关性分析 数据集中各变量间的相关性关系可由cor()函数计算出的协方差矩阵来表示,如表4所 示。 表1 协方差矩阵表 "ROW "1 "2 " " "正确率 "MAE "正确率 "MAE " "决策树 "0.83 "0.2 "0.57 "0.51 " "支持向量 "0.61 "0.44 "0.57 "0.48 " "机 " " " " " 通过表二可以看出,两种模型的分精度都比较低。再回顾数据探索性分析中关于离 群点部分的内容可知,数据集中含有大量离群点。而决策树与支持向量机属于对离群点 非常敏感的模型,这可能就是分精度较低的原因。所以需要选用一种能够克服离群点 影响的模型来对wine数据集进行预测,因此我们选用了class包中的1- 近邻模型来进行分预测,结果如表3所示,可以看出分效果有提高。 表3 直接分预测结果 "模型 "训练集 "测试集 " " "正确率 "MAE "正确率 "MAE " "决策树 "0.83 "0.2 "0.57 "0.51 " "支持向量 "0.61 "0.44 "0.57 "0.48 " "机 " " " " " "1-近邻 "  "  "0.61 "0.45
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值