我需要知道何时是在 weka 中进行离散化的合适时间。我有数据集,我需要从该数据中创建训练和测试数据样本。我应该在采样前还是采样后对数值属性进行离散化?
问问题
2902 次
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 回答