在你将最終代碼上傳到GitHub或送出你的任務之後,可能會很容易将一個資料科學項目稱為“完成”。然而,如果你在此停止,你将錯過這個過程中最關鍵的一步:編寫和分享一篇關于你的項目的文章。寫部落格文章通常不被認為是資料科學pipeline的一部分,但是要從你的工作中得到最大的收獲,那麼它應該是你的任何項目的标準的最後一步。
寫一篇關于你的工作的簡單部落格文章有三個好處:
交流實踐:好代碼本身就不夠。如果你不能讓人們關注這項工作,那你等文章裡的任何優質的分析就不會産生什麼影響。
寫作創造機會:通過向世界展示你的工作,你将能夠形成聯系,進而得到工作機會、合作和新的項目想法。
回報:讓你變得更好的循環方式是:做好工作,分享,傾聽建設性的批評,改進工作,重複。
寫作是類似鍛煉和教育的活動之一,在短期内可能沒有回報,但從長遠來看幾乎有無限的潛在回報。我從我的部落格文章每天收到的10,000次浏覽中獲得0美元,每一篇都需要3到15個小時的時間來寫。然而,如果不是因為我的文章,我也不會有一份全職的資料科學工作。
此外,我知道我的資料科學工作的品質要高得多,這一方面是因為我打算寫這篇文章,另一方面是因為我使用了以前收到的回報,從寫作中獲得了長期的積極回報。
. . .
溝通:好的代碼是不夠的
我知道一種感覺:你在GitHub上安裝了一些Jupyter Notebooks或腳本,你想停下來說:“我已經做了這項工作,現在我會讓其他人發現它。”這可能隻會發生在一個理想的世界裡,但在現實世界中,要想讓你的項目被注意,需要你公開交流你的工作結果。
如果GitHub上最好的作品自動浮出水面,那就太好了,但在現實中,好的溝通方式才是影響最大的。
想想你上一次在GitHub上找到一個項目代碼庫的時候:如果你和我一樣,那麼你讀了一篇關于一個項目的有趣的文章,然後一直讀到代碼。人們從一篇文章到另一篇代碼,因為他們首先需要一個令人信服的理由來檢查代碼。這并不意味着憤世嫉俗,它隻是事情的運作方式:人們不會深入你的分析,直到他們知道你做了什麼,為什麼它是重要的/有趣的。
舉個真實的例子,我的資料分析repo[1]是許多資料科學項目的集合,大部分是用非常粗略的代碼編寫的。然而,因為我寫了幾篇關于其中一些項目的文章,它有600多star。雖然star數量不是衡量影響的好方法,但很明顯,人們正在使用這段代碼并從中尋找價值。然而前幾天,當我偶然發現了組合結構的貝葉斯優化(BOCS)[2],它的代碼比我寫的任何東西都要好的時候,我驚訝地發現它隻有2顆星。就像偉大的想法孤立地死去一樣,最好的代碼将在沒有引人注目的結果交流的情況下被忽略。
分析(Analysis)隻有解釋了才有價值
分析的價值不是與使用最好的算法或最多的資料成正比,而是與你如何與廣大使用者分享結果成正比。1854年,John Snow [4]利用578個資料點、一篇公開文章和一張點陣地圖,幫助減緩了倫敦霍亂的流行[5]。他沒有把結果隐藏在筆記本中,而是希望人們發現它們。發表了他的作品,并使它易于擷取。

