【发布时间】:2013-02-12 23:03:29
【问题描述】:
我需要知道何时是在 weka 中进行离散化的合适时间。我有数据集,我需要从该数据中创建训练和测试数据样本。我应该在采样前还是采样后对数值属性进行离散化?
【问题讨论】:
标签: data-mining weka
我需要知道何时是在 weka 中进行离散化的合适时间。我有数据集,我需要从该数据中创建训练和测试数据样本。我应该在采样前还是采样后对数值属性进行离散化?
【问题讨论】:
标签: data-mining weka
这应该是显而易见的。
只要您获得与执行的拆分无关的相同结果,之后您就可以做到。但是这样做的好处是什么?那就先做预处理吧。
如果您通过四舍五入进行离散化 - 例如浮动到整数 - 那么你应该没问题(这不受拆分的影响)。但是如果你离散化例如通过分位数,很明显你可能会搞砸,因为你会以不同的方式离散不同的部分!
假设您将数据离散化为两个不同的值:
Input data Type Output value
0.9 good 1.05
1.0 good 1.05
1.1 good 1.05
1.2 good 1.05
---
2.1 good 2.20
2.3 good 2.20
2.2 good 2.20
--- SPLIT HERE ---
1.1 bad 1.20
1.2 bad 1.20
1.3 bad 1.20
---
1.9 bad 2.00
2.0 bad 2.00
2.1 bad 2.00
请参阅,“好”和“坏”都通过使用每个值集群的平均值离散化为两个离散值。但由于“好”和“坏”的平均值不同,结果属性清楚地揭示了真正的成员资格。检测“坏”的任务变得更加容易。
永远不要进行单独的预处理。
【讨论】: