cda

全國校區

您的位置:首頁 > 精彩閱讀 > 從“脫單”這件小事看數據分析與機器學習(上)

從“脫單”這件小事看數據分析與機器學習(上)

2019-07-05

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

本文由公眾號 AIU人工智能(ID:ai_cda)出品,轉載需授權

故事背景

Hello,大家好,我是一個在帝都漂了好幾年的北漂,剛開始的時候還好,隨著年紀的增長每次給家里打電話或者回家都像是經歷一次渡劫,當然每每渡劫都不成功,被父上母上大人聯手劈的外焦里嫩。如果有和我差不多年紀的單身哥們兒大概會懂這種感受.過程是這樣的,最開始的催找女朋友---中期即使沒有女朋友也要直接催婚—后期的連女朋友都沒有就直接催生,我也是招架不住.

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

哦,忘了交代,至于我為什么還沒有女朋友,是不是我氣質猥瑣又不上進?必須不是啊,想當年我也是社會主義接班人來著,絕對是五官和思想一樣端正,作為一名數據分析師,兢兢業業,為公司創造多大價值這種涉及商業機密的事兒就不多說了,所以我沒女朋友真的單純的是因為一沒時間去找,二是圈子太小,平時公司的團建看著出席的一雙雙一對對的,不知各位有沒有體驗過冷冷的狗糧胡亂的往嘴里塞是什么感受,其實也還好,公司男多女少,單身汪們平攤一下火力,還能剩下點肚子吃點團建餐。

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

然而,作為一個正常的男人,還是需要妹子的啊!可是,身為公司棟梁,平時的工作,我要說忙成狗吧,狗都不樂意,畢竟我家的狗子平時除了拆家來活動活動筋骨之外就沒啥可忙的!所以,我也沒時間去各種活動認識妹子,當我再次把這樣的理由報告給電話另一端的母上大人時,母上大人怒了:”沒時間參加什么活動,就不能從網上找一個嘛?虧你還天天炫耀沒有什么是你不能分析的,你怎么就不分析分析怎么找個女朋友?!“ 哇塞!母上大人英明啊!以前覺得網上各種交友網站不太靠譜,魚龍混雜,我去粗取精一下不就好了嘛,在我眼里,一切皆數據啊,數據提取出來分析分析找出靠譜的數據就好了嘛!

“脫單”大計正式開始執行

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

第一步

OK,說干就干,既然是要通過數據分析來找一個女朋友,當然是要走個完整流程,第一步,確立目標!我的目標是要結交一個以結婚為目的的女朋友!不要小瞧這個目標,里邊包含的學問可不少,首先,要進行數據分析,目標一定要明確!目標猶如燈塔,唯一且明亮,這樣才能指引小船不偏離航道。當然很多時候目標都是階段性的,在一個大的項目里邊,會有一個大的總目標,而總目標又通常會被拆解成若干個小目標,一一攻破。 就像現在我的目標,要結交一個以結婚為目的的女朋友,就可以拆解成幾個小目標,首先要先獲取到妹子的信息,其次再進行梳理篩選自己中意的,再次要去了解妹子,知己知彼,而后要創造和妹子接觸的機會,最后發展成我的女朋友,當然后邊還有終極目標,就是成功娶回家嘍。咳咳,目標定的還不夠遠大,畢竟以后我們孩子要叫什么名字上哪所幼兒園之類的我還沒開始想……

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

第二步

好了,目標已經確立好,接下來第二步,獲取數據!enmmm,數據從哪里獲取比較好呢,有那么多相親網站交友軟件,作為數據分析師,任何決定可都不是拍腦袋決定的,選擇數據源也一樣,而且數據源的質量直接影響后期我能找到合適妹子的概率,或者說影響我能找到合適妹子的效率,所以,數據源的數據質量不容忽視。在工作中,大多數時候我的數據源來自公司數據庫和網頁公開數據,現在我的數據源就僅限于網頁公開數據了。至于我的數據源是怎么選擇的呢,特別的簡單,直接爬了幾個相親網站的數據,雖然據說有一些信息不真實,好在基數夠大,況且我只找一個女朋友,多了,咱也不敢要啊,不,是多了我也不會要的,我可是思想端正的社會主義好青年!思想工作結束,繼續我的數據分析工作!去寫爬蟲!

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

爬不同的網站,寫一套爬蟲是不夠的,而且網站數據更新,爬取同一個網站的爬蟲也要有改變。不過主要語法框架是差不多的,修改起來并不難,而且Python這種語言,開發效率相當高,重寫一套爬蟲對于我這種經常需要爬網站的數據分析師來說,根本就不叫事兒嘛!所以,最開始幾天的下班后,我一直在爬啊爬,爬啊爬,爬啊爬…….盡量多爬幾個網站數據,廣撒網,盡量把最有可能的那個她網羅進我的數據庫中!當然我爬取的都是公開的數據,比如昵稱、編號、地區、昵稱、愛好、對另一半要求以及網站給出的匹配度等等。至于我爬了哪些網站的公開信息嘛,保密啊,畢竟這些網站大佬們又不會給我打廣告費,哈哈哈!

第三步

