數(shù)據(jù)探索(Data Exploration)完整指導(dǎo)-下

翻譯/編輯/部分原創(chuàng) Vivian Ouyang? 原作者:Sunil Ray

在機器學(xué)習(xí)中内狸,很多時候你會掙扎于怎么提高模型的準確率佳吞。在這種時刻舀患,數(shù)據(jù)探索的一些方法將幫助你解決這個問題忆矛。這個指導(dǎo)將幫助你理解數(shù)據(jù)探索中的主要技術(shù)卵迂。請記住你輸入的變量的數(shù)據(jù)質(zhì)量決定了你模型輸出量的質(zhì)量裕便。所以當你的商業(yè)問題提出來以后,你需要花費很多時間在數(shù)據(jù)準備和探究上面,一般來說见咒,數(shù)據(jù)清理偿衰,探究和準備大概占據(jù)了一個項目70%的時間航唆。下面是準備萧芙,理解,清理你用于建立預(yù)測模型的數(shù)據(jù)的幾個步驟,我會一個一個來介紹

1.變量確定

2.單變量分析

3.雙變量分析

4.處理缺失值

5.處理離群值

6.變量轉(zhuǎn)換

7.變量創(chuàng)建

在下部會介紹5,6,7三個部分采驻。


處理離群值

離群值(Outlier)經(jīng)常會引起很多錯誤的模型估算和預(yù)測宝当。簡單的講视事,離群值就是離整體數(shù)據(jù)分布或者模式很遠的觀測點。舉個簡單的例子庆揩,一個研究顯示一般人的年收入是8萬俐东,但是發(fā)現(xiàn)其中有兩個用戶的年收入有4塊錢或者400百萬,這兩個用戶就可以看成是離群點订晌。下圖就是一個箱線圖的離群點的例子虏辫,被圈出來的就是離群點。

離群值的種類

離群值一般有兩個種類锈拨,一個是一元離群值砌庄,一個是多元的離群值。比如上面箱線圖的離群值點奕枢。這種離群值一般是在我們觀察單變量的分布的時候娄昆。 而多元離群值是指多維的空間,如果想找到他們缝彬,你必須看數(shù)據(jù)點的多維分布稿黄。讓我們用身高和體重之間的關(guān)系來理解一元和多元離群值。如下圖跌造,左下和左中分別是身高和體重分別的箱線圖杆怕,我們并沒有看到離群值族购,而當我們畫出右下圖的身高體重散點圖的時候,我們發(fā)現(xiàn)了三個離群值陵珍。

知道了離群值的分類寝杖,每次當我們遇到離群值的時候,最好的辦法就是找到為什么這些值會離群互纯。離群值產(chǎn)生的原因也可以分為兩大類

假的離群(就是誤差)/非自然的離群:

1.輸入誤差:就是在數(shù)據(jù)收集中產(chǎn)生的人為的錯誤瑟幕,比如數(shù)據(jù)記錄,數(shù)據(jù)輸入錯誤都會引起離群值留潦。打個比方只盹,一個顧客的年收入有十萬元,而數(shù)據(jù)輸入員將它輸入成了100萬元兔院,是原來的十倍殖卑。這個就會造成離群點。

2.測量誤差:這是最常見的離群值的來源坊萝,這個一般是由測量儀器的錯誤造成的孵稽。比如,你有十個測量儀器十偶,其中9個是準確的一個是壞的菩鲜。那么被壞儀器測量的組將會比其他儀器測量的組高或者低一些。這樣會引起離群點惦积。

3.故意的離群值:這個經(jīng)常發(fā)生在一些有敏感數(shù)據(jù)的自我報告中接校。打個比方,比如青少年一般會少報他們一周喝酒的數(shù)量狮崩,只有很少的一部分青少年會如實匯報馅笙。那么因為大部分人都少報,那實際匯報的那些數(shù)據(jù)反而看起來像離群點了厉亏。

4. 數(shù)據(jù)處理誤差:當我們做數(shù)據(jù)分析的時候董习,我們會從不同的平臺抓取數(shù)據(jù),那么這些抓取和轉(zhuǎn)換回來帶一些誤差爱只,從而產(chǎn)生離群值皿淋。

5. 樣本誤差:很簡單的比方,比如我們要測量一般運動員的身高恬试,但是我們不小心把幾個籃球隊員算進去了窝趣,因此這些造成了離群值。

自然離群

當一個離群值不是因為誤差引起的训柴,那么就是自然離群值哑舒,比如,有時候在比賽中幻馁,前面五十名比后面的幾百個人好太多洗鸵,那一般不是因為誤差越锈,因為離群值很多,那這種情況膘滨,就屬于自然離群甘凭,我們需要單獨對待這一部分人。

離群值的影響

離群值會很明顯的改變數(shù)據(jù)分析與建模的結(jié)果火邓,他們有很多的不好的影響

1.它們會增加誤差的方差丹弱,而一般誤差的方差平方根會作為統(tǒng)計量的分母,因為減小統(tǒng)計量的大小铲咨,造成p值變大躲胳,從而降低模型的統(tǒng)計功效。

