0

我需要知道何时是在 weka 中进行离散化的合适时间。我有数据集,我需要从该数据中创建训练和测试数据样本。我应该在采样前还是采样后对数值属性进行离散化?

4

1 回答 1

2

这应该是显而易见的。

只要您获得与执行的拆分无关的相同结果,您就可以在之后进行。但是这样做有什么好处呢?那就先做预处理吧。

如果您通过四舍五入进行离散化 - 例如浮点数为整数 - 那么您应该没问题(这不受拆分的影响)。但是如果你用分位数来离散化,很明显你可能会搞砸,因为你会对不同的部分进行不同的离散化

假设您将数据离散化为两个不同的值:

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

看,通过使用每个值簇的平均值,“好”和“坏”都被离散化为两个离散值。但由于“好”和“坏”的平均值不同,结果属性清楚地揭示了真正的成员资格。检测“坏”的任务变得更加容易。

永远不要执行单独的预处理。

于 2013-02-12T07:44:39.027 回答