【问题标题】:Scikit Learn Categorical data with random forestsScikit 使用随机森林学习分类数据
【发布时间】:2017-01-05 07:37:40
【问题描述】:

我正在努力解决 kaggle https://www.kaggle.com/c/titanic 中的泰坦尼克号生存挑战。

我在 R 方面没有经验,所以我使用 Python 和 Scikit Learn 进行 随机森林分类器

我看到许多使用 scikit 的人学习将他们的多个级别的分类转换为虚拟变量。

我不明白这样做的意义,为什么我们不能将级别映射为数值并完成它。

我还看到有人这样做: 有一个分类特征 Pclass 具有三个级别,他为此创建了 3 个虚拟变量并删除了存活率最低的变量。我也无法理解这一点,尽管决策树并不关心相关特征。

【问题讨论】:

    标签: python scikit-learn random-forest


    【解决方案1】:

    如果您只是将级别映射到数值,python 会将您的值视为数字。也就是说,即使您的级别最初是无序的,数字上的 1<2 等等也是如此。想想“距离”问题。 1 和 2 之间的距离是 1,1 和 3 之间的距离是 2。但是您的分类变量之间的原始距离是多少?例如,“香蕉”“桃”和“苹果”之间的距离是多少?你认为他们都是平等的吗?

    关于虚拟变量:如果您有 3 个类并创建 3 个虚拟变量,它们不仅相关,而且是线性相关的。这从来都不是好事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-24
      • 2022-12-06
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 2016-08-03
      • 2015-09-28
      相关资源
      最近更新 更多