logo资料库

基于weka的数据分类分析实验报告.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
基于weka的数据分类分析实验报告
1实验基本内容
2数据的准备及预处理
2.1格式转换方法
2.2如何建立数据训练集,校验集和测试集
2.3预处理具体步骤
3. 实验过程及结果截图
3.1决策树分类
3.2 K最近邻算法分类
3.3 朴素贝叶斯分类
3.4 三类分类方法的校验结果比较
3.5 训练最优模型
4.三种算法在进行测试的性能比较
4.1实验结果
5.实验总结
数据挖掘实验报告 xxx 201021030483 基于 weka 的数据分类分析实验报告 姓名:xxx 学号:201021030483 1 实验基本内容 本实验的基本内容是通过使用 weka 中的三种常见分类方法(朴素贝叶斯,KNN 和决策 树 C4.5)分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价, 找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以 及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个 最优分类器,并利用该分类器对测试数据进行预测。 2 数据的准备及预处理 2.1 格式转换方法 原始数据是 excel 文件保存的 xlsx 格式数据,需要转换成 Weka 支持的 arff 文件格式或 csv 文件格式。由于 Weka 对 arff 格式的支持更好,这里我们选择 arff 格式作为分类器原始 数据的保存格式。 转换方法:在 excel 中打开“movie_given.xlsx”,选择菜单文件->另存为,在弹出的对 话框中,文件名输入“total_data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得 到“total_data.csv”文件;然后,打开 Weka 的 Exporler,点击 Open file 按钮,打开刚才得 到的“total_data”文件,点击“save”按钮,在弹出的对话框中,文件名输入“total_data”, 文件类型选择“Arff data files(*.arff)”,这样得到的数据文件为“total_data.arff”。 2.2 如何建立数据训练集,校验集和测试集 数据的预处理过程中,为了在训练模型、评价模型和使用模型对数据进行预测能保证一 致性和完整性,首先要把 movie_given.xslx 和 test.xslx 合并在一起,因为在生成 arff 文件的 时候,可能会出现属性值不一样的情况,否则将为后来的测试过程带来麻烦。 通过统计数据信息,发现带有类标号的数据一共有 100 行,为了避免数据的过度拟合, 必须把数据训练集和校验集分开,目前的拆分策略是各 50 行。类标号为‘female’的数据 有 21 条,而类标号为‘male’的数据有 79 条,这样目前遇到的问题是,究竟如何处理仅有 的 21 条 female 数据?为了能在训练分类模型时有更全面的信息,所以决定把包含 21 条 female 类标号数据和 29 条 male 类标号数据作为模型训练数据集,而剩下的另 49 条类标号 类 male 的数据将全部用于校验数据集,这是因为在校验的时候,两种类标号的数据的作用 1
数据挖掘实验报告 xxx 201021030483 区别不大,而在训练数据模型时,则更需要更全面的信息,特别是不同类标号的数据的合理 比例对训练模型的质量有较大的影响。 2.3 预处理具体步骤 第一步:合并 movie_given.xlsx 和 test.xlsx,保存为 total_data.xlsx; 第二步:在 total_data.xlsx 中删除多余的 ID 列信息; 第三步:在 excel 中打开“total_data.xlsx”,选择菜单文件->另存为,在弹出的对话框中, 文件名输入“total_data”,保存类型选择“CSV(逗号分隔)”; 第四步:使用 UltraEdit 工具把 total_data.csv 中的数据缺失部分补上全局常量‘?’; 第五步:打开 Weka 的 Exporler,点击 Open file 按钮,打开刚才得到的“total_data.csv” 文件,点击“save”按钮,在弹出的对话框中,文件名输入“total_data”,文件类型选择“Arff data files(*.arff)”,这样得到的数据文件为“total_data.arff”。 第六步:从 total_data.arff 文件里面剪切所有没有分类标号的数据作为预测数据集 (test.arff),共 26 项。 第七步:把剩下含有类标号数据的 total_data.arff 文件复制一份,作为总的训练数据集。 文件名称为 build_model.arff。 第八步:从 total_data.arff 文件中剩下的数据里面选取所有分类标号为 male 的 49 行数 据作为校验数据集(validate_data.arff)。 第九步:从把剩下的 total_data.arff 文件改名为 train_data.arff。 3. 实验过程及结果截图 3.1 决策树分类 用“Explorer”打开刚才得到的“train-data.arff”,并切换到“Class”。点“Choose”按 钮选择“tree (weka.classifiers.trees.j48)”,这是 WEKA 中实现的决策树算法。 选择 Cross-Validatioin folds=10,然后点击“start”按钮: 训练数据集训练决策树得出的结果 2
数据挖掘实验报告 xxx 201021030483 使用不同配置训练参数,得到的实验数据: 配置不同的叶子节点的实例个数 实例数/叶节点 2 准确率 结果分析:使用决策树时,每个叶子节点最优的实例个数为 3。 3 60% 54% 4 56% 5 56% 6 56% 校验数据集校验决策树得出的结果 3
数据挖掘实验报告 xxx 201021030483 初步结果分析: 使用决策树进行分类,对于已知的 49 个类标号为 male 的数据都进行了准确的分类,并 且达到 100%;虽然是个很好的数据,但是完美背后隐藏了缺陷,是以对 female 类的低准确 率作为代价的,因为这样会说明该分类器很有可能偏向 male 类。 3.2 K 最近邻算法分类 点“Choose”按钮选择“laze->ibk”,这是 WEKA 中实现的决策树算法。 选择 Cross-Validatioin folds=10,然后点击“start”按钮: 训练数据集训练 KNN 得出的结果 4
数据挖掘实验报告 xxx 201021030483 使用不同配置训练参数,得到的实验数据: 配置不同的叶子节点的实例个数 K 值 准确率 结果分析:使用 KNN 算法分类时,K 最优值为 8。 4 2 3 1 52% 54% 56% 58% 60% 58% 60% 68% 62% 62% 10 5 6 7 8 9 校验数据集校验 KNN 得出的结果 5
数据挖掘实验报告 xxx 201021030483 初步结果分析: 对使用 k=8 训练出来的分类模型进行校验的结果,准确率达到 77.6%,算是一个比较合 理的分类结果。 3.3 朴素贝叶斯分类 点“Choose”按钮选择“bayes”,这是 WEKA 中实现的决策树算法。 选择 Cross-Validatioin folds=10,然后点击“start”按钮: 训练数据集训练 Naïve Bayes 得出的结果 6
数据挖掘实验报告 xxx 201021030483 校验数据集校验 Naïve Bayes 得出的结果 7
数据挖掘实验报告 xxx 201021030483 初步结果分析: 评价结果中准确率仅仅达到 59.1%,结果不是很让人满意。 3.4 三类分类方法的校验结果比较 决策树 校验准确率 100% K 最近邻 77.55% 朴素贝叶斯 59.18% 训练 混淆矩阵 校验 混淆矩阵 标准误差 0.42 比较结果分析: 0.4654 0.5918 根据上述数据,虽然决策树有最高的完美的准确率和相对较好的标准误差,但是这种完 美的背后,很有可能是以类标号 female 的较大错误率作为代价,这点可以从训练混淆矩阵 中得到印证;而朴素贝叶斯分类算法的准确率相对较低,而标准误差也较高,综合评价可以 得知,当前最好的分类算法是 KNN 算法,并且它是最优设置参数为 k=8。 3.5 训练最优模型 使用预处理中的 buildmodel_data.arff 数据文件训练分类模型,算法为 k=8 的 KNN。 数据集训练 KNN 得出的结果 8
分享到:
收藏