Python-实验13--程序应用开发-乳腺癌分类编程.doc

Python-实验13--程序应用开发-乳腺癌分类编程.doc

ID:60809723

大小:63.50 KB

页数:3页

时间:2020-12-20

Python-实验13--程序应用开发-乳腺癌分类编程.doc_第1页
Python-实验13--程序应用开发-乳腺癌分类编程.doc_第2页
Python-实验13--程序应用开发-乳腺癌分类编程.doc_第3页
资源描述:

《Python-实验13--程序应用开发-乳腺癌分类编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验13程序开发应用实验目的:1、掌握程序开发钥匙步骤2、理解分治算法的思想实验内容:•乳腺癌分类(breast-cancer-classifier)问题–问题描述:•给定一些肿瘤样本,现在希望能根据肿瘤数据对其进行判定是恶性的(malignant)还是良性的(benign)判断•数据集有如下9个肿瘤属性,可以做成9个类别•数据集如下所示:('','b',5,1,1,1,2,1,3,1,1)('','b',5,4,4,5,7,10,3,2,1)('','b',3,1,1,1,2,2,3,1,1)('','b',6

2、,8,8,1,3,4,3,7,1)('','b',4,1,1,3,2,1,3,1,1)('','m',8,10,10,8,7,10,9,7,1)('','b',1,1,1,1,2,10,3,1,1)('','b',2,1,2,1,2,1,3,1,1)•通过研究这些属性,找到肿瘤预测模式,根据肿瘤属性来判定肿瘤性质?•设计分类器算法如下:–从训练文件中创建训练集–创建分类器,使用训练集中确定每个属性的分类值–从测试文件中创建测试集–使用分类器,对测试集进行分类–计算这些判定的准确性•参考“大框架”–defmain(

3、):–print"读取训练数据。。。"–trainfile="test_data.txt"–trainingSet=makeTrainingSet(trainfile)–print"创建分类器"–classifier=trainClassifier(trainingSet)–print"使用分类器,对测试集进行分类"–results=classifyTestSet(trainingSet,classifier)–print"计算这些判定的准确性"–reportResults(results)–defReadSet

4、(FileName):RSet=[]ReadFile=open("e:\breast-cancer-wisconsin.data.txt","r")forlineinReadFile:line=line.strip()if"?"inline:continueid,a1,a2,a3,a4,a5,a6,a7,a8,a9,diag=line.split(",")ifdiag=="4":diagMorB="m"else:diagMorB="b"patientTup=(id,diagMorB,int(a1),int(a2

5、),int(a3),int(a4),int(a5),int(a6),int(a7),int(a8),int(a9))RSet.append(patientTup)ReadFile.close()returnRSetdefSumList(List1,List2):SumList=[0.0]*9forindexinrange(9):SumList[index]=List1[index]+List2[index]returnSumListdefMakeAvg(SumList,total):AverageList=[0.

6、0]*9forindexinrange(9):AverageList[index]=SumList[index]/float(total)returnAverageListdefClassifier(TrainSet):benignSum=[0]*9benignCount=0malignantSum=[0]*9malignantCount=0forpatientTupinTrainSet:ifpatientTup[1]=="b":benignSum=SumList(patientTup[2:],benignSum

7、)benignCount+=1else:malignantSum=SumList(patientTup[2:],malignantSum)malignantCount+=1benignAvg=MakeAvg(benignSum,benignCount)malignantAvg=MakeAvg(malignantSum,malignantCount)classifier=MakeAvg(SumList(benignAvg,malignantAvg),2)returnclassifierdefTest(TestSet

8、,classifier):Result=[]forReadTupinTestSet:bCount=0mCount=0forindexinrange(9):ifReadTup[index+2]>classifier[index]:mCount+=1else:bCount+=1ResultTup=(ReadTup[0],bCount,mCount,ReadTup[1])Res

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。