为了进行二元预测,我有5个特征想用于我的随机森林分类器,但其中两个特征完全没有被利用。我理解机器学习的整个要点就是选择有用的特征,但另外三个特征可能存在偏见数据,我希望确保所有特征都能以相同的权重被使用来运行我的分类器。我找不到这个问题的直接答案。我使用sklearn
在python
中进行这项工作。任何评论/建议将不胜感激。
回答:
您可以通过设置max_features = None
来要求随机森林分类器在每次分裂时都考虑所有特征。
根据文档:
max_features : int, float, string or None, optional (default=”auto”)
在寻找最佳分裂时要考虑的特征数:
如果是整数,则每次分裂时考虑
max_features
个特征。如果是浮点数,则
max_features
是一个分数,每次分裂时考虑int(max_features * n_features)
个特征。如果是“auto”,则
max_features=sqrt(n_features)
。如果是“sqrt”,则
max_features=sqrt(n_features)
(与“auto”相同)。如果是“log2”,则
max_features=log2(n_features)
。如果是None,则
max_features=n_features
。
在为什么单棵树的随机森林比决策树分类器好得多?这个问题下的答案可能有助于解释并提供一些背景信息。