OneR创建所谓的一层决策树,或者一组只检测某个属性的规则,一棵只在根节点根据某个属性值分叉的树,或者,一组只检测某个属性值的规则,一个属性一个分支。(也就是用一个属性来决策)
打开天气数据集
会发现是以outlook属性来划分
删除outlook属性再试一次
这次以湿度来划分
以上是用OneR默认设置划分的,点击设置分类
minBucketSize改为1
出现很多分叉,过拟合
打开diabetrs数据集
数字性数据集
选择ZeroR计算数据集的集线数据
OneR
minBucketSize决定模型的复杂度
做交叉验证,OneR准确率远高于基线准确率(基于plas)
改变为1
交叉验证准确率降低(基于pedi)
尝试用训练集
不能因为尝试了很多机器学习方法,就期望在新的数据集上取得相同效果,尝试很多,最终选择可能过拟合。使用交叉验证,得到的结果也不够,在这种情况下,把数据分为训练数据、测试数据和验证数据,使用训练和测试数据来选择机器学习方法,选择最适合训练的和测试的,或者使用交叉验证选择最适合训练数据的。选择好机器学习方法后,再使用验证数据来评估他针对的测试数据的真实效果。