從零開始機器學習-9 數(shù)據(jù)的表示——特征工程(上)

本文由 沈慶陽 所有,轉(zhuǎn)載請與作者取得聯(lián)系!

前言

我們先來回顧一下什么是特征噪生。
特征(Feature)即機器學習中的輸入變量阵翎。通過機器學習逢并,我們可以得到定義了特征與標簽之間關(guān)系的模型。
在傳統(tǒng)的編程理念中郭卫,程序員往往關(guān)注點停留在代碼身上砍聊。而在機器學習的項目中,工程師的關(guān)注點轉(zhuǎn)移到表示(Representation)上面箱沦。即工程師通過添加辩恼、改進特征來調(diào)整模型。
在機器學習中,數(shù)據(jù)和特征決定了機器學習的上限灶伊,模型和算法只是逼近這個上限疆前。特征工程即從原始數(shù)據(jù)中提取最大限度的特征以供模型使用。

從原始數(shù)據(jù)中映射到特征

假設(shè)我們得到的原始數(shù)據(jù)如下聘萨。

0:{
  person_info:{
  age:21
  gender:'male'
  career:'teacher'
  ...
  }
}

上面我們獲取了一個人的信息竹椒,其屬于輸入數(shù)據(jù)源的原始數(shù)據(jù),而機器學習需要的輸入是樣本表示為實數(shù)矢量米辐。為了將原始數(shù)據(jù)轉(zhuǎn)換為特征矢量胸完,我們需要運用到特征工程。通常在機器學習的項目中翘贮,特征工程要花費大量的時間赊窥。
通過特征工程,我們將原始數(shù)據(jù)映射到機器學習特征狸页。(下述為機器學習特征矢量的舉例锨能,非對應上述原始數(shù)據(jù))

[
21.0,
0.0,
5.31,
6.44,
0,
0,
...,
]

在映射的過程中,整數(shù)和浮點數(shù)作為原始數(shù)據(jù)不需要進行特殊的編碼芍耘,因此可以對整數(shù)直接復制實值特征址遇。

字符串映射的兩種方法

而對于字符串的映射較為特殊,機器學習的模型無法通過字符串進行學習斋竞,因此我們需要對字符串進行一些特征工程的轉(zhuǎn)化倔约,將字符串轉(zhuǎn)換為數(shù)字的形式。
與枚舉型(Enumeration)有些類似坝初,我們將職業(yè)(Career)想象成一個枚舉型變量浸剩。枚舉型變量實質(zhì)上是用整形代替字符串,這點與特征工程處理字符串有類似脖卖,但不同乒省。

Career{
  Teacher,Student,Engineer,Agent,...
}

枚舉型變量的Teacher對應的是0,Student對應的是1畦木,Engineer對應的是2袖扛。

字符串映射:獨熱編碼(One-Hot Encoding)

而在特征工程中,我們的Career不再是一個占據(jù)一個存儲空間的整形變量十籍,而是一個二元矢量蛆封。假設(shè)Career一共有20個職業(yè),那么Career在特征矢量的表示下就是一個長度為20的一維數(shù)組勾栗。Teacher對應的是一維數(shù)組的第一個元素惨篱,Student對應的是一維數(shù)組的第二個元素,以此類推围俘。當Career為Student時砸讳,第二個元素的值為1琢融,其余值為0。當Career為Engineer時簿寂,第三個值為1漾抬,其余值為0。
這種映射方法叫做獨熱編碼映射字符串常遂。其基本步驟如下:
1纳令、定義詞匯表:將需要表示的字符串定義在一個詞匯表中。對于Career特征克胳,該詞匯表包含所有樣本中的Career職業(yè)平绩。
2、獨熱編碼:在創(chuàng)建完詞匯表之后使用該詞匯表創(chuàng)建一個獨熱編碼漠另,將指定字符串表示為二元矢量捏雌,該矢量的長度為詞匯表中詞匯的個數(shù)。該矢量只有一個元素為1酗钞,其余元素均為0腹忽。
獨熱編碼適合特征的可能值較多的情況。

字符串映射:映射分類值(枚舉)

在分類特征個數(shù)較少的情況下砚作,我們使用映射分類值得方法。該方法與枚舉型一致嘹锁。
此外葫录,機器學習模型也可以將單個字符串表示為多個布爾值得特征,如领猾,
x1:是Teacher么米同?(True或False)
x2:是Student么?(True或False)
x3:是Engineer么摔竿?(True或False)

選用良好的特征

在將原始數(shù)據(jù)轉(zhuǎn)為特征矢量之后面粮,我們的關(guān)注點需要放在對特征矢量的選擇上。
總的來說继低,良好的特征具有如下特點:
1熬苍、不存在或很少存在使用率低的離散特征值
2、特征具有清晰明確的含義
3袁翁、考慮到上游不穩(wěn)定性
下面將會對這三個特點逐個解析柴底。

