Scikit使用随机森林学习分类数据

时间:2016-08-29 09:57:45

标签: python scikit-learn random-forest

我正在尝试用kaggle https://www.kaggle.com/c/titanic中的巨大生存挑战。

我对R没有经验,所以我使用Python和Scikit Learn来学习随机森林分类器

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

我不明白这样做的原因,为什么我们不能将关卡映射到数值并完成它。

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

1 个答案:

答案 0 :(得分:4)

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

关于虚拟变量:如果你有3个类并创建3个虚拟变量,它们不仅仅是相关的,它们是线性相关的。这永远不会好。