本文寫于8.10
昨天早上在辦離職手續的時候,我有點傷感。確切地說,這一周在做收尾工作的時候都有點說不出的離別愁緒。這種愁緒又不完全是苦澀的,因為我知道我必須要離開,而踏上一段新的旅程是令人興奮的,那么這種離開的難受就會減輕。
這段實習的到來就像天下掉下來一個大餡餅,意想不到,卻又真的讓我感到驚喜。兩個月內我完完全全獨立地完成了兩個數據挖掘的項目,體驗了現實生活中的數據科學的酸甜苦辣。現在記錄一些所學所見。
現實數據的復雜性
工作中才會發現數據量之大,數據之雜亂。做第一個項目的時候,為了清理數據我花了兩周的時間,把不統一名稱、外文字符和冗余信息處理好。數據清理占了80%的數據分析時間,誠不欺我。數據清理十分重要,如果沒有做好,那么后面的分析都不值得相信。而在這一部分,我也被迫用了面向對象型的編程方式,所有的處理方法變成一個個小模塊,封裝起來,讓處理數據的方法更加清晰。
現實算法的實用性
說到聚類,一開始都有基本的概念,能說出來干嘛的。真到需要做的時候,就發現不是那么容易了。高維矩陣的降維處理,用哪類聚類分析,怎么解讀結果,怎么證明結果是對的,這些問題都非常需要實踐的經驗。課本上學到的數據集是二維的,因為適合可視化,但是真正做的時候基本都是高維的,一些方法都會失效。
現實結果的展示性
數據分析最重要的一部分是輸出。有了數據分析的結果,就需要和組內的工程師溝通。那么一些結果可能和他們預想的不一樣,這時候怎么用數據來說服他們。我印象比較深刻的是,我得出的一個關于用戶的結論和大家預想地有出入,一位工程師提出有沒有辦法查找之前做過的調查來驗證我結論的正確與否。我非常能理解,因為對用戶理解的一點點偏差都可能對整個開發組的方向產生影響。而對客戶的調查追蹤應該需要實時和準確。而很多對用戶的描述的絕對值可能是有誤差的。比如,怎么定義高端、低端,客觀上高端的用戶是否是使用我們產品上的高端用戶,這些都是不同的。而對于這種分類的標準是相對的,需要現實的經驗和對產品的理解。
現實項目的局限性
這一次在圖形開發組做實習生,分析AutoCAD用戶的情況,在這個組的好處在于自己可以相對獨立地做研究和分析,壞處是它的局限性。對于用戶的使用情況,一年做一次就基本夠了,因為用戶基本都是長期注冊的。由于數據的私密性,只有一個月的最新數據可以保留,這就給分析帶來了一些局限性。我問自己可不可以堅持下來做這個項目,答案是否定的。所以,這個實習也讓我更多思考自己到底去什么樣的地方做數據分析。
現實碼農的多樣性
我一直以為碼農就是那種不問世事,碼代碼非常快速的,戴著眼鏡的理工男。但是我遇到的同事不太一樣,他們上知天文,下知地理。在吃飯聊天的時候,可以從美劇電影,聊到上下五千年,可以從時事政治聊到娛樂八卦,他們都可以接上話,并說出自己的觀點,偶爾還能說個笑話,讓你捧腹大笑。上班的氛圍也很不同,他們不怎么說閑話,討論技術問題,沒有復雜的人事關系,沒有無聊的浪費時間,我很喜歡這種輕松自由的工作氛圍。
我記得入職的第一天,同事跟我說在這里實習很好因為不是打雜,而是真的自己負責一個項目,現在結束后我真的感受到了這樣的好處。我可以不受打擾地研究算法,并付出實施。我可以自由地把自己的想法付出實踐,比如把雷達圖用動畫的形式展示出來,比如把相關關系用NetworkX畫出來,比如把熱力圖的標志標出來。當然很多技術的實現,谷歌一下就行了,你就會發現實際工作的需求才是技術精進的動力。當然自主負責項目也有弊端,需要完全依靠自己的主觀能動性,在得出一個較好的結論后,是否還能找到更好的辦法?沒有上級的壓力,需要自己自覺。
這次實習很重要,我覺得不僅是為了積累經驗和學習技術,更是為了早日明確自己的職業道路。這次實習讓我堅定了自己做數據的目標,在公司的選擇上可能會偏向于有更多不同項目機會的地方,在工作方面希望自己在編程和展示方面各一半的工作性質,而我對于理解用戶、用戶關系和用戶特征有更多的興趣,在這一部分可以繼續學習。團隊的高效和輕松自由也是很重要的,而我更期望能有更多的年輕人一起,畢竟我還沒玩夠呢。
昨天和同事們告別時,我說后會有期,經理說江湖再見,是的,說不定哪天就遇到了呢。