- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用MATLAB实现数据挖掘的一种算法
一、数据挖掘的目的
数据挖掘(Data Mining)阶段首先要确定挖掘的任务或目的。数据挖掘的目的就是得出隐藏在数据中的有价值的信息“CardiologyCategorical”的excel文件中的“源数据”。该数据表共303行,14个属性。即共有303个样本。将该数据表的前200行设为训练样本,剩下后的103行作为测试样本,用基于粗糙集理论的属性约简的方法生成相应的规则,再利用测试样本对这些规则进行测试。
首先对源数据进行预处理,主要包括字符型数据的转化和数据的归一化。
数据预处理的第一步是整理源数据,为了便于matlab读取数据,把非数字数据转换为离散型数字数据。生成lisanhua.xsl文件。这一部分直接在excel工作表中直接进行。
步骤如下:
将属性“sex”中的“Male”用“1”表示,“Female”用“2”表示;
将属性“chest pain type”中的“Asymptomatic”用“1”表示,“Abnormal Angina”用“2”表示,“Angina”用“3”表示,“NoTang”用“4”表示;
将属性“Fasting blood suga120”与属性“angina”中的“FALSE”用“1”表示,“TRUE”用“2”表示;
将属性“resting ecg”中的“Hyp” 用“1” 表示,“Normal”用“2”表示,“Abnormal”用“3”表示;
将属性“slope”中的“Down”用“1”表示,“Flat”用“2”表示,“Up”用“3”表示,;
将属性“thal”中的“Rev”用“1”表示,“Normal”用“2”表示,“Fix”用“3”表示;
将属性“class”中的“Healthy”用“1”表示,“Sick”用“2”表示;
数据预处理的第二步:使用
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.5]=1,[1.5,2.5]=2,[2.5,6.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
dm3(i)=dm2(i)+w;
if rem(i,303)==0
k=k+1;
w=w+m1(k);
end
end
从而得到dm(3)矩阵。而且决策属性分为1:healthy;2:sick。
并且在38个条件属性中没有值为0。
四、挖掘算法
1、特殊样本
首先在前200条样本中分别找出三条对应两种决策属性的重要样本,样本必须满足在同类决策属性下其他199条的13条决策属性中和它的13条条件属性数目大于等于10的前3条样本。
2、特殊条件属性值
其次分别对应两条决策属性值的5条重要条件属性值(在38个条件属性里找),特殊属性值必须满足:(1)在对应相同决策属性下,此决策属性支持率必须在前五,(2)而且如果不同决策属性出现相同条件属性。如果相同决策属性同时出现在不同决策属性中,删除这条后找支持率第六的条件属性,以此类推。
挖掘算法在MATLAB里列出并做了标注。
五、验证程序
1、预处理
在验证程序里面分别对测试数据和六条样本做了对比,又对其属性值和特殊属性值做了对比,最后利用加权求和算法判断测试样本的决策属性正确率。
其中:nc,mc代表测试数据分别和两类样本属性中相同数是否大于等于9时的加权值。ncc,mcc代表测试数据分别和两类特殊属性满足几条数目的加权值。
2、关联规则
(1)、如果(nc=0.9ncc=8)|(ncc=10nc=0.6) 得到决策属性healthy
(2)、不满足以上条件的话 如果(mc=0.9|mcc=8)|(mcc=9mc=0.6) 得到决策属性sick。
(3)、不满足以上条件的话 如果nc=(mc+0.3)|ncc=(mcc+2) 得到决策属性healthy。
(4)、不满足以上条件的话 如果mcnc 得到决策属性为sick。
(5)、不满足以上条件的话 如果nccmcc 得到决策属性为healthy。
(6)、不满
文档评论(0)