我在Weka中使用决策树,并且我有一些连续的数据,所以当我使用Weka时,它会自动为我找到阈值,但出于某种原因,我想实现决策树我自己,所以我需要知道使用什么方法来查找离散化我的连续数据的阈值?在连续数据的决策树中查找阈值的方法
0
A
回答
5
ID3和C4.5使用entropy启发式用于离散化连续数据。该方法找到每个变量(特征)的二进制剪切。您可以递归地应用相同的方法来从连续数据中获取多个间隔。
在某个树节点假设,所有实例都属于一组的S
,和你在可变A
和特定边界(切)T
工作,通过T
诱导分区的类信息熵,记为E(A,T,S)
由以下公式给出:
|S1| |S2|
E(A, T, S) = ---- Entropy(S1) + ---- Entropy(S2)
|S| |S|
其中|S1|
是第一个分区中的实例数; |S2|
是第二个分区中的实例数量; |S| = |S1|+|S2|
。
对于给定特征A
,将所有可能分割边界上的熵函数最小化的边界T_min
选作二元离散化边界。
例如,你可能有一个变量Length
,与所有可能的值:
Length = {2.1, 2.8, 3.5, 8.0, 10.0, 20.0, 50.0, 51.0}
然后你T
可能是:
T = {2.1, 2.8, 3.5, 8.0, 10.0, 20.0, 50.0, 51.0}
在你切在每一个可能Length
值。您还可以减少在每一个中间点相邻Length
值,例如,
T = {2.45, 3.15, 5.75, 9.0, 15.0, 35.0, 50.5}
在离散时间,你会遍历所有可能T
值和评估哪一个获得最低E(A, T, S)
。而已。
参见本paper更多的细节,其中还介绍了其他可选方法:
- ChiMerge离散化方法。
- 基于学习矢量量化(LVQ)的方法
- 基于直方图的方法。
相关问题
- 1. 在决策树上设置阈值?
- 2. 如何分割CART决策树算法中的连续属性?
- 3. 连续值低于阈值
- 4. 如何使用Spark决策树调整分类阈值
- 5. 决策树。选择阈值来分割对象
- 6. 带数值的ID3决策树
- 7. 查找连续的负值
- 8. 决策树学习算法中的重复训练数据
- 9. 决策树在树决策中保持使用Y变量
- 10. 使用决策树来最大化连续变量如利润
- 11. 熊猫的方式来查找不连续的数据
- 12. 解释决策树中的数字
- 13. 在R中使用tm和rpart:文本数据的决策树?
- 14. 决策树星火负荷数据 - LabelledPoint
- 15. 星火决策树无法解决trainClassifier方法
- 16. 查找数组中的连续范围
- 17. 查找数组中的连续字符
- 18. 在Java中查找连续数字
- 19. 缩放决策树中的数据改变了我的结果?
- 20. 使用MLlib从Spark决策树中找到重要价值
- 21. 查找数组中最大数量的连续值(JS)
- 22. 查找连续增加列值的行
- 23. 查找连续
- 24. 使用决策树的熵
- 25. 寻找一个交互式决策树
- 26. 计算阈值之上的三个连续值(光栅堆栈中)的数量
- 27. 连续值高于阈值的位置和值
- 28. 如何在Weka构建的决策树中查找特征重要性
- 29. 火花ML决策树如何处理回归问题的连续特征
- 30. 决策树问题解决
太棒了! – SJB