避免使用率低的離散特征值

什么樣的特征才叫使用率低的特征呢?
一個良好的特征值在數(shù)據(jù)集中出現(xiàn)大約5次及以上粱胜。只有這樣柄驻,機器學習的模型才能學習這個特征值與標簽之間的關(guān)系。大量的離散值相同的樣本可以讓模型了解不同設(shè)置中的特征焙压,從而判斷何時能對標簽做出良好的預測鸿脓。
以上文中講到的Career為例抑钟,Career特征包含大量的樣本,其中一個為Teacher野哭。那么Career就是一個可取的特征在塔。
反之,一個特征出現(xiàn)的次數(shù)很少虐拓,比如在person_info中加入person_id:51029302020XXXXX心俗,那么person_id便不適合作為特征,因為這個值是唯一的蓉驹,模型無法從這個特征中學到任何規(guī)律城榛。

具有清晰明確的含義

良好的特征應該具有清晰且明確的含義。像是person_info中的age:21可以明確地知道這個人是21歲态兴。
但如果將person_info中的age表示成這樣age:3900192844(以分鐘或是小時來計算年齡)怕是沒人知道這個人幾歲了狠持,那么這個特征值便是糟糕的特征值。
在有些情況下瞻润,一些沒有經(jīng)過過濾的喘垂,來源不恰當?shù)奶卣髦狄矔е绿卣骰靵y。像age:233绍撞。那么這個年齡明顯超過了人類的最大年齡正勒。
假設(shè)有一個特征值是一門考試的成績,該特征是從0到100的浮點值傻铣。如果該特征值是落在0到100之間章贞,那么這個特征值是良好的。如果一個樣本沒有參加考試非洲,那么其特征值應該是多少呢鸭限?
一般編程的時候我們采用-1來表示這個值是奇異的。但是两踏,在機器學習的項目中一定要杜絕這種表示方法败京!我們應該新建立一個特征,來表示這個特征值是否存在梦染。

考慮到上游不穩(wěn)定性

對于良好的特征赡麦,特征的定義不應該隨著時間而變化。

清理數(shù)據(jù)

在準備數(shù)據(jù)集的時候弓坞,一些輸入可能是會對模型學習結(jié)果產(chǎn)生不好影響的壞數(shù)據(jù)隧甚。比如在前面我們訓練TensorFlow的Object Detection項目的時候,一個樣本中對Pen的標注出現(xiàn)偏差渡冻,或是將茶杯標注成了Pen戚扳。在機器學習的時候,我們會花費大量的時間來挑除這樣的壞樣本來拯救數(shù)據(jù)集族吻,因為即使存在少量的壞數(shù)據(jù)也會對一個大規(guī)模的數(shù)據(jù)集產(chǎn)生很大的影響帽借,甚至是破壞整個數(shù)據(jù)集珠增。
下一節(jié),我們將會通過具體練習的實例來進行清理數(shù)據(jù)砍艾。

覺得寫的不錯的朋友可以點一個 喜歡? ~
謝謝你的支持蒂教!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脆荷,隨后出現(xiàn)的幾起案子凝垛,更是在濱河造成了極大的恐慌,老刑警劉巖蜓谋,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梦皮,死亡現(xiàn)場離奇詭異,居然都是意外死亡桃焕,警方通過查閱死者的電腦和手機剑肯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來观堂,“玉大人让网,你說我怎么就攤上這事∈郏” “怎么了溃睹?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胰坟。 經(jīng)常有香客問我丸凭,道長牡借,這世上最難降的妖魔是什么撞叨? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任驾凶,我火速辦了婚禮,結(jié)果婚禮上狠裹,老公的妹妹穿的比我還像新娘。我一直安慰自己汽烦,他們只是感情好涛菠,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著撇吞,像睡著了一般俗冻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牍颈,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天迄薄,我揣著相機與錄音,去河邊找鬼煮岁。 笑死讥蔽,一個胖子當著我的面吹牛涣易,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冶伞,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼新症,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了响禽?” 一聲冷哼從身側(cè)響起徒爹,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芋类,沒想到半個月后隆嗅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡梗肝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年榛瓮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巫击。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡禀晓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坝锰,到底是詐尸還是另有隱情粹懒,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布顷级,位于F島的核電站凫乖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弓颈。R本人自食惡果不足惜帽芽,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翔冀。 院中可真熱鬧导街,春花似錦、人聲如沸纤子。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽控硼。三九已至泽论,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卡乾,已是汗流浹背翼悴。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留说订,地道東北人抄瓦。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓潮瓶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钙姊。 傳聞我的和親對象是個殘疾皇子毯辅,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容