pandas 下的 one hot encoder 及 pd get dummies 與 sklearn prepr
阿新 • • 發佈:2019-03-03
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