问题描述
当我们有离散变量,例如年龄、病假数量、家庭中的孩子数量和数据帧中的缺勤次数时,我想制作一个具有二元结果的预测模型,是否可以将这些变量包括在内与其他数值连续变量一起进入标准化或归一化过程?
或者我应该将这些离散变量归类为分类变量并将它们变成虚拟变量吗?
解决方法
没有。这些变量应被视为分类变量。您可以在需要对分类变量进行分类编码之后对数值变量进行标准化。一种编码方式
pd.get_dummies(df['key'])
#and then delete one of the dummy variables,to avoid the multi-collinearity problem
另一种使用 sklearn
method
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
data = enc.fit_transform(df['key'])
请确保您仅在训练样本上拟合数据。然后对训练集和测试集进行转换。
,如果它们不是目标变量之一,则可以将这些变量与其他数值连续变量一起包含到标准化或归一化过程中。