1. 程式人生 > 其它 >Scikit-learn資料預處理分類變數編碼之多標籤二值化

Scikit-learn資料預處理分類變數編碼之多標籤二值化

技術標籤:機器學習

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_)