標籤編碼是機器學習中最常用的技術之一。它用於將分類資料轉換為數字形式。因此,數據可以擬合到模型中。
讓我們了解為什麼我們使用標籤編碼。想像一下,資料包含 string 形式的基本欄位。但是,您無法將這些數據放入模型中,因為建模僅適用於數值數據,我們該怎麼辦?這是一種挽救生命的技術,當我們準備好資料進行擬合時,它會在預處理步驟中進行評估,即標籤編碼。
我們將使用 Scikit-Learn 庫中的 iris 資料集來了解標籤編碼器的工作原理。確保您安裝了以下庫。
pandas scikit-learn
要安裝為庫,請執行以下命令:
$ python install -U pandas scikit-learn
現在打開 Google Colab Notebook,開始編碼學習 Label Encoder。
import pandas as pd from sklearn import preprocessing
from sklearn.datasets import load_iris iris = load_iris()
species = iris.target_names print(species)
輸出:
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
label_encoder = preprocessing.LabelEncoder()
label_encoder.fit(species)
您將輸出類似這樣的內容:
如果得到此輸出,則表示您已成功擬合資料。但是,問題是如何找出分配給每個物種的值以及分配的順序。
標籤編碼器適合資料的順序儲存在classes_屬性中。編碼從0開始到data_length-1。
label_encoder.classes_
輸出:
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
標籤編碼器會自動對資料進行排序,並從左側開始編碼。這裡:
setosa -> 0 versicolor -> 1 virginica -> 2
label_encoder.transform(['setosa'])
輸出:陣列([0])
再說一遍,如果你改造維吉尼亞幣。
label_encoder.transform(['virginica'])
輸出:陣列([2])
您也可以輸入物種列表,例如["setosa", "virginica"]
標籤編碼器的 Scikit Learn 文件>>
以上是機器學習中的標籤編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!