基于自选分类算法的皮肤病分析.docx

上传人:b****5 文档编号:6491422 上传时间:2023-01-07 格式:DOCX 页数:24 大小:153.55KB
下载 相关 举报
基于自选分类算法的皮肤病分析.docx_第1页
第1页 / 共24页
基于自选分类算法的皮肤病分析.docx_第2页
第2页 / 共24页
基于自选分类算法的皮肤病分析.docx_第3页
第3页 / 共24页
基于自选分类算法的皮肤病分析.docx_第4页
第4页 / 共24页
基于自选分类算法的皮肤病分析.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于自选分类算法的皮肤病分析.docx

《基于自选分类算法的皮肤病分析.docx》由会员分享,可在线阅读,更多相关《基于自选分类算法的皮肤病分析.docx(24页珍藏版)》请在冰豆网上搜索。

基于自选分类算法的皮肤病分析.docx

基于自选分类算法的皮肤病分析

课程设计任务书

课程

数据挖掘课程设计

题目

基于自选分类算法的皮肤病分析

序号

8

皮肤病分析判断数据(Dermatology)共有33个属性,1个类别属性,要求根据给定的数据将数据进行分析,利用自选分类算法对训练数据建立模型,以测试数据评估分类准确性,判断皮肤病的类型情况,利用给定的数据挖掘算法进行数据分析,要求满足以下分析需求。

1.实现相关的分类方法

2.实现对记录中各属性的分析过程;

3.获取计算结果,得出相应的分类精度;

4.利用(10-fold)对数据进行分析,获取平均计算精度与误差率;

基本要求

1.按需求完成详细的设计;

2.按设计方案对数据进行分析;

3.有详细的数据准备方案;

4.完成相应的算法实现;

5.能进行简单数据结果的应用分析。

高级要求

可获取较多的数据信息、能设计开发一个通用性平台,并针对应用结果进行分析。

提前两周:

分组、选题;

第11周:

明确需求分析、组内分工;

第12周一:

与指导老师讨论,确定需求、分工,并开始设计;

第12周二~第13周四:

代码编写、算法设计、数据分析;

第13周五:

完成设计说明书,答辩;

第14周一:

针对答辩意见修改设计说明书,打印、上交。

指导教师签字陈治平栾悉道胡赛

2011年5月10日

教研室审定意见

同意实施

签字

年月日

目 录

第一章系统需求1

1.1开发背景1

1.2贝叶斯算法现状1

1.3功能需求1

1.4论文结构1

第二章数据库分析3

第三章数据准备4

第四章贝叶斯分类算法6

4.1贝叶斯分类算法6

4.1.1文件导出6

4.1.2算法实现7

4.210-FOLD交叉检验算法12

4.2.1文件拆分12

4.2.2算法实现13

第五章预测结果分析16

5.1贝叶斯算法结果分析16

5.210-FOLD交叉算法结果分析18

结论19

参考文献20

结束语21

第一章系统需求

1.1开发背景

现在的社会每分每秒都在快速发展,都在产生着大量的数据资料,而在这些数据中肯定就存在着一些对我们日常生活以及工作有用的信息或知识,但我们无法将这些有用的信息找出,因为数据资料是无限庞大的,而有用的信息可能仅仅是其中的百分之几。

要找出有用的知识工作量就及其的庞大,所以就需要一门新的技术来为社会和人类的生活以及工作惊醒服务,这就产生了数据挖掘技术。

数据挖掘技术就是应运兴起的一个新的研究领域。

它涉及多学科技术的集成,包括数据库和数据仓库技术、统计学、机器学习、人工智能等,目标是从大量的数据资料中发现隐藏的有价值的信息与知识,以便为科学决策提供支持。

1.2贝叶斯算法现状

贝叶斯分类算法是统计学分类方法,它是一类利用概率统计知识进行分类的算法。

