1. 程式人生 > >pandas 下的 one hot encoder 及 pd get dummies 與 sklearn prepr

pandas 下的 one hot encoder 及 pd get dummies 與 sklearn prepr

vector int www. apt tor 人工智能 can nco action

  • sklearn.preprocessing 下除了提供 OneHotEncoder 還提供 LabelEncoder(簡單地將 categorical labels 轉換為不同的數字);

1. 簡單區別

Panda’s get_dummies vs. Sklearn’s OneHotEncoder() :: What is more efficient?

  • sklearn.preprocessing 下的 OneHotEncoder 不可以直接處理 string,如果數據集中的某些特征是 string 類型的話,需要首先將其轉換為 integers 類型;

    • 在新版本中 sklearn 中,OneHotEncoder 實例的 fit 方法將不再接收 1 維數組,而必須是顯式的二維形式;
    encoder = OneHotEncoder()
    encoder.fit([[1, 2], [2, 1]])
    • 1
    • 2
  • pd.get_dummies(),則恰將 string 轉換為 integers 類型:

    >> pd.get_dummies([‘A‘, ‘B‘, ‘A‘])
       A  B
    0  1  0
    1  0  1
    2  1  0
    • 1
    • 2
    • 3
    • 4
    • 5

2. sklearn.feature_extraction 下的 DictVectorizer

How can i vectorize list using sklearn DictVectorizer

將字典類型表示的屬性,轉換為向量類型:

>> measurements = [
     {‘city=Dubai‘: True, ‘city=London‘: True, ‘temperature‘: 33.},
     {‘city=London‘: True, ‘city=San Fransisco‘: True, ‘temperature‘: 12.},
     {‘city‘: ‘San Fransisco‘, ‘temperature‘: 18.
}, ] >> vec.feature_names [‘city=Dubai‘, ‘city=London‘, ‘city=San Fransisco‘, ‘temperature‘] >> vec.fit_transform(measurements).toarray() array([[ 1., 1., 0., 33.], [ 0., 1., 1., 12.], [ 0., 0., 1., 18.]])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

pandas 下的 one hot encoder 及 pd get dummies 與 sklearn prepr