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