- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
20131910084-陈国静-实验4--Chimerge技术概要1
云南大学数学与与统计学院
上机实践报告
课程名称:数据挖掘 年级:2013 上机实践成绩: 指导教师:彭程 姓名:陈国静 上机实践名称:Chimege技术 学号:20131910084 上机实践日期: 2016/4/18 上机实践编号:No.4 上机实践时间: 15:50
一、实验目的
二、内容1、 最简单的离散算法是: 等宽区间。 从最小值到最大值之间,,均分为N等份, 这样, 如果?A, B为最小最大值, 则每个区间的长度为w=(B-A) / N,?则区间边界值为?A+W, A+2W,?…. A+(N-1)W.
2、 还有一种简单算法,等频区间。区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说?N=10,每个区间应该包含大约10%的实例。
3、 以上两种算法有弊端:比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于
50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。
4、 C4、CART、PVM算法在离散属性时会考虑类信息,但是是在算法实施的过程中间,而不是在预处理阶段。例如,C4算法(ID3决策树系列的一种),将数值属性离散为两个区间,而取这两个区间时,该属性的信息增益是最大的。
5、 评价一个离散算法是否有效很难,因为不知道什么是最高效的分类。
6、 离散化的主要目的是:消除数值属性以及为数值属性定义准确的类别。
7、 高质量的离散化应该是:区间内一致,区间之间区分明显。
8、 ChiMerge算法用卡方统计量来决定相邻区间是否一致或者是否区别明显。如果经过验证,类别属性独立于其中一个区间,则这个区间就要被合并。
9、 ChiMerge算法包括2部分:1、初始化,2、自底向上合并,当满足停止条件的时候,区间合并停止。
第一步:初始化
根据要离散的属性对实例进行排序:每个实例属于一个区间
第二步:合并区间,又包括两步骤
(1)?计算每一对相邻区间的卡方值
(2)?将卡方值最小的一对区间合并
预先设定一个卡方的阈值,在阈值之下的区间都合并,阈值之上的区间保持分区间。
卡方的计算公式:
?
参数说明;
m=2(每次比较的区间数是2个)
k=类别数量
Aij=第i区间第j类的实例的数量
Ri=第i区间的实例数量
Cj=第j类的实例数量
N=总的实例数量
Eij= Aij的期望频率
10、卡方阈值的确定:先选择显著性水平,再由公式得到对应的卡方值。得到卡方值需要指定自由度,自由度比类别数量小1。例如,有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。阈值的意义在于,类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6,这样,大于阈值的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。用户可以不考虑卡方阈值,此时,用户可以考虑这两个参数:最小区间数,最大区间数。用户指定区间数量的上限和下限,最多几个区间,最少几个区间。
11、 ChiMerge算法推荐使用.90、.95、.99置信度,最大区间数取10到15之间.
三、环境
(注意记录实验中遇到的问题)%ChiMerge.m:This Program will achieve the ChiMeige function!
%File Read Part:
%格式化读文件:
[a,b,p,q,class] = textread( Iris.txt,%f,%f,%f,%f,%s );
%Data Processing %处理字符串:
t=size(class);
for i=1:t(1,1)
if strcmp(class(i,1),Iris-setosa)==1
c(i,1)=1;
elseif strcmp(class(i,1),Iris-versicolor)==1
c(i,1)=2;
elseif strcmp(class(i,1),Iris-virginica)==1
c(i,1)=3;
end
end
%具体运行
h1=[a c];
h2=[b c];
h3=[p,c];
h4=[q,c];
disp(Case 1:);
chime(h1);
disp(End!);
disp(Case 2:);
chime(h2);
disp(End!);
disp(Case 3:);
chime(h3);
disp(End!);
disp(Case 4:);
chime(h4
文档评论(0)