在许多场合,朴素贝叶斯(NaïveBayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、分类准确率高、速度快。

由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。

我们选择利用贝叶斯算法来为我们的训练数据进行分类,利用概率来求出整个训练集中数据的准确率以及误差率。

该算法可以迅速的测试出所有数据中的有效数据,即准确率,节省了人工去找出有效数据的过程,大大的提高了工作人员的工作效率。

1.3功能需求

本次系统在开发过程中,需要实现的功能:

从文件中读出数据、设置训练集和测试集、贝叶斯算法进行具体分析并得出分析结果。

在开发过程中,为了更精确的得出结果,我们将数据进行了不同的读取。

10-FOLD交叉检验与上面唯一的不同就是,首先需要将数据进行十等份拆分,然后设置训练集和测试集,再利用贝叶斯分类算法进行数据分析,得出结果。

1.4论文结构

本文一共包括五章内容。

第一章系统需求总体上介绍了本系统的开发背景,贝叶斯算法现状以及本系统的功能需求。

第二章数据库分析介绍了本系统所使用数据库数据的一些现状,以及过去的一部分使用情况,版权问题。

第三章数据准备介绍了数据库数据,列出了一部分数据,并依照这些数据详细介绍了每一个数据所代表的属性以及意义。

第四章贝叶斯分类算法介绍了贝叶斯算法的具体实现过程,以及10-FOLD交叉检验大的具体实现代码。

第五章预测结果分析,是根据算法得出结果进行分析,得到结论。

 

第二章数据库分析

此次要利用贝叶斯分类算法进行数据分析的数据库名为:

皮肤病数据库。

皮肤病数据库过去的使用情况:

克Demiroz,阁下答Govenir,和N.Ilter,“学习鉴别诊断的Eryhemato鳞状疾病,投票功能间歇“,在医学上Aritificial情报,其目的是确定Eryhemato鳞状疾病的类型。

关于皮肤病数据库的相关资料:

该数据库包含34个属性,其中33个是线性重视,其中一个是有名无实。

该erythemato鳞状疾病鉴别诊断是一个真正的在皮肤科的问题。

他们有共同的临床特征红斑和脱屑,用很少的差异。

该疾病这一类的牛皮癣,seboreic皮炎,扁平苔癣,玫瑰糠疹,克罗尼克皮炎,糠疹杨梅pilaris。

通常一个活检是必要的诊断,但不幸的是这些疾病有许多共同的病理特点很好。

鉴别诊断的另一个困难是,一疾病可能会显示在开始另一种疾病的特点阶段,可能在以下几个阶段的特征。

第一次评估患者临床上12个特征。

后来,皮肤样本的22评价病理组织学特征。

该组织病理学特征值是由在显微镜下一个样品的分析。

在这个领域,家族病史特征数据集的构建具有值1,如果对这些疾病的任何已在观察家庭,否则为0。

功能简单的年龄代表了时代的病人。

所有其它功能(临床病理)的给予在0到3度。

在这里,0表示特点是不存在,3表示的数额最大的可能,1,2表示的相对中间值。

数据库实例数为:

366条,属性数为:

35,其中一个为类别属性。

数据库类分布为:

皮肤科

代号

类别

实例数

1

牛皮癣(银屑病)

112

2

seboreic皮炎

61

3

扁平苔藓

72

4

玫瑰糠疹(玫瑰糠疹)

49

5

克罗尼克皮炎

52

6

糠疹杨梅pilaris(毛发红糠疹)

20

 

第三章数据准备

数据准备主要是完成数据属性分析前期工作。

以下给出数据库的部分数据:

220300001000000320000000000300010552

33321000111001012022222100000001081

212313030001000120200000202320023263

222000003200030020322220030000030401

232222020001000120000000223230023453

232000000000210220200010000200010412

210200000000003130002000000000020185

223333020002000230000000022320033573

221020000000000210100000000200020224

221010000000000320200000000200020304

332110002210000032322211000000010201

220300000000020220000010000300010212

331200000100020310100000000200010222

233000001110010021212302000000020101

223303020002000111100000203030013653

110130000000000110100000000200020404

333000003310020020233323030000020381

213333002003000320100000302030023233

110300000000003032203000000100020175

21120030120001001220101000000121086

322000000000020221202120000300020512

220200000000001131202100000101020425

222322020003200021100000303020023443

200300000000002220003000000000020225

211010002000000022222212020000020331

110100301000010011100000100102210106

122300000000001121103000000100030175

322200000000020333200000000201120432

112322030002000221200000303031023503

321200001200010020322212020000010501

320200000000120211100010000000010102

233330003300000032233313000000010341

211100000000010321000020000200010152

212321020000000222100000201030023263

332000002210010022322102000000010461

111000100000110211100000000300010512

111000000000010110100000000200020624

321100002100000021111101000000010151

211000001000010110100000000200020352

010300000000002022000000000000010305

211112010002000321100000202020033483

211330000000000221100000000100020464

211100203200010111100000000000111126

以下是数据库数据中每一个数据所属的相关属性信息:

临床属性:

(以值0,1,2,3,除非另有说明)

1:

红斑

2:

缩放

3:

明确的边界

4:

瘙痒

5:

koebner现象

6:

多边形丘疹

7:

毛囊丘疹

8:

口腔黏膜参与

9:

膝盖和肘部的参与

10:

头皮参与

11:

家族史,(0或1)

34:

年龄(线性)

病理组织学的属性:

(以值0,1,2,3)

12:

黑色素失禁

13:

嗜酸性粒细胞浸润

14:

损益渗透

15:

真皮乳头纤维化

16:

胞外分泌

17:

18:

角化

19:

角化不全

20:

杵状脊的睾丸网

21:

伸长的睾丸网脊

22:

表皮变薄,suprapapillary

23:

海绵状脓疱

24:

芒罗microabcess

25:

焦点hypergranulosis

26:

颗粒层消失

27:

vacuolisation和基底层破坏

28:

spongiosis

29:

锯齿外观retes

30:

滤泡喇叭插头

31:

perifollicular角化不全

32:

炎症monoluclearinflitrate

33:

带喜欢渗透

第四章贝叶斯分类算法

4.1贝叶斯分类算法

贝叶斯分类算法是统计学分类方法,它是一类利用概率统计知识进行分类的算法。

在许多场合,朴素贝叶斯(NaïveBayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、分类准确率高、速度快。

由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。

设每个数据样本用一个n维特征向量来描述n个属性的值,即:

X={x1,x2,…,xn},假定有m个类,分别用C1,C2,…,Cm表示。

给定一个未知的数据样本X(即没有类标号),若朴素贝叶斯分类法将未知的样本X分配给类Ci,则一定是

  P(Ci|X)>P(Cj|X)1≤j≤m,j≠i

  根据贝叶斯定理:

  由于P(X)对于所有类为常数,最大化后验概率P(Ci|X)可转化为最大化先验概率P(X|Ci)P(Ci)。

如果训练数据集有许多属性和元组,计算P(X|Ci)的开销可能非常大,为此,通常假设各属性的取值互相独立,这样

  先验概率P(x1|Ci),P(x2|Ci),…,P(xn|Ci)可以从训练数据集求得。

  根据此方法,对一个未知类别的样本X,可以先分别计算出X属于每一个类别Ci的概率P(X|Ci)P(Ci),然后选择其中概率最大的类别作为其类别。

  朴素贝叶斯算法成立的前提是各属性之间互相独立。

当数据集满足这种独立性假设时,分类的准确度较高,否则可能较低。

另外,该算法没有分类规则输出

4.1.1文件导出

首先准备将文件中的读出数据,以下为读文件数据主要代码:

if((fp=fopen("E:

\\a\\320.txt","rb+"))==NULL)

{

printf("文件无法打开!

\n");

return0;

}

//fseek(fp,16,SEEK_SET);

for(i=0;i<1000;i++)

{

printf("\n");

for(j=0;j<35;j++)

{

if((ch=fgetc(fp))!

=EOF)

{

fseek(fp,-1,SEEK_CUR);

fscanf(fp,"%d",&data[i][j]);

printf("%d",data[i][j]);

fseek(fp,1,SEEK_CUR);

len++;

}

else

break;

}

//

}

fclose(fp);

4.1.2算法实现

读出数据后,在进行贝叶斯分析以前先要设置训练集与测试集,因为在读文件的过程中已将data[i][j]设置为训练集,所以现在只需设置测试集:

for(i=0;i<366;i++)

{

for(j=0;j<35;j++)

ce[i][j]=data[i][j];

}

再下来要进行贝叶斯分类,以下为贝叶斯算法的主要代码:

for(k=0;k<358;k++)

{

for(i=0;i<35;i++)

{

count0[i]=0;

count1[i]=0;

count2[i]=0;

count3[i]=0;

count4[i]=0;

count5[i]=0;

}

for(i=0;i<358;i++)

{

if(data[i][34]==1)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count0[j]++;

}

}

count0[35]++;

}

}

for(i=0;i<358;i++)

{

if(data[i][34]==2)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count1[j]++;

}

}

count1[35]++;

}

}

for(i=0;i<358;i++)

{

if(data[i][34]==3)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count2[j]++;

}

}

