例如,使用决策树的药物预测问题。我训练了决策树模型,并希望使用新数据进行预测。
例如:
patient, Attr1, Attr2, Attr3, .., Label
002 90.0 8.0 98.0 ... ? ===> predict drug A
如何计算药物 A 预测结果的置信度或概率?
例如,使用决策树的药物预测问题。我训练了决策树模型,并希望使用新数据进行预测。
例如:
patient, Attr1, Attr2, Attr3, .., Label
002 90.0 8.0 98.0 ... ? ===> predict drug A
如何计算药物 A 预测结果的置信度或概率?
你使用什么数据挖掘包?
在 sklearn 中,DecisionTreeClassifier可以为您提供概率,但您必须使用类似max_depth
的东西来截断树。它返回的概率是,即在该叶子(在训练期间)捕获的全部观察值中,该叶子“捕获”的 A 类观察值的数量。但同样,你必须修剪或截断你的决策树,否则决策树会一直增长到 在每片叶子等等 .
话虽如此,我认为您想使用随机森林之类的东西。在随机森林中,通过使用数据的不同重采样来训练多个决策树。最后,概率可以通过投票给每个类别的决策树的比例来计算。我认为这是一种比使用单个决策树更可靠的估计概率的方法。
但是随机森林是不可解释的,所以如果需要互操作性,请使用我提到的决策树。您可以使用网格搜索通过更改超参数(例如最大深度)来最大化 ROC AUC 分数,以找到任何决策树提供最可靠的概率。
编辑:如果我不够清楚,我认为使用单个决策树来预测概率是很糟糕的。我在博客文章中扩展了我的答案。