Vik*_*h B 1 python random-forest scikit-learn
我正在尝试在 kaggle https://www.kaggle.com/c/titanic 中进行泰坦尼克号生存挑战。
我在 R 方面没有经验,所以我将 Python 和 Scikit Learn 用于随机森林分类器
我看到很多人使用 scikit 学习将他们的多个级别的分类转换为虚拟变量。
我不明白这样做的意义,为什么我们不能将级别映射到一个数值并完成它。
我还看到有人做了以下事情:有一个具有三个级别的分类特征Pclass,他为此创建了 3 个虚拟变量,并删除了存活率最低的变量。我也无法理解这一点,虽然决策树不关心相关特征。
如果您只是将级别映射到数值,python 会将您的值视为数值。也就是说,数字1<2等等,即使您的级别最初是无序的。想想“距离”问题。1 和 2 之间的距离是 1,1 和 3 之间的距离是 2。但是您的分类变量之间的原始距离是多少?例如,“香蕉”“桃子”和“苹果”之间的距离是多少?你认为他们都是平等的吗?
关于虚拟变量:如果您有 3 个类并创建 3 个虚拟变量,它们不仅相关,而且线性相关。这从来都不是好事。