Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

機器之心發表於2017-10-31

Kaggle 是網際網路上最著名的資料科學競賽平臺之一,今年 3 月 8 日,這家機構被谷歌收購,6 月 6 日又宣佈使用者數量超過了 100 萬人。最近,這一社群首次進行了機器學習/資料科學現狀調查。在超過 16,000 名從業者的詳盡答卷中,我們可以一窺目前業內的發展趨勢。有趣的是,Kaggle 也將調查結果封裝成了匿名資料集以供大家自行分析。

有史以來第一次,Kaggle 對人工智慧領域進行了全行業深度調查,試圖全面瞭解資料科學和機器學習概況。本次調查收到了超過 16,000 份回覆,眾多受調查者的資料向我們提供了有關從業者人群、業界最新動態以及如何進入該行業的洞見。以下報告包括本次調查的所有主要結果,其中包含的主要內容有:

  1. 雖然 Python 很可能是機器學習最常用的程式語言,但統計學家更多地使用 R 語言。
  2. 平均而言,資料科學家的年齡在 30 歲左右,但是這個數字在不同的國家有所不同。例如,印度的受訪者要比澳大利亞的平均年輕 9 歲。
  3. 有關被調查者教育程度,最普遍的學位是碩士,但是工資最高的($150k+)人群中,擁有博士學位的人稍稍多一點。

Kaggle 已經公開了該調查的匿名資料集,以供大家進行探究:https://www.kaggle.com/kaggle/kaggle-survey-2017

如何定義資料工作者?

觀察資料從業者的方式有很多,但本文將從有關資料科學從業者的工作和背景的人口統計學資訊開始。

調查物件的年齡

如圖可見,本次調查物件的平均年齡大約 30 歲,但這個值在各個國家之間有變動。例如印度的調查物件的平均年齡就比澳大利亞的小了 9 歲。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你目前的就業狀況如何?

受調查者中,有 65.7% 表示自己有全職工作。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你的職位是什麼?

儘管我們把資料科學家定義為使用程式碼分析資料的人,我們發現資料科學領域可涵蓋的工作非常多。比如在伊朗和馬來西亞,資料科學從業者最流行的工作頭銜是「科學家或者研究者」。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你的全職年薪是多少?

中位數$55,441,不過由於很多人沒有全職工作(收入為 0),所以這一數字不甚準確。儘管在我們的調查中「補償和福利」的重要性排序稍微比「職業發展機遇」的低一點,不過知道什麼是合理的補償依然不錯。在美國,一般機器學習工程師帶回家最多的是培根。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

131 個回覆由於超出最大值而沒有顯示出來,但它們被算進了中位數。

你的最高學歷是什麼?

因此,你需要再獲得一個學位嗎?通常來講,資料科學從業者中最普遍的學歷是碩士,但是獲取最高薪水($150K - $200K 和 $200k+)的那些人多是有著博士學位。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

被調查者的平均水平是資料科學家職稱,30 歲左右,碩士學歷,年薪$55,000 左右。但實際情況並不如此平均。這些最初的幾個人口統計學問題只是展示了複雜的 Kaggle 資料科學社群在年齡、性別、國籍、工作職稱、薪水、經驗和學歷方面的表層差異。

資料科學家的工作內容是什麼?

我們把資料科學家定義為寫程式碼以分析資料的一群人。他們的日常工作內容是什麼?以下是我們的調查結果。

工作中使用什麼資料科學方法?

Logistic 迴歸是工作之中最為常用的資料科學方法,不過神經網路使用更為頻繁的國家安全領域除外。總的來說,資料科學中更常見的還是使用經典的機器學習演算法,簡單的線性與非線性分類器是資料科學中最常見的演算法,而功能強大的整合方法也十分受歡迎。我們看到目前神經網路模型的使用頻率要高於支援向量機,這可能是近來多層感知機要比使用帶核函式的 SVM 更加廣泛的表現。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

工作中使用最多的語言是什麼?

Python 是資料科學家最常用的語言,也是最常用的資料分析工具。不過,還有很多資料科學家仍然保持著對 R 語言的忠誠。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

以上僅展示了 15 個回答,還有 38 個回答被隱藏。


在工作中常用的資料型別是什麼?

關係型資料是開發者在工作中最常用的資料型別,因為大多數產業工程師都十分關注於這種關係型資料。而學術研究者和國防安全產業則更注重於文字與影像。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

如何分享工作中的程式碼?

儘管很多受訪者(58.4%)使用 Git 在工作分享他們的程式碼。但大公司中的開發者更傾向於將程式碼保留在本地,並透過像 Email 那樣的檔案共享軟體來分享他們的程式碼。而初創公司可能需要在雲中共享以保持更加敏捷的反應。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

工作中遇到的障礙主要是什麼?

髒資料(dirty data)顯然是排在了第一位,也就是說資料科學家一般最常見的困擾就是需要對資料進行大量的預處理工程。除了資料預處理工程以外,還有很多問題困擾著資料科學家,比如說眾多的機器學習演算法各有各的擅長領域,所以理解它們的效能也會有一些困難。不過我們注意到向其他人解釋資料科學是什麼也會困擾著資料科學家,解決辦法可以是推薦機器之心呀。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

上圖僅展示了前面的 15 個回答,還有 7 個回答沒有展示。


此外,如果你們點選選擇條件,那麼就能按照條件過濾回答。很多行業的受訪者表示他們缺少資料科學相關的人才,所以資料科學家目前是十分幸運的。

資料科學家新手如何入行?

當開始一個新的職業生涯的時候,看看別人的成功秘訣是很有幫助的。我們調查了在資料科學行業工作的人們,詢問他們是如何做到的。以下是我們最喜歡的幾條建議:

你們會推薦資料科學家新手最先學哪門語言?

每一位資料科學家都有自己的對選擇第一門語言的想法。事實證明,那些僅使用 Python 或 R 語言的人們做出了正確的選擇。不過如果你問一下使用過 R 和 Python 的人們,他們有兩倍的可能會推薦 Python 給你。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你們使用哪些資料科學學習資源?

資料科學是一個快速變化的領域,有很多有價值的資源可以幫助你學習並保持業內的頂尖位置,從而不斷提升你的競爭力。已經在資料科學領域中工作的人們會更多使用 Stack Overflow Q&A,Conferences 和 Podcasts,以對不斷湧入這個領域的人們保持自己的優勢。如果想要釋出內容或開源軟體,請時刻記住剛進入這個領域的人們通常更多使用官方的文件和觀看 Youtube 影片。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你們在哪裡獲取開源資料?

沒有資料,就沒有資料科學。當需要學習資料科學技巧的時候,知道如何找到乾淨的開源資料集用於練習和開發專案相當重要。很高興得知我們的資料集聚合器(dataset aggregators):https://www.kaggle.com/datasets 正發展為資料科學社群成員中最頻繁使用的工具。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

你們怎麼找工作,怎麼找到的?

找工作的時候,可能到公司網站上,或在指定技術方向的招聘資訊上,但是根據已經在資料科學領域工作的人們的經驗,這些方式是最差的選擇。而直接聯絡招聘者或建立自己的網路以進入這個領域才是他們的首選。

Kaggle 首份機器學習大調查:最常用的演算法、語言竟然是......

Note:少於 50 名受訪者的組別被合併進了「Other」類中。其中一些柱狀圖為了美觀而做了縮放處理,希望檢視所有問題和結果的原始資料可訪問:https://www.kaggle.com/amberthomas/kaggle-2017-survey-results

相關文章