1 / 16
文档名称:

用matlab实现数据挖掘的一种算法.docx

格式:docx   大小:31KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用matlab实现数据挖掘的一种算法.docx

上传人:buxiangzhid56 2018/10/26 文件大小:31 KB

下载得到文件列表

用matlab实现数据挖掘的一种算法.docx

文档介绍

文档介绍:一、数据挖掘的目的
数据挖掘 (Data Mining) 阶段首先要确定挖掘的任务或目的。数据挖掘的目
的就是得出隐藏在数据中的有价值的信息。 数据挖掘是一门涉及面很广的交叉学
科,包括器学****数理统计、神经网络、数据库、模式识别、粗糙集、模糊数学
等相关技术。它也常被称为“知识发现” 。知识发现 (KDD) 被认为是从数据中发
现有用知识的整个过程。数据挖掘被认为是 KDD 过程中的一个特定步骤,它用
专门算法从数据中抽取模式 (patter,如数据分类、聚类、关联规则发现或序列模
式发现等。数据挖掘主要步骤是:数据准备、数据挖掘、结果的解释评估。
二、数据挖掘算法说明
确定了挖掘任务后, 就要决定使用什么样的挖掘算法。 由于条件属性在各样
本的分布特性和所反映的主观特性的不同 , 每一个样本对应于真实情况的局部
映射。建立了粗糙集理论中样本知识与信息之间的对应表示关系 , 给出了由属性
约简求约简决策表的方法。 基于后离散化策略处理连续属性 , 实现离散效率和信
息损失之间的动态折衷。 提出相对值条件互信息的概念衡量单一样本中各条件属
性的相关性 , 可以充分利用现有数据处理不完备信息系统。
本次数据挖掘的方法是两种, 一是找到若干条特殊样本, 而是找出若干条特
殊条件属性。最后利用这些样本和属性找出关联规则。 (第四部分详细讲解样本
和属性的选择)
三 数据预处理过程
数据预处理一般包括消除噪声、 推导计算缺值数据、 消除重复记录、 完成数
据类型转换 ( 如把连续值数据转换为离散型数据,以便于符号归纳,或是把离散
型数据转换为连续 )。
本文使用的数据来源是名为 “CardiologyCategorical”的 excel文件中的“源数
据”。该数据表共 303行,14个属性。即共有 303个样本。将该数据表的前 200行设
为训练样本,剩下后的 103行作为测试样本,用基于粗糙集理论的属性约简的方
法生成相应的规则,再利用测试样本对这些规则进行测试。
首先对源数据进行预处理,主要包括字符型数据的转化和数据的归一化。
数据预处理的第一步是整理源数据,为了便于 matlab 读取数据,把非数字
数据转换为离散型数字数据。 生成  文件。这一部分直接在 excel 工作
表中直接进行。
步骤如下:
” 1 2” ”
将属性 “sex中的 “Male用 “”表示, “Female用 “”表示;
中 1”
将属性 “chestpain type ” 的 “Asymptomatic用“”表示, “AbnormalAngina”
” 3 4用2
用 “”表示, “Angina用 “”表示, “NoTang” “”表示;
” 1
将属性 “Fastingblood suga<120”与属性 “angina中的 “FALSE”用 “”表示,
用  2
“ TRUE” “”表示;
” 1 2 表 用
将属性 “resting ecg中的 “Hyp”用 “”示,“Normal”“”表示,“Abnormal”
3
用 “”表示;
的 1 2 用  3
的 1 2 3用 用 ”
的 2” ”
将属性 “slope中” “Down”用“”表示, “Flat用”“”表示, “Up” “”表示 ,;
将属性 “thal中” “Rev” “”表示, “Normal” “”表示, “Fix 用“”表示;
将属性 “class中” “Healthy用”“1表示, “Sick用“”表示;
数据预处理的第二步:使用
dm=xlsread('lisanhua');
’ ’
导入 lisanhua .xls 文件,在 MATLAB 中对一些连续属性值离散化。
如下:
1、[29,48]=1,[48,62]=2 ,[62,77]=3
4、[94,110]=1,[110,143]=2,[143,200]=3
5、[126,205]=1, [205,293]=2, [293,564]=3
8、[71,120]=1,[120,175]=2 ,[175,202]=3
10、 [0,]=1, [,]=2,[,]=3 。
然后对数据进行归一化处理:
由于不同属性之间的属性值相同,所以利用下面语句对一共 13 个条件属性中的
38 个属性进行如下赋值,使每条属性唯一确定。从而得到 38 个条件属性,只不
过 38 个里面有且只能出现 13 个。
程序如下:
m1=[0,3,2,4,3,3,2,3,3,2,3,3,4,3];k=1;w=m1(k);dm3=dm2;
for i=1:3939