2017-08-25 78 views
0

很簡單的問題:是否將模型變換自動分類爲虛擬變量?

我想要擬合一個迴歸模型。我已經讓熊貓知道這些變量是絕對的。示例代碼:

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

是否需要創建虛擬變量,或者模型會在我適合它時自動創建它們?

什麼是一般的經驗法則?每次我想使用分類變量時,是否需要創建虛擬變量?

回答

0

指定astype('category')幫助蟒蛇瞭解以下內容:

  • 僅由幾個不同值的字符串變量。這樣的字符串變量轉換爲分類變量將節省一些存儲
  • 變量的詞彙順序是不一樣的邏輯順序(「一」,「二」,「三」)。通過轉換爲分類並指定類別上的順序,排序和最小/最大將使用邏輯順序而不是詞法順序

但是,要將分類數據饋送到模型中,它需要是數字(如果它是字符串)並規範化。

你可以用`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技術以及

+0

謝謝你的答案。我的變量已經編碼爲數值,所以我想我不需要改變它們。 我會從現在開始擬合模型前創建虛擬變量。 – Toutsos

+0

好的。如果你能接受它作爲答案,會不會很好 – raul