Introduction
- 將文字型的數據轉換為數值型數據
分類標籤轉換為分類數值(LabelEncoer
)
- 為標籤(Label)專用的,能夠將文字分類轉換為分類數值
- 位於
sklearn.preprocessing
中 - 實例化成物件後,因其接受的數據為標籤,所以允許一維數據的輸入
- 不用將其轉換為二維 一列的數據
方法
與其他轉換器(transformer)一樣皆具有fit_transform
、fit
、transform
、inverse_transform
等方法
屬性
.classes_
- 查看標籤中有哪些類別
LabelEncoder.classes_
分類特徵轉換為分類數值(OrdinalEncoder
)
- 為特徵專用的,將文字分類特徵轉換為數值
- 位於
sklearn.preprocessing
中 - 不允許導入一維的數據
方法
與其他轉換器(transformer)一樣皆具有fit_transform
、fit
、transform
、inverse_transform
等方法
屬性
.categories_
- 查看各個特徵中有哪些類別
OrdinalEncoder.categories_
one-hot編碼(OneHotEncoder
)
- 用作表示互相獨立且不可計算的變量,例如性別,進船的艙門等
- 位於
sklearn.preprocessing
中 OneHotEncoder(categories="auto")
categories
:0.20版本可以直接輸入"auto"
會自動遍歷特徵有多少類;0.19版本須用list明確指定各個特徵含有多少類別
方法
與其他轉換器(transformer)一樣皆具有fit_transform
、fit
、transform
、inverse_transform
等方法
transform 與 fit_transform
- 其會將載入的數據進行one-hot編碼後輸出,輸出的為sparse matrix
- 如欲輸出像前面兩種編碼器的ndarray型式的話,需進行
toarray()
data_array = OneHotEncoder.fit_transform(data).toarray()
inverse_transform
- 依然可以進行還原
get_feature_names
- 查看onehot編碼後的 sparse matrix 各列(column)對應的原特徵的類別
OneHotEncoder.get_feature_names()
tips
- 可對標籤Label進行one-hot編碼
- 使用
sklearn.preprocessing.LabelBinarizer
- 在實際處理時並不常見
- 使用