iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 17
0
Google Developers Machine Learning

Machine Learning(by Google)系列 第 17

【Day17】2rd:特徵十字(Feature Crosses)# 2 -One-Hot Vectors

為解決無法用「線性函數」做區別的資料,除了前一篇所言,還可以使用「Crossing One-Hot Vectors」。
(也許可以說「一個熱鍵」?)


文章:crossing one-hot vectors

One-Hot Vectors,可以參考這篇文章裡面說得還滿仔細。

In this case, a one-hot encoding can be applied to the integer representation. This is where the integer encoded variable is removed and a new binary variable is added for each unique integer value.

簡單來說,就是把變數變得更單純,只把我們要的變數值設為「1」,其他變數值設為「0」,就行了!聽起來很濛懂,來看看例子。假設有三種語言:中文、英文、德文,結合人是否會說該語言做交叉資料,如果每個人會的就設「1」,其他為「0」,現在有4個人,他們分別會說:中、中、英、德,所以就會變從:

會說的語言
中文
中文
英文
德文

變成

中文 英文 德文
1 0 0
1 0 0
0 1 0
0 0 1

從原本的數據是「語言種類」,也就是多中文、英文、德文等多種不同變數,把這個部分拉出來變成新的數據陣列變成「1、0」,也就是bit格式,這樣資料在使用的時候可以更容易給機器進行學習。

所以google提出一個例子:

  • 狗狗叫、走路等等動作的時間
  • 主人回來的時間

他用這兩者交叉比對。「動作」這個行為在該時間點有「1」、「0」,也就是動與不動;同樣的「回來(在家)」,也是有分在與不在。所以製作圖表後,可以看得出來,狗的動作與在主人有沒有在家,是否有關連。


可參考簡易說明的文章:One-Hot Encoding : The Standard Approach for Categorical Data


上一篇
【Day16】2rd:特徵十字(Feature Crosses)
下一篇
【Day18】2rd:Feature Crosses #3-遊戲時間
系列文
Machine Learning(by Google)30

尚未有邦友留言

立即登入留言