生成完美模拟训练集的决策树?

Generating a Decision Tree that Perfectly Models the Training Set?

我的数据集是我的规则,我想生成一个决策树,它在对我的规则进行分类时至少具有 100% 的准确率,但我永远无法达到 100%。我将 minNumObjs 设置为 1 并使其未修剪,但我只得到 84% 正确分类的实例。

我的属性是:

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

ex 数据:

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% 的分类(同时仍允许我的属性为数字)

谢谢

由于具有不同标签的相同特征向量,有时不可能获得 100% 的准确度。我猜你的情况是 usersbandwidthlatency 是特征,而 mode 是你要预测的标签。如果是这样,那么 {usersbandwidthlatency} 的相同值可能恰好具有不同的 mode 标签。

一般来说,可能会通过以下几种方式之一对相同的特征使用不同的标签:

  1. 由于数据读取错误,数据中存在噪音。
  2. 存在未捕获的随机源。
  3. 还有更多可能的特征可以区分不同的标签,但这些特征不在您的数据集中。

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