您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 基于weka的数据分类和聚类分析实验报告
数据挖掘实验报告1基于weka的数据分类分析实验报告1实验基本内容本实验的基本内容是通过使用weka中的三种常见分类和聚类方法(决策树J48、KNN和k-means)分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。2数据的准备及预处理2.1格式转换方法(1)打开“data02.xls”另存为CSV类型,得到“data02.csv”。(2)在WEKA中提供了一个“ArffViewer”模块,打开一个“data02.csv”进行浏览,然后另存为ARFF文件,得到“data02.arff”。。3.实验过程及结果截图3.1决策树分类(1)决策树分类用“Explorer”打开数据“data02.arff”,然后切换到“Classify”。点击“Choose”,选择算法“trees-J48”,再在“Testoptions”选择“Cross-validation(Flods=10)”,点击“Start”,开始运行。数据挖掘实验报告2系统默认trees-J48决策树算法中minNumObj=2,得到如下结果===Summary===CorrectlyClassifiedInstances2388.4615%IncorrectlyClassifiedInstances311.5385%Kappastatistic0.7636Meanabsoluteerror0.141Rootmeansquarederror0.3255Relativeabsoluteerror30.7368%Rootrelativesquarederror68.0307%TotalNumberofInstances26===DetailedAccuracyByClass===TPRateFPRatePrecisionRecallF-MeasureROCAreaClass0.824010.8240.9030.892N10.1760.7510.8570.892YWeightedAvg.0.8850.0610.9130.8850.8870.892===ConfusionMatrix===ab--classifiedas143|a=N09|b=Y使用不同的参数准确率比较:minNumObj2345CorrectlyClassifiedInstances23(88.4615%)22(84.6154%)23(88.4615%)23(88.4615%)数据挖掘实验报告3由上表,可知minNumObj为2时,准确率最高。根据测试数集,利用准确率最高的模型得到的结果:数据挖掘实验报告4分析说明:在用J48对数据集进行分类时采用了10折交叉验证(Folds=10)来选择和评估模型,其中属性值有两个Y,N。一部分结果如下:CorrectlyClassifiedInstances2388.4615%IncorrectlyClassifiedInstances311.5385%===ConfusionMatrix===ab--classifiedas143|a=N09|b=Y这个矩阵是说,原来是“Y”的实例,有14个被正确的预测为“Y”,有3个错误的预测成了“N”。原本是“NO”的实例有0个被正确的预测成为“Y”,有9个正确的预测成了“N”。“14+3+0+9=26”是实例的总数,而(14+9)/26=0.884615正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大,说明预测得越好。(2)K最近邻分类算法用“Explorer”打开数据“data02.arff”,然后切换到“Classify”。点击“Choose”,选择算法“lazy-IBk”,再在“Testoptions”选择“Cross-validation(Flods=10)”,点击“Start”,开始运行。训练结果:数据挖掘实验报告5系统默认lazy-IBkK最近邻分类算法中KNN=1,得到如下结果===Summary===CorrectlyClassifiedInstances2076.9231%IncorrectlyClassifiedInstances623.0769%Kappastatistic0.4902Meanabsoluteerror0.252Rootmeansquarederror0.4626Relativeabsoluteerror54.9136%Rootrelativesquarederror96.694%TotalNumberofInstances26===DetailedAccuracyByClass===TPRateFPRatePrecisionRecallF-MeasureROCAreaClass0.8240.3330.8240.8240.8240.768N0.6670.1760.6670.6670.6670.768YWeightedAvg.0.7690.2790.7690.7690.7690.768===ConfusionMatrix===ab--classifiedas143|a=N36|b=Y使用不同的参数准确率比较:KNN1234CorrectlyClassified20(76.9231%)19(73.0769%)23(88.4615%)20(76.9231%)数据挖掘实验报告6Instances由上表,可知KNN为3时,准确率最高。根据测试数集,利用准确率最高的模型得到的结果:分析说明:在用lazy-Ibk(KNN=3)对数据集进行分类时采用了10折交叉验证(Folds=10)来选择和评估模型,其中属性值有两个Y,N。一部分结果如下:===Summary===数据挖掘实验报告7CorrectlyClassifiedInstances2388.4615%IncorrectlyClassifiedInstances311.5385%===ConfusionMatrix===ab--classifiedas161|a=N27|b=Y这个矩阵是说,原来是“Y”的实例,有16个被正确的预测为“Y”,有1个错误的预测成了“N”。原本是“NO”的实例有2个被正确的预测成为“Y”,有9个正确的预测成了“7”。“16+1+2+7=26”是实例的总数,而(16+7)/26=0.884615正好是正确分类的实例所占比例。二、对“data01”进行聚类分析1.数据格式的转换(1)打开“data01.xls”另存为CSV类型,得到“data01.csv”。(2)在WEKA中提供了一个“ArffViewer”模块,打开一个“data01.csv”进行浏览,然后另存为ARFF文件,得到“data01.arff”。2.聚类过程用“Explorer”打开数据“data01.arff”,然后切换到“Cluster”。点击“Choose”,选择算法“SimpleKMeans(numClusters=6,seed=200),再在“Testoptions”选择“Usetrainingset”,点击“Start”,开始运行。训练结果:采用simpleKMeans算法,其中numClusters=6,seed=100,得到如下结果:数据挖掘实验报告8Numberofiterations:3Withinclustersumofsquarederrors:6.065322314450069(平方误差之和)ClusteredInstancesClusteredInstances04(15%)13(12%)24(15%)33(12%)42(8%)510(38%)(各类的包含的实例个数以及占总实例的百分比)数据挖掘实验报告9说明:其中当seed的取值越大,平方误差之和越小。在这次实验seed=100,得到:Withinclustersumofsquarederrors:6.065322314450069.这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离就越小。接下来“Clustercentroids”:列出了各个簇中心的位置:AttributeFullData012345(26)(4)(3)(4)(3)(2)(10)=================================================================================sample13.522.54.666720.514.66674.511.2old-year48.076965.7559.333350.52556.541.9VEGF1.92312.752.333322.666731MVC102.1538126.45100.6667127.488.266710486.58cancer-grade2.57693.75233.33333.5数据挖掘实验报告101.7cancer-stage2.15383.251.333332.33333.51.3cancermetastasisNYNNYYN最后“ClusteredInstances”列出了各个簇中实例的数目及百分比:ClusteredInstances04(15%)13(12%)24(15%)33(12%)42(8%)510(38%)(各类的包含的实例个数以及占总实例的百分比)三、根据提供的“data02”进行关联分析由于程序和系统故障,所以不能正确的进行关联分析5.实验总结本次实验进行比较顺利,使我对如何在Weka中进行分类分析有了更深刻的了解,对Weka中进行分类分析的KNN算法,k-means算法和决策树算法都有了进一步的理解,同时也深刻体会到数据预处理对于数据挖掘的重要性。
本文标题:基于weka的数据分类和聚类分析实验报告
链接地址:https://www.777doc.com/doc-1827200 .html