随机森林 - 使空值始终在决策树中有自己的分支
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
【讨论】:
以上是关于随机森林 - 使空值始终在决策树中有自己的分支的主要内容,如果未能解决你的问题,请参考以下文章