我正在处理一个分类问题,使用的是Python中的逻辑回归模型(scikit learn)。我的一个特征是性别。在原始数据集中,这个变量是一个字符串(男性,女性)。我使用了pandas的get_dummies方法,生成了两列0,1值的列,每个类别一列。
我的问题是,我应该使用两个不同的列,还是使用单列比如男性(0,1)?
回答:
我个人喜欢为具有n
个类别的字段使用n - 1
列。在使用get_dummies
方法时,这意味着将drop_first
设置为True。
至于我为什么喜欢这样做;我的前任导师在他的回答中很好地解释了这一点,关于独热编码与虚拟编码在scikit learn中的比较。基本上,这归结为消除共线性。