首页 文章

Scikit Learn - 随机森林:如何处理连续特征?

提问于
浏览
1

Random Forest接受数值数据 . 通常将具有文本数据的特征转换为数字类别,并且连续数字数据按原样馈送而不进行离散化 . RF如何处理连续数据以创建节点?它会在内部存储连续数值数据吗?或将每个数据视为离散级别 .

例如:我想将数据集(在对文本特征进行分类之后)提供给RF . RF如何处理连续数据?在喂食之前,是否建议将连续数据(在这种情况下为经度和纬度)进行离散化?或者这样做的信息丢失了?

image showing the continuous data in longitude and latitude features

2 回答

  • 0

    据我所知,您在询问如何为连续功能选择阈值 . 分类发生在您的类更改的值处 . 例如,考虑以下1D数据集,其中 x 为特征, y 为类变量

    x = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    y = [ 1, 1, 0, 0, 0, 0, 0, 1, 1, 1]
    

    将考虑两种可能的候选切口:(i)介于2和3之间(实际上看起来像x <2.5)和(ii)介于7和8之间(x <7.5) . 在这两个候选者中,将选择第二个候选者,因为它提供了更好的分离 . 算法进入下一步 .

    因此,不建议您自己对数据进行离散化 . 请考虑上面的数据 . 例如,如果您将5 b bin [1, 2 | 3, 4 | 5, 6 | 7, 8 | 9, 10] 中的数据离散化,则会错过最佳分割(因为7和8将在一个bin中) .

  • 2

    你问的是 DecisionTrees . 因为 RandomForest 是整体模型,并且它本身对数据一无所知,所以它完全依赖于基本估计器的判决(在本例中为 DecisionTrees ),并聚合它们 .

    那么, DecisionTree 如何处理持续的功能:请查看this官方文档页面 . DecisionTreeClassifier 适用于连续数据集(Fisher虹膜),如果您将查看树的图片 - 它在此节点上的某个选定要素的每个节点中具有阈值 .

相关问题