ecoding代碼演示獨熱編碼的過程。
一、獨熱編碼原理
獨熱編碼將每個分類變量轉(zhuǎn)換為一個二進(jìn)制向量,其中向量的長度等于總的分類數(shù)。對于每個分類變量,只有一個元素為1,其他元素為0。例如,對于一個有三個分類的變量,可以將它們轉(zhuǎn)換為如下的三個二進(jìn)制向量
分類1[1, 0, 0]
分類2[0, 1, 0]
分類3[0, 0, 1]
這樣的轉(zhuǎn)換可以將分類變量轉(zhuǎn)換為機器學(xué)習(xí)算法更容易處理的形式,同時也避免了分類變量之間的大小關(guān)系對模型的影響。
二、獨熱編碼實現(xiàn)方法
eHotEncoder類來實現(xiàn)獨熱編碼。下面是一個簡單的例子
gporteHotEncoderportumpyp
原始分類變量p.array(['', 'B', 'C', '', 'B'])
eHotEncoder對象codereHotEncoder()
將分類變量轉(zhuǎn)換為獨熱碼ehotcodersform(categories.reshape(-1,1)).toarray()
tehot)
輸出結(jié)果為
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]
[1. 0. 0.]
[0. 1. 0.]]
umpyeHotEncodersformumpy數(shù)組,并輸出結(jié)果。
eHotEncoder類只能處理整數(shù)或字符串類型的分類變量,如果需要處理其他類型的變量,需要進(jìn)行類型轉(zhuǎn)換。
eHotEncoder類來實現(xiàn)獨熱編碼。本文通過一個簡單的例子演示了獨熱編碼的實現(xiàn)過程。