終于,搞定了數據源之后,我到了第三步,數據清洗!這一步是我比較不愿意面對的一步了,為什么呢,因為工作量實在是有點大,根據我多年的從業經驗,數據清洗在數據分析的整個流程中大概占到了60%--80%的工作量。類似于做菜前的摘菜、洗菜、切菜等等工作,貌似飯店的配菜工。想想有這么一個配菜工,一大堆的菜要摘,不符合要求的菜葉子要都剔除出去,不能有遺漏,萬一客人在盤子里發現了一片顏色不對的爛葉子,這是會影響飯店形象和收益的。OK,好不容易經過萬分仔細的摘菜之后,開始洗菜了,保證每片菜葉子都洗干凈,一點沙粒都不能留,要不硌著客人的牙了咋辦?終于摘菜洗菜后,到了切菜的環節,考驗刀工的時候到了,一定要切的粗細均勻,賣相太差會顯得我們做菜很不專業!

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

現在大家都能明白的配菜過程,映射到數據清洗過程是這樣子的:首先,查看數據的全貌,做一個簡單判斷,比如我需要的數據是有時間要求的,如果一個妹子半年都沒登錄過相親網站,即使她的各項條件都特別的吸引我,也沒啥用啊,人家可能是找到如意郎君了,可能是受了情傷再也不相信愛情了,可能是沉迷于工作無法自拔了……不管什么原因吧,人家妹子都不來這個網站了,我也聯系不到她啊!所以我的數據是按照妹子們最近一次登錄的時間來排列的,只要最近登錄時間為兩周之內的,前邊說過,作為一個數據分析師,任何決定都不是拍腦袋決定,然而,凡事有例外,如果這是公司項目,我會去爬取更多的數據,然后算一下,大概多久不登錄的賬戶,在后期的日子里會再也不登錄了,但是這是我自己的事兒,加上我時間有限(好吧,其實我還有一點想偷懶),所以就沒有去爬取更多的數據做這項分析,只是抽樣了一些數據簡單看了下,大概把時間節點定在了兩周。當然不是說登錄時間兩周前的就完全沒希望,這只是一個概率的問題而已。

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

到了這一步,開始我真正的摘菜洗菜切菜的工作,不不不,是真正的數據清洗工作。首先,信息填寫不全的,關鍵信息有缺失的那種,就可以直接刪除了,比如我都不知道對方妹子多大,在不在我的擇偶范圍之內的這種,就只能刪掉了,否則萬一經過我的各種分析出來一個我特別中意的妹子,聯系后發現人家不是比我大太多就是小太多,這就尷尬了對不對,所以工作要做在前邊,盡量考慮到各種可能發生的情況,要不然事情做到一半或者即將結束的時候發現問題要推倒重來實在是令人崩潰。所以,第一步來處理缺失值問題,有些缺失值不太影響最后結果的,比如昵稱這種,在一定程度上可以反映對方的性格或者偏好,但是對最終的結果不會影響太大,就不用因為它的缺失而刪除整條記錄了,但是放任不管,后期數據扔進模型的時候又會受到影響,就可以考慮填充一下啦。至于用什么填充,可以考慮用編號填充,這樣填充的記錄不會有重復。

處理完缺失值后該處理重復值了,重復的記錄對分析的結果還是很有影響的,想象一下,經過各種分析,最后我終于挑出來三五個妹子覺得可以溝通互相了解一下,結果發現其中三條記錄信息都是同一個妹子的,會不會覺得自己損失了一大片森林?重復記錄的處理就沒什么其他選擇了,果斷刪除,行動要快,動作要帥,裝X完畢!最后是離群值的處理,怎樣的數據算離群值呢,比如說我可以對年齡數據畫一個箱線圖,設置參數,使年齡大于多少的和小于多少的成為離群值,至于這個多少是哪個數字嘛就不方便透露了,畢竟這只是我的個人傾向,并且處在這兩個年齡階段的妹子也不是不好,就像上邊篩選登陸時間的理念是一樣的,只是概率問題,我與異性接觸的有限經驗顯示這兩個年齡段的妹子和我能聊到一起的概率不太大而已。然后,在箱線圖上下限之間的記錄就會被留下來了。

從“脫單”這件小事看數據分析與<wordsbank_match class='wbmatch' location='/map/jiqixuexi/' style='cursor:pointer;'>機器學習</wordsbank_match>(上)

到這里,數據清洗的工作好像就已經完成了,留下的數據是完整干凈符合要求的數據了。事實真是如此么,如果這么簡單粗暴,我還怎么好意思宣稱自己是公司的棟梁,是能夠為社會主義建設貢獻力量的好青年呢?事情當然不會這么簡單,畢竟這中間隱藏著很多虛假信息啊,據說有各種托,作為一個平時勤儉節約一心在攢老婆本兒的五好青年,必須不能落入托的圈套去各種花錢買買買,所以要在數據進入模型前把這些虛假信息篩選剔除出去。就像是每個公司的業務不同,沒有哪套制式的流程能夠適應所有公司,都是需要基于具體業務的。

單純的從數據層面上來說,前邊的流程的確也算是完成了清洗,但是從業務層面來說還遠遠不夠,這也是數據清洗工作量比較大的原因之一,需要根據具體業務調整清洗的標準呢。所以接下來就是要剔除虛假信息。要剔除虛假信息,首先需要對虛假信息進行判定,具體的標準就不透露,我保證不了這套標準能夠百分百的剔除虛假信息還不誤刪正常信息,所以呢,對于我自己這個“脫單”項目的數據清洗工作就算是完成啦。

(未完待續,本故事純屬虛構,如有雷同,純屬巧合)

完 謝謝觀看

分享
收藏

OK
彩经网双色球免费预测