2.如果離群值是非隨機分布的纤勒,那么它們會影響數(shù)據(jù)正態(tài)性分布坯苹。而很多線性模型的假設(shè)就是輸出變量Y是正態(tài)分布。

3.離群值還會影響估計值踊东,讓其差生偏差

4.離群值也會影響很多統(tǒng)計方法的統(tǒng)計假設(shè)比如線性回歸北滥,方差分析刚操。

為了容易理解闸翅,我們看一個簡單的例子,如下圖

在右上圖菊霜,因為有了離群值300坚冀,而導(dǎo)致標準差,均值什么的都產(chǎn)生了很大變化鉴逞。這會完全改變你的統(tǒng)計估計记某。

離檢驗離群值

絕大多數(shù)探測離群值的方法都是可視化數(shù)據(jù),我們使用不同的可視化方法构捡,比如箱線圖液南,頻率圖,散點圖勾徽。當然也有一些簡單判斷的準則滑凉。比如對于一元離群值,對于任意的數(shù)據(jù)喘帚,一般的范圍是正負1.5倍的四分衛(wèi)距(IQR)這種畅姊。而二元或多元離群值一般是用一種距離計算來判斷,比如馬氏距離或者線性回歸中的Cook距離吹由。

移除離群值

絕大多數(shù)處理離群值的方法與缺失值比較類似若未,可以刪除或者轉(zhuǎn)換,或者替換倾鲫。

刪除觀測值: 如果是因為非自然的離群值粗合,而且數(shù)量很少的話萍嬉,我們可以移除它們。

轉(zhuǎn)換以及給變量分組:轉(zhuǎn)換變量可以減少離群值舌劳,比如給變量取自然對數(shù)帚湘。然后對變量進行分組也是個不錯的轉(zhuǎn)換方法。比如對于分組過的變量甚淡,決策樹就可以很好地處理這些離群值大诸。而且我們還可以給不同的觀測值不同的權(quán)重。比如下圖右邊就是把左邊的觀測值進行了取自然對數(shù)過后得到的新觀測值贯卦。

替換: 類似于缺失值的替換资柔,我們也可以替換離群值,可以使用均值撵割,中位數(shù)贿堰,眾數(shù)等方法。如果是非自然的離群值啡彬,我們可以用統(tǒng)計方法去預(yù)測離群值羹与。

單獨處理: 與缺失值處理不同以及增加的一項,就是單獨處理了庶灿。如果離群值數(shù)量很多纵搁,我們在統(tǒng)計建模中,應(yīng)該把它們單獨作為一組單獨分析往踢。一般來說比較流行的統(tǒng)計方法腾誉,有那種對不同的組分別建模然后給權(quán)重進行聯(lián)合的方法。

變量變換

現(xiàn)在讓我們跳到數(shù)據(jù)探索的最后一個階段:特征工程峻呕。在介紹6.變量變換和7.變量創(chuàng)建時利职,先介紹一下特征工程,因為6和7是特征工程很重要的組成部分瘦癌。特征工程是建模中很重要的一步猪贪,是怎么從已有的數(shù)據(jù)中提取更有用信息的藝術(shù)。你并不添加任何數(shù)據(jù)讯私,而是讓你現(xiàn)有的數(shù)據(jù)怎么變得更加有用热押。一般特征工程的前五步就是我之前介紹的1,2妄帘,3楞黄,4,5.而后面兩步就是變量變換和變量創(chuàng)建抡驼。這兩步對你模型的預(yù)測準確度有很大的影響鬼廓。

在數(shù)據(jù)建模中,變量變換是指一個變量用其相關(guān)的函數(shù)變換之后的值來表示致盟。打個比方碎税,我們用x取對數(shù)之后的值來取代x的值尤慰。也可以說,變量變換改變了變量的分布雷蹂。那什么時候我們需要使用變量變換呢伟端。下面是四種情況:

1.當我們想要改變一個變量的scale活著標準化它想讓這個變量的變得更容易理解。如果你的數(shù)據(jù)有不同的scales匪煌,這種改變并不改變變量的分布的形狀

2.當我們想要把變量之間非線性的關(guān)系變成線性的责蝠。一般來講,線性關(guān)系比非線性的關(guān)系容易讓人理解萎庭。變量變量可以幫助我們完成這個霜医。一般散點圖可以讓我們可視化兩個連續(xù)變量之間的關(guān)系。比如取對數(shù)變換是我們經(jīng)常用的方法驳规。

3. 比起傾斜分布的變量肴敛,我們更喜歡對稱分布的變量。對稱分布的變量比較容易解釋而且也易于用于參數(shù)估計吗购。比如一般線性回歸會要求誤差服從正態(tài)分布医男,這里的正太分布就是對稱分布的一種。對于參數(shù)模型捻勉,我們一般都有變量的分布假設(shè)镀梭,而很多時候,我們都假設(shè)變量是對稱分布贯底,模型的理論推導(dǎo)也是建于對稱分布而來的丰辣。因此每當你有遇到很傾斜的分布的時候撒强,最好對變量做一些變換禽捆。比如,對于向右傾斜的分布飘哨,我們可以去平方根或者立方根胚想,也可以去對數(shù)。而對于向左傾斜的分布芽隆,我們可以平方浊服,或者立方或者指數(shù)化我們的變量。比如右下圖向右傾斜的分布我們就指數(shù)化我們的變量