John Snow的倫敦霍亂爆發點地圖。(來源[6])
最後,他說服了小鎮成員禁用一個水泵,進而阻止霍亂的傳播,實作科學資料的目的:使用資料做出更好的現實世界決策。
寫一篇部落格文章可以讓你在資料科學中的一個最關鍵的部分進行實踐:把你的工作傳達給廣大讀者。良好的代碼和透徹的分析是一個好的開端,但是要完成你的項目,你需要把它與引人入勝的叙述聯系起來。一篇文章是解釋你的結果和讓人們關心你所有努力工作的完美媒介。
機遇:寫作打開大門
盡管資料科學在招聘方面可能比其他領域更客觀,但找到一份工作仍然主要取決于你認識誰或者誰認識你,而不是你知道什麼。上大學的全部意義(這裡隻是有點誇張)不是要學習你在職業生涯中會用到的東西,而是要了解人們,并在你想要的職業領域建立聯系。
幸運的是,在目前的資料科學領域,雖然上大學是有幫助的,但這并不是必要的。有了通過部落格在網上聯系成千上萬人的能力,你就可以通過寫作和分享的方式建立起那些關鍵的聯系,打開大門,而不需要任何學費。當你在公共論壇上寫你的項目時,你可以獲得機會,而這些機會并不僅僅來自于送出你的作業。
我上的大學是機械工程專業,在學校裡,我沒有在資料科學領域建立任何聯系(更不用說學習任何有用的技能了)。然而,我确實在上學期開始寫作,是以,我能夠與潛在的雇主、合作者,甚至是圖書編輯建立起無數的關系,在我開始資料科學生涯的時候,這些關系非常有幫助。
回到第一點,我的代碼遠遠比不上其他許多資料科學家的代碼,但是我很幸運地獲得了機會,因為我能夠讓我的工作變得更易擷取。
我從來沒有被人單獨聯系過,有人在GitHub上發現了我,但是我已經從讀過我文章的人那裡得到了數百次的聯系。
而我的老闆-Feature Labs[7]-确實找到了我的GitHub作品,不過不是通過在GitHub上搜尋“great data science analysis”。相反,是通過我寫的一篇文章,在這篇文章裡我闡述了完成的一個項目并總結了這些結論。記住,這不是一篇章的代碼,而是一篇關于代碼的文章。
部落格文章是建立重要聯系的一個很好的媒介,因為它表明:(1)你做了很好的資料科學工作。(2)你關心分享它并把它教給别人。對資料科學的過度熱情并不是一份工作的必要條件,但表明你對這一領域和學習感興趣将有助于吸引雇主,特别是當你剛開始工作且沒有太多的經驗的時候。而且,寫得很好的部落格文章可以有很長的保存期限,給你一個未來幾年的投資組合。
目前還沒有一條通向資料科學工作的道路,這意味着我們都要鍛造自己的工作。寫作與社群分享可以幫助你形成所有重要的聯系,并在這個領域獲得立足點。
回報:工作,分享,傾聽,改進,重複
作為一個新領域,在資料科學中很少有标準的答案。最好的學習方法是嘗試一些東西,犯錯誤,并從中吸取教訓。把你的工作放在公共場合意味着你可以從數千名擁有集體經驗的資料科學家那裡得到回報。這就是成為一個社群的一部分的好處:總之,我們比任何一個人都了解得更多,通過成為社群中的一員,你可以利用這些知識,利用回報來改進你自己的工作。
在網際網路上處理回報可能會很困難,但我發現資料科學社群,特别是Medium上的Towards Data Science來說,是非常文明的。我處理評論的政策是:
積極的評論:感謝。
建設性的批評:寫下評論,修正目前分析中任何可以修正的部分,并盡可能在未來的項目中執行建議。
非建設性批評:忽略。
不幸的是,我們經常沒有花時間去回顧我們自己的工作,但幸運的是,我們可以和世界分享,讓其他人來回顧我們的工作。這些人對我們的工作可能比我們更誠實,是以我們通過分享得到了更客觀的評價。
課程中最有價值的部分絕不是内容,而是你從配置設定給你的教授那裡得到的回報。幸運的是,你可以在部落格文章中與資料科學界公開分享你的項目,而不用上任何課程。
盡管學校教導我們要避免失敗,但隻有通過反複失敗,然後不斷進步,我們才會變得更好。毫無疑問,我是一個更好的作家和資料科學家,因為我已經把我的工作公開并接受批評,聽取回報意見。
怎麼做?
現在,你可能有一到十幾個Jupyternotebooks可以寫出好文章,花上一兩個小時把其中的一個寫出來,放到部落格上去。它不一定是完美的:隻要你做了資料科學的工作,人們就會尊重你的文章。
如果你很難釋出任何不完美的東西(我最大的問題之一),那就設定一個時限,比如說60分鐘,無論你在60分鐘内完成什麼,都必須釋出。我已經做過幾次了,這讓我的工作更有意義,更有效率。
現在,拿出一個Jupyternotebooks,寫一篇文章。把它放在媒體上,然後讓社群看到你的作品。雖然回報不是即時的,但随着時間的推移,好處會增加:
你會更好地完成關鍵的溝通任務
機會/聯系将打開
在建設性批評的基礎上,你的資料科學工作和寫作将會得到改善
繼續做你的資料科學項目,但不要在GitHub上的代碼上傳或送出的時候就停止。邁出最後一步,寫一篇文章。你未來的自我會感謝你的!
原文釋出時間為:2018-08-13
本文作者:Xiaowen
本文來自雲栖社群合作夥伴“
專知”,了解相關資訊可以關注“
”。