Scikit-learn資料預處理分類變數編碼之多標籤二值化
阿新 • • 發佈:2021-01-15
技術標籤:機器學習
Scikit-learn資料預處理分類變數編碼之多標籤二值化
1 宣告
本文的資料來自網路,部分程式碼也有所參照,這裡做了註釋和延伸,旨在技術交流,如有冒犯之處請聯絡博主及時處理。
2 名義變數多標籤二值化編碼簡介
名義變數(特徵)是(nominal features)分類變數的一種,變數間沒用次序和等級之分。比如性別的男、女;民族的漢族、回族、傣族等。
多標籤二值編碼(MultiLabelBinarizer)可以將該型別的變數(多標籤)以二值的形式表示。比如在輸入法面板的標籤體系這個場景中,某款面板可以是暖色的、科技的、夢幻的多個標籤。
注:這裡主要針對原始分類變數是字串的情況。
3名義變數多標籤二值編碼
import numpy as np import pandas as pd from sklearn.preprocessing import MultiLabelBinarizer multilabel_feature = [("black", "dress"), ("red", "jeans"), ("blue", "shoe"), ("black", "jeans"), ("red", "shoe"), ("black", "jeans"), ("blue", "dress")] one_hot_multilabel = MultiLabelBinarizer() one_hot_multilabel_data=one_hot_multilabel.fit_transform(multilabel_feature) print(one_hot_multilabel_data) print(one_hot_multilabel.classes_)