一、实验目的
通过完成weka软件实验,达到实现运用weka软件进行机器学习对数据回归和分类的目的,熟悉练习软件的各项操作。
二、实验准备
- 实验平台
Windows10操作系统、weka软件
- 实验数据
个人数据集、Iris数据集
三、实验步骤
(1)回归
数据介绍
为探究研发费用、管理费用、营销费用与利润的相关关系,使用神经网络预测利润。本实验选取训练数据35组,测试数据14组,自变量为研发费用、管理费用、营销费用,因变量为利润,进行多元回归。
加载训练数据
选择训练模型
神经网络模型
设置隐藏层数量和学习率
设置验证方案Test options
(1)Use training set(使用训练集):直接将训练集实例用于测试(不能反应分类器的泛化性能)
(2)Supplied test set(提供测试集):单击set允许用户选择测试集文件
(3)Cross-validation(交叉验证):通过交叉验证评价分类器。在Folds文本框中输入交叉验证的折数,默认为10折
(4)Percentage split(按比例分割):从数据集中取出默认百分比的数据用作训练集,其他用作测试集。取出作为训练集的数据量在%后的文本框内,默认为66%
设置因变量
查看结果指标
- MAE:平均绝对误差,即对预测值与真实值之差的绝对值求平均
- RMSE:均方根误差,即对预测值与真实值之差的平方求平均,再开平方
- RAE:分子:对预测值与真实值之差的绝对值求和;分母:对均值与真实值之差的绝对值求和
- RRSE:分子:对预测值与真实值之差的平方求和;分母:对均值与真实值之差的平方求和;分子除以分母后开平方
利用训练后的模型预测
加载测试数据
验证测试数据
误差可视化
查看预测结果
使用matplotlib进行可视化
随机森林模型
利用训练后的模型进行预测
误差可视化
查看预测结果
使用matplotlib进行可视化
(2)分类
数据介绍
Iris数据集是常用的分类实验数据集。该数据集包含150条数据,每条数据包含4个属性(花萼长度,花萼宽度,花瓣长度,花瓣宽度)和1个类别。目的是根据属性值预测鸢尾花卉属于三个种类(setosa,versicolor,virginica)中的哪一类。用Weka自带的数据集进行演示,选择iris(鸢尾花)数据集,点击打开。
选择分类器
进入分类操作,点击Classify进入分类界面,点击Choose选择分类器
神经网络分类
Percentage split选项,当数据集没有测试集时,通过设置右侧的数字来将数据集分为训练集和测试集,图中的数字为66,其代表将数据集66%的数据作为训练集,其余34%的数据(51个实例)作为测试集。
Summary参数:
- Correctly Classified Instances(正确分类的实例):显示正确分类的实例的绝对数量和百分比
- Incorrectly Classified Instances(错误分类的实例):显示错误分类实例的绝对数量和百分比
- Kappa statistic(Kappa统计):显示Kappa统计量,[-1,1]范围的小数。Kappa统计指标用于评判分类器结果与随机分类的差异度。K=1表明分类器完全与随即分类相异,K=0表明分类器与随机分类相同(即分类器没有效果),K=-1表明分类器比随机分类还要差
- Mean absolute error(平均绝对误差)
- Root mean squared error(均方根误差)
- Relative absolute error(相对绝对误差)
- Root relative squared error(相对均方根误差)
- Total Number of Instances(实例总数)
综合以上指标,评估模型的分类精度。51个实例中有50个分类正确,1个分类错误,分类效果较好。
决策树分类
51个实例中有47个分类正确,4个分类错误,分类效果比神经网络欠佳。
可视化
还可以将生成的决策树可视化,在Result list中选中结果,右键选择Visualize tree
随机森林分类
随机森林指利用 Bagging 集成多棵 CART(Classification and Regression Tree)决策树的机器
学习方法。
51个实例中有49个分类正确,2个分类错误,分类效果比决策树稍好。