Python 超越 R 語言,成為資料科學、機器學習平台中最熱門的語言?

作者 | 發布日期 2017 年 09 月 13 日 17:30 | 分類 科技教育 , 軟體、系統 follow us in feedly

近日,kdnuggets 做了一個關於資料科學、機器學習語言使用情況的問卷調查,他們分析了 954 個回答,得出結論──Python 已經打敗 R 語言,成為分析、資料科學和機器學習平台中使用頻率最高的語言。有關此次問卷更具體的情況總結整理如下。



之前我們在 kdnuggets 上做了這樣一個問卷調查,2016、2017 兩年,在分析、資料科學和機器學習的工作中,你用 R 語言還是 Python,或兩者都用,或選擇其他的語言?

透過分析 954 個回答,我們得出了這樣的結論:雖然 Python 並沒有完全取代 R 語言,但在 2017 年,Python 已經成功打敗 R 語言,成為分析、資料科學和機器學習平台中使用頻率最高的語言。

在 2016 年 Python 還是第二位(主要用 Python 的人佔 34%,主要用 R 語言的人佔 42%),在 2017 年 Python 就以 5% 的優勢領先於 R 語言(主要用 Python 的人佔 41%,主要用 R 語言的人佔 36%)。同時用 Python 和 R 兩種語言的人也從 2016 年的 8.5% 增長到 12% 了,而用其他語言的人則從 16% 降到 11%。

▲ 2016~2017 年,在分析、資料科學和機器學習中使用 Python、R 語言、Python 和 R 語言、其他語言的佔比。

之後,我們分析了大家在不同語言之間的轉換情況。

▲ 2016~2017 年,分析、數據科學以及機器學習平台中各種語言的轉換情況。

這張圖看起來很複雜,不過從中可以很容易地看出 Python 在忠誠度和轉換率兩個關鍵層面都領先其他語言。

  • 忠誠度:使用 Python 的用戶忠誠度要高於使用其他語言的用戶。2016 年使用 Python 的用戶中,有 91% 的人 2017 年還在繼續使用,而 R 語言的用戶留存率為 74%,其他語言的用戶留存率則為 60%。
  • 轉換率:從 2016 年到 2017 年,只有 5% 的 Python 用戶轉向 R 語言,而 R 語言用戶轉向 Python 則是 10%,這是前者的兩倍。另外,2016 年同時使用兩種語言的人中,只有 49% 的人還在繼續使用兩種語言,38% 的人轉向 Python,11% 的人轉向 R 語言。

接下來我們看一下 2014~2017 年這幾種語言的使用趨勢。

因為我們 2015 年「R vs. Python」的問卷調查中沒有提供「同時使用兩種語言」這個選項,因此下面 2014~2017 這 4 年的對比趨勢圖中,2016、2017 年的 Python、R 語言使用趨勢我們是這樣計算的:

Python*=(Python 的比例)+ 50% *(同時使用 Python 和 R 語言的比例)

R* =(R 的比例) + 50% *(同時使用 Python 和 R 語言的比例)

可以看到,R 語言的使用率在逐年緩慢下降(從 2015 年的 50% 降到 2017 年的 36%),而 Python 的使用率則從 2014 年的 23% 增長到 2017 年的 47%。另外,其他語言的使用率也在逐年下降。

▲ 2014-2017 年,Python、R 語言及其他語言在分析、資料科學和機器學習的使用情況對比。

最後,我們也按地區分析了幾種語言的使用趨勢,地區分布情況如下:

  • 美國/加拿大,40%
  • 歐洲,35%
  • 亞洲,12.5%
  • 拉美,6.2%
  • 非洲/中東,3.6%
  • 澳洲/紐西蘭,3.1%

為了簡化對比圖,我們將同時使用 R 語言和 Python 的比例也按照上面的計算方法,折​​算到單獨使用 R 語言和 Python 的比例中,並把亞洲、澳洲/紐西蘭、拉美、非洲/中東這 4 個佔比較少的地區合併為一個區域。

▲ 2016-2017 年,不同地區使用 Python、R 語言和其他語言的情況。

我們注意到不同區域的語言變化情況:

  • Python 的使用率增長了 8%~10%
  • R 語言的使用率降低了大約 2%~4%
  • 其他語言的使用率降低了 5%~7%

上面的數據表明了 Python 的使用前景很好,我們也預測 R 語言和其他語言的使用率還是會有相當佔比,因為它們已經有很深的用戶基礎。

(本文由 雷鋒網 授權轉載;首圖來源:Flickr/Daniel Iversen CC BY 2.0)