有一些列如branch_id、state_id或country_id。这些值在每一行中并不是唯一的,像id那样。
在进行机器学习项目时,如何处理这些列呢?
我通常只是将它们转换为名义类别
train.branch_id = train.branch_id.astype('category',ordered =False)
回答:
最简单的做法是使用pandas.get_dummies。
假设你有一个如下所示的序列:
s = pd.Series(list('abca'))Output:0 a1 b2 c3 a
然后:
pd.get_dummies(s)Output: a b c0 1 0 01 0 1 02 0 0 13 1 0 0
这些数据然后作为独立特征进入你的训练数据集。
然而,如果你在做回归模型,要小心这个陷阱。