Sklearn 的 OneHotEncoder 說明與簡單範例

Sklearn 是 Python 機器學習 ( Machine Learning ) 或資料分析中一個好用的工具,其中 OneHotEncoder 是可以將特徵扁平化的工具,配合  LabelEncoder 使用效果更好,這邊做一個簡單的用法說明教學

例如有以下資料 :

data = [ ['cat', 1], ['cat', 2], ['dog', 3], ['cat', 2], ['fish', 0] ]

第一步就是先用 LabelEncoder 將 cat,dog,fish 變成 0,1,2 來方便後續資料處理

( 別忘記先轉成 numpy array 比較好處理,   ndata = np.array(data) )

# 將 cat, dog, fish 分類, 成 0, 1, 2
ndata[:, 0] = LabelEncoder().fit_transform(ndata[:, 0])
"""
        type
array([['0', '1'],
       ['0', '2'],
       ['1', '3'],
       ['0', '2'],
       ['2', '3']],
      dtype='<U4')
"""

 

接下來用 enc = OneHotEncoder().fit(ndata) 來取得一個 OneHotEncoder 編碼器 ( enc )

 

Continue reading “Sklearn 的 OneHotEncoder 說明與簡單範例”