随机森林 - 使空值始终在决策树中有自己的分支

Posted

技术标签:

【中文标题】随机森林 - 使空值始终在决策树中有自己的分支【英文标题】:Random Forest - make null values always have their own branch in a decision tree 【发布时间】:2020-03-17 04:32:27 【问题描述】:

您好,我正在使用随机森林来构建模型,并且正在尝试处理空值。有人会碰巧知道如何强制随机森林模型将空值视为自己的独立带吗? (因为空值永远不会与其他值范围捆绑在一起。因此在决策树中,度量的空值总是有自己的分支)。

我不想使用均值代替空值,因为我不希望模型将空值与接近均值的其他值结合起来,我也不想删除空值。

我希望决策树始终将度量的空值视为自己的分支。

谢谢:)

【问题讨论】:

【参考方案1】:

你可以试试这些。

    将空值替换为与列中的任何其他值有很大差异的值。

示例

让 'feature' 是只有正值的列的名称,那么负值应该足以表示 null。

dataframe.loc[dataframe['feature'].isna(), 'feature'] = -100
    您可以添加一个新的空跟踪列来跟踪另一列的空值。 (如果所有特征都被考虑用于对随机森林进行建模,则使用此选项)

示例

让 'feature' 为具有空值的列的名称

dataframe['feature_isnull'] = 0 #null-tracking column
dataframe.loc[dataframe['feature'].isna(),'feature_isnull'] = 1

【讨论】:

以上是关于随机森林 - 使空值始终在决策树中有自己的分支的主要内容,如果未能解决你的问题,请参考以下文章

机器学习-决策树和随机森林

决策树与随机森林

随机森林

分类算法 - 随机森林

10、决策树集成--随机森林

随机森林