拟合模型是否会自动转换为虚拟变量?

时间:2017-08-25 09:53:37

标签: python pandas

非常简单的问题:

我想要适合回归模型。我已经让大熊猫知道这些变量是绝对的。示例代码:

bikes_reg['month'] = bikes_reg['month'].astype('category')

我是否需要创建虚拟变量,或者在我适应它时模型会自动创建吗?

一般的经验法则是什么?每次我想使用分类变量时,是否需要创建虚拟变量?

1 个答案:

答案 0 :(得分:0)

指定astype('category')有助于python理解以下内容:

  • 只包含几个不同值的字符串变量。将这样的字符串变量转换为分类变量将节省一些内存
  • 变量的词法顺序与逻辑顺序(“one”,“two”,“three”)不同。通过转换为分类并在类别上指定顺序,排序和最小/最大将使用逻辑顺序而不是词法顺序

但是,要将分类数据输入模型,需要将其数字化(如果是字符串)并进行标准化。

您可以使用`sklearn.preprocessing.LabelEncoder来规范化标签

>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit([1, 2, 2, 6])
    LabelEncoder()
>>> le.classes_
    array([1, 2, 6])
>>> le.transform([1, 1, 2, 6]) 
    array([0, 0, 1, 2]...)

或者,您也可以使用sklearn.preprocessing.OneHotEncoder技术