假设我们使用决策树来预测银行客户是否可以偿还信贷。所以这是一个二分类问题。现在我们可以犯两个错误:
- 错误:客户可以退还信用,但我们预测他不能。
- 错误:客户无法偿还信用,但我们预测他可以。
现在我们知道了错误的代价是 123.4 倍错误。但是我们只有一组给定的数据。在这个集合中,我们有偿还信用的客户和没有的客户。
如何调整决策树的训练以考虑以下事实错误更昂贵?
(注意:这是一个学习决策树的理论问题。我知道神经网络等其他分类器,我也知道集成。但是,我只想知道这里的决策树。)
假设我们使用决策树来预测银行客户是否可以偿还信贷。所以这是一个二分类问题。现在我们可以犯两个错误:
现在我们知道了错误的代价是 123.4 倍错误。但是我们只有一组给定的数据。在这个集合中,我们有偿还信用的客户和没有的客户。
如何调整决策树的训练以考虑以下事实错误更昂贵?
(注意:这是一个学习决策树的理论问题。我知道神经网络等其他分类器,我也知道集成。但是,我只想知道这里的决策树。)
从理论上讲,决策树算法指定了使每个节点处的类之间的分离最大化的特征和阈值。这可以通过解决与子节点处的熵相关的优化问题来完成。您可以通过在优化问题中包含错误分类成本来修改此优化问题,以便算法将偏向于最昂贵的类
您正在寻找的是“成本矩阵”。有两种选择:
据我所知,在许多流行的机器学习包中,没有那种类型的成本学习算法。(sklearn,插入符号等)。我不得不自己写,仍然没有上传到github。
然而,在下面的 github repo 中有一个漂亮的工作,看看它。它还具有集成实现:http: //albahnsen.github.io/CostSensitiveClassification/