我正试图与泰坦尼克生存挑战在卡格尔https://www.kaggle.com/c/titanic。
我没有R方面的经验,所以我使用Python和Scikit学习随机森林分类器
我看到很多人使用scikit学习将他们对许多级别的分类转换为虚拟变量。
我不明白这样做的意义,为什么我们不能把这些级别映射成一个数值,然后用它来完成。
我还看到有人这样做:有一个分类特性Pclass具有三个级别,他为此创建了3个虚拟变量,并删除了存活率最低的变量。我也不明白这一点,我认为决策树并不关心相关的特性。
发布于 2016-08-29 14:08:02
如果您只是将级别映射到数值,python将将您的值视为数字。也就是说,数字1<2等等,即使您的水平最初是无序的。想想“距离”问题。这个1到2之间的距离是1,1和3是2。但是你的分类变量之间的原始距离是多少呢?例如,“香蕉”“桃子”和“苹果”之间的距离是多少?你认为他们都是平等的吗?
关于虚拟变量:如果你有3个类并创建了3个虚拟变量,它们不仅仅是相关的,它们是线性相关的。这从来都不是好事。
https://stackoverflow.com/questions/39203422
复制相似问题