4. 有時候變量變換是來自于項目的要求胚吁,或者說能更好的完成項目的任務(wù)牙躺。打個比方,在某個人力資源的分析中腕扶,我們發(fā)現(xiàn)孽拷,年齡和員工的表現(xiàn)有很大的關(guān)系。年齡越大半抱,表現(xiàn)越好脓恕。從應(yīng)用的觀點來看膜宋,一般更喜歡把年齡分層成比如<30歲,30-45歲炼幔,>45歲秋茫,然后對每一組年齡層,采用不同的策略乃秀。這種方法就叫做變量分層(binning)

知道什么時候做變量變換了肛著,那有哪些變量變換的基本方法呢

取對數(shù):一般用于向右傾斜分布的變量,但是它不能用于0或者負值

平方根/立方根:平方根或者立方根變量也可以改變變量分布跺讯,不過不如取對數(shù)明顯策泣。但是立方根有自己的優(yōu)勢,它可以用于0值還有負值抬吟。平方根變量可以用于含0的正值萨咕。

分組(binning):這個適用于分組變量,很多時候這種分組是建立于商業(yè)理解上火本。比如我們會把收入分為高收入危队,中等收入和低收入。當然我們有兩個變量還可以一起做多元分組钙畔。

變量建立

變量建立是利用原有的變量創(chuàng)建新變量的過程茫陆。打個比方,我們有日期的輸入變量(日-月-年)擎析,我們可以利用這個變量建立專門的日簿盅,月,年揍魂,星期桨醋,工作日等等比之前的輸入變量日期更好的變量。這個方法有時候用來強調(diào)變量的一些隱藏信息和關(guān)系现斋。下面這個表就是把日期(date)變成三個新的變量(New_Day,New_Month,New_Year)的例子喜最。

當然創(chuàng)建變量有很多方法,下面就介紹其中的兩種:

創(chuàng)建派生的變量:

這個是從原有的變量中通過函數(shù)或者其他的方法得到新的派生變量庄蹋。比如kaggle競賽中很有名的泰坦尼克號數(shù)據(jù)瞬内,很多參賽者會喜歡從人的名字變量中創(chuàng)建Master,Mr限书,Mrs和Miss這四個新變量虫蝶。那一般怎么決定派生變量呢。大部分時候要按你的商業(yè)要求來倦西。

創(chuàng)建虛擬的變量:

還有一個普遍的情況就是創(chuàng)建所謂的虛擬變量能真,一般用虛擬變量把非線性的變量變成數(shù)值變量。虛擬變量又叫指標變量。比如對于性別(gender)有男和女兩種舟陆,那么我們可以建立兩個新的變量一個叫Var_Male误澳,它的值為 1(男)和0(女),然后Var_Female變量秦躯,它的值為 0(男)和1(女)忆谓。如果非連續(xù)變量有n層(大于2),那么可以創(chuàng)建n-1個虛擬變量踱承。下面這個圖就是用性別變量(gender)來創(chuàng)建兩個虛擬變量(dummy variable)倡缠。

數(shù)據(jù)探索就介紹完了【セ睿總之昙沦,任何時候都不要小看data exploration,它是你建立模型的第一步载荔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盾饮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子懒熙,更是在濱河造成了極大的恐慌丘损,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件工扎,死亡現(xiàn)場離奇詭異徘钥,居然都是意外死亡,警方通過查閱死者的電腦和手機肢娘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門呈础,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人橱健,你說我怎么就攤上這事而钞。” “怎么了畴博?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵笨忌,是天一觀的道長蓝仲。 經(jīng)常有香客問我俱病,道長,這世上最難降的妖魔是什么袱结? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任亮隙,我火速辦了婚禮,結(jié)果婚禮上垢夹,老公的妹妹穿的比我還像新娘溢吻。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布促王。 她就那樣靜靜地躺著犀盟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝇狼。 梳的紋絲不亂的頭發(fā)上阅畴,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音迅耘,去河邊找鬼贱枣。 笑死,一個胖子當著我的面吹牛颤专,可吹牛的內(nèi)容都是我干的纽哥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼栖秕,長吁一口氣:“原來是場噩夢啊……” “哼春塌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起簇捍,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摔笤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垦写,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吕世,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年梯投,在試婚紗的時候發(fā)現(xiàn)自己被綠了命辖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡分蓖,死狀恐怖尔艇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情么鹤,我是刑警寧澤终娃,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站蒸甜,受9級特大地震影響棠耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柠新,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一窍荧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恨憎,春花似錦蕊退、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽净蚤。三九已至,卻和暖如春输硝,著一層夾襖步出監(jiān)牢的瞬間塞栅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工腔丧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留放椰,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓愉粤,卻偏偏與公主長得像砾医,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子衣厘,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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