新聞中心

        EEPW首頁 > 智能計算 > 牛人業(yè)話 > 誰才是機器學(xué)習時代最合適的編程語言?

        誰才是機器學(xué)習時代最合適的編程語言?

        作者: 時間:2017-11-23 來源:網(wǎng)絡(luò) 收藏

          開發(fā)者到底應(yīng)該學(xué)習哪種編程語言才能獲得或數(shù)據(jù)科學(xué)這類工作呢?這是一個非常重要的問題。我們在許多論壇上都有討論過。現(xiàn)在,我可以提供我自己的答案并解釋原因,但我們先看一些數(shù)據(jù)。畢竟,這是者和數(shù)據(jù)科學(xué)家應(yīng)該做的事情:看數(shù)據(jù),而不是看觀點。

        本文引用地址:http://www.104case.com/article/201711/371947.htm

          讓我們看一些數(shù)據(jù)。我將在Indeed.com上使用趨勢搜索。它可以根據(jù)時間搜尋實際工作機會中特定的條款。這表明了雇主們正在尋找擁有該技能的人才。然而,請注意,這并不是一項有效使用技能的民意調(diào)查。這種指標更能體現(xiàn)技能的受歡迎程度。

          話不多說,上數(shù)據(jù)。我搜索了與“”和“數(shù)據(jù)科學(xué)”一起使用的技能,搜索選項包括編程語言Java、C、C+++和JavaScript。然后還包括了和R,因為我們知道它在機器學(xué)習和數(shù)據(jù)科學(xué)方面很受歡迎,當然還有Scala,考慮到它與Spark的關(guān)系,再加上Julia,一些開發(fā)中認為這是“the next big thing”。運行這個查詢,我們得到的數(shù)據(jù)如下:

            

         

          當我們關(guān)注機器學(xué)習時,我們得到了類似的數(shù)據(jù):

            

         

          我們能從這些數(shù)據(jù)中得到什么啟示呢?

          首先,我們看到并不是一招通吃。在這種情況下,各種機器學(xué)習編程語言都很受歡迎。

          其次,所有這些編程語言都在急劇增長,反映出在過去幾年里,企業(yè)對機器學(xué)習和數(shù)據(jù)科學(xué)的關(guān)注和需求正在急速增加。

          第三,很明顯的領(lǐng)導(dǎo)者,其次是Java,然后是R,再然后是C++。對Java的領(lǐng)先優(yōu)勢正在增加,而Java在R上的領(lǐng)先地位正在下降。必須承認,我很驚訝地看到Java名列第二;我本來是以為是R語言。

          第四,Scala的增長令人印象深刻。它在三年前幾乎是不存在的,現(xiàn)在和這些成熟的編程語言幾乎在同一個層面。當我們切換到Indeed.com上的數(shù)據(jù)的相對視圖時,這更容易發(fā)現(xiàn)。

            

         

          第五,Julia的受歡迎程度雖然不明顯,但肯定有上升的趨勢。Julia將成為一種流行機器學(xué)習和數(shù)據(jù)科學(xué)編程語言嗎?未來會告訴你。

          如果我們忽略Scala和Julia,以便能夠聚焦其他編程語言的增長,那么我們毫無疑問可以確認:Python和R的增長速度要快于通用語言。

            

         

          考慮到增長率的差異,R的受歡迎程度可能很快就會超過Java。

          當我們專注于深度學(xué)習這個問題時,數(shù)據(jù)是完全不同的:

            

         

          這時,Python仍然是領(lǐng)導(dǎo)者,但C++現(xiàn)在是第二,然后是Java,而C在第四,R只在第5。這里顯然強調(diào)了高性能計算語言。Java正在快速發(fā)展。它可以很快達到第二名,就像一般的機器學(xué)習一樣。R不會很快接近頂部。令我驚訝的是Lua的缺席,盡管它在一個主要的深度學(xué)習框架(orch)中使用,而Julia不存在。

          到這時,到底哪種語言才是最受歡迎的編程語言呢?答案應(yīng)該很清楚了。當涉及到機器學(xué)習和數(shù)據(jù)科學(xué)工作時,Python、Java和R是最流行的技能。如果你想專注于深度學(xué)習,而不是一般的機器學(xué)習,那么,在某種程度上來說C++、C也是值得考慮的。然而,請記住,這只是看待問題的一種方式。如果你想找一份工作,或者你只是想在業(yè)余時間學(xué)習機器學(xué)習和數(shù)據(jù)科學(xué),你可能會得到不同的答案。

          我的個人答案呢?除了有許多頂級機器學(xué)習框架的支持之外,Python對我來說很適合,因為我有計算機科學(xué)的背景。對于開發(fā)新的算法,我也會感到很舒服,因為我的大部分職業(yè)生涯都是用這種語言編程的。但這就是我,有不同背景的人可能會覺得用另一種語言更好。一個擁有有限編程技能的統(tǒng)計學(xué)家肯定會更喜歡R。一個強大的Java開發(fā)人員可以使用他最喜歡的語言,因為有大量的Java API的開放源代碼。對于這些圖表上的任何一種語言,都可以有類似的例子。

          因此,我的建議是,在花大量時間學(xué)習一門語言之前,根據(jù)自己的情況來決定選擇哪種編程語言,切記千萬不可跟風。



        關(guān)鍵詞: 機器學(xué)習 Python

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 曲阜市| 营口市| 抚松县| 达州市| 宜良县| 土默特右旗| 方正县| 边坝县| 滦南县| 新河县| 通河县| 阿荣旗| 昌图县| 松溪县| 濮阳县| 新乡县| 惠州市| 炉霍县| 剑阁县| 茶陵县| 太湖县| 鄂温| 盐亭县| 闽侯县| 元江| 封丘县| 伊金霍洛旗| 滦南县| 宁乡县| 宽城| 和龙市| 富民县| 塘沽区| 英德市| 和田市| 湘西| 嘉义市| 盖州市| 孟连| 榆树市| 盘山县|