count2[35]++;

}

}

for(i=0;i<358;i++)

{

if(data[i][34]==4)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count3[j]++;

}

}

count3[35]++;

}

}

for(i=0;i<358;i++)

{

if(data[i][34]==5)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count4[j]++;

}

}

count4[35]++;

}

}

for(i=0;i<358;i++)

{

if(data[i][34]==6)

{for(j=0;j<35;j++)

{

if(data[i][j]==ce[k][j])

{

count5[j]++;

}

}

count5[35]++;

}

}printf("\n*******************预测结果*********************\n");

for(i=0;i<35;i++)

{

s0[i]=(count0[i]+1)*1.0/count0[35];

s1[i]=(count1[i]+1)*1.0/count1[35];

s2[i]=(count2[i]+1)*1.0/count2[35];

s3[i]=(count3[i]+1)*1.0/count3[35];

s4[i]=(count4[i]+1)*1.0/count4[35];

s5[i]=(count5[i]+1)*1.0/count5[35];

}

//for(i=0;i<35;i++)

//{

//printf("输出%d:

%lf,%lf,%lf,%lf,%lf,%lf\n",i+1,s0[i],s1[i],s2[i],s3[i],s4[i],s5[i]);

//}

//for(k=0;k<358;k++)

//{

p0[k]=1;

p1[k]=1;

p2[k]=1;

p3[k]=1;

p4[k]=1;

p5[k]=1;

for(i=0;i<35;i++)

{

p0[k]+=log(s0[i]);

p1[k]+=log(s1[i]);

p2[k]+=log(s2[i]);

p3[k]+=log(s3[i]);

p4[k]+=log(s4[i]);

p5[k]+=log(s5[i]);

}

//printf("输出第%d条

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1