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