2016-04-21 93 views
0

我有我的数据集,这是我的规则,我想要生成一个决策树,在分类我的规则时至少有100%的准确性,但我永远无法获得100%。我将minNumObjs设置为1,并使其未修剪,但我只获得84%正确分类的实例。生成一个完美模拟训练集的决策树?

我的属性是:

@attribute users numeric 
@attribute bandwidth numeric 
@attribute latency numeric 
@attribute mode {C,H,DCF,MP,DC,IND} 

前数据:

2,200000,0,C 
2,200000,1000,C 
2,200000,2000,MP 
2,200000,5000,C 
2,400000,0,C 
2,400000,1000,DCF 

有人可以帮助我了解为什么我永远不会归我的情况下的100%,我怎么可以让他们100%分类(虽然仍然允许我的属性是数字)

谢谢

回答

2

由于具有不同标签的相同特征向量有时不可能获得100%的准确性。我猜你的情况是users,bandwidthlatency是功能,而mode是你试图预测的标签。如果是这样,那么可能有相同的值{users,bandwidth,latency},它们碰巧具有不同的mode标签。

通常,具有不同的相同的特征标记可以通过几种方法之一进行:

  1. 有一个在数据中的噪声由于数据的一个坏的读数。
  2. 有一个未被捕获的随机性来源。
  3. 还有更多可以区分不同标签的功能,但功能不在您的数据集中。

你现在可以做的一件事是通过决策树运行你的训练集,并找到被错误分类的项目。尝试确定它们错误的原因,并查看是否有任何数据实例展示了我上面所写的内容(即存在一些具有相同功能但标签不同的数据实例)。

+0

所有功能都是独一无二的。其中出现错误的是轮廓线,例如 ,我们可能会以100,100到1000的速率增加带宽,并且它们都是模式C,而在600处它是模式DC。那些是它错了。这是角落案件。 – jmasterx

+0

我尝试了最好的第一棵树,它设法分类了96%,但树很丑。 – jmasterx

+0

您也可以应用功能缩放,以便数字要素具有相同的比例(例如,在0.0和1.0之间)。两种方法是“z分数缩放”(又名标准化)和“最大 - 最小缩放”。维基百科有一个非常明确的解释:https://en.wikipedia.org/wiki/Feature_scaling。事实上,Weka具有内置的此功能:http://stackoverflow.com/questions/20904071/how-to-use-different-scaling-approaches-in-weka – stackoverflowuser2010