機(jī)器學(xué)習(xí)編程語(yǔ)言之爭(zhēng),Python奪魁
來(lái)源:
奇酷教育 發(fā)表于:
隨著科技的發(fā)展,擁有高容量、高速度和多樣性的大數(shù)據(jù)已經(jīng)成為當(dāng)今時(shí)代的主題詞。數(shù)據(jù)科學(xué)領(lǐng)域中所采用的機(jī)器學(xué)習(xí)編程語(yǔ)言大相徑庭。究
隨著科技的發(fā)展,擁有高容量、高速度和多樣性的大數(shù)據(jù)已經(jīng)成為當(dāng)今時(shí)代的主題詞。數(shù)據(jù)科學(xué)領(lǐng)域中所采用的機(jī)器學(xué)習(xí)編程語(yǔ)言大相徑庭。究竟哪種語(yǔ)言最適合機(jī)器學(xué)習(xí)成為爭(zhēng)論不休的話題。近日,密西根州立大學(xué)的博士生Sebastian Raschka再次發(fā)起了機(jī)器學(xué)習(xí)編程語(yǔ)言之爭(zhēng),分析了自己選擇Python的原因。
目前,機(jī)器學(xué)習(xí)牽涉的編程語(yǔ)言十分多樣,包括了MATLAB、Julia、R、Perl、Python、Ruby等等。首先,Raschka定義 了語(yǔ)言好壞的原則:一門好的語(yǔ)言應(yīng)該使得編寫(xiě)、調(diào)試和執(zhí)行代碼的總時(shí)間最短。然后,他花大篇幅講述了一個(gè)簡(jiǎn)單的道理--沒(méi)有一門語(yǔ)言是對(duì)所有情況、所有人都十分適合的。
但Roberto Waltman博士分析:“在這種唯一正確的方式下,面向?qū)ο蟮腟paghetti code就是Lasagna code。”針對(duì)具體的應(yīng)用場(chǎng)景以及參與項(xiàng)目的人員,開(kāi)發(fā)團(tuán)隊(duì)或個(gè)人要對(duì)任務(wù)需求進(jìn)行評(píng)估,再結(jié)合人員對(duì)于各個(gè)語(yǔ)言的熟悉程度和語(yǔ)言生態(tài)環(huán)境的情況等等,作出選擇。接下來(lái),Raschka開(kāi)始正式點(diǎn)評(píng)各個(gè)語(yǔ)言相對(duì)與Python在機(jī)器學(xué)習(xí)時(shí)的優(yōu)缺點(diǎn)。
表現(xiàn)平平的MATLAB
作為機(jī)器學(xué)習(xí)、模式識(shí)別等方面經(jīng)常使用的工具,MATLAB被放在了第一個(gè)分析。Raschka認(rèn)為,MATLAB在實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法時(shí)要比Python或者 NumPy 更加自然。很多高校也在計(jì)算機(jī)科學(xué)相關(guān)的課程中教授MATLAB語(yǔ)言。然而,MATLAB也存在很多的缺點(diǎn):價(jià)格昂貴、非開(kāi)源、性能表現(xiàn)平平、語(yǔ)法不符合程序員的習(xí)慣等。例如,MATLAB中矩陣乘積運(yùn)算操作為 X.dot(Y) ,而Python為 X@W ,更加簡(jiǎn)潔、明了。
各種語(yǔ)言相對(duì)于C的測(cè)試性能--C的性能為1.0,越小越好
從上圖可以看出,MATLAB的性能比Python、Go、Java等語(yǔ)言要差很多。Raschka也提到,上圖中Python的性能也表現(xiàn)不好。但是,現(xiàn)在性能強(qiáng)勁的GPU為Python提供了強(qiáng)大的后盾。在2010年的時(shí)候,Python中的 Theano庫(kù) 在CPU上運(yùn)行時(shí),其速度是NumPy的1.8倍。而Theano在GPU上運(yùn)行時(shí),其速度就是NumPy的11倍。因此,在目前更高性能的GPU的幫助下,Python性能已經(jīng)有了更大的改進(jìn)。
老而彌堅(jiān)的Python
最后,Raschka夸贊了自己所喜愛(ài)的Python語(yǔ)言。盡管Python已經(jīng)走過(guò)了20多年的風(fēng)雨歷程,Raschka認(rèn)為它仍然可以繼續(xù)流行下去。而且,Raschka還不遺余力的列出了自己最喜歡的Python工具--NumPy、Theano、 scikit-learn 、 matplotlib等。
Python的優(yōu)勢(shì)在智能時(shí)代、大數(shù)據(jù)時(shí)代愈加凸顯出來(lái),奇酷教育Python高級(jí)開(kāi)發(fā)培訓(xùn)班,0元入學(xué),先就業(yè)后付款;一周免費(fèi)試聽(tīng),不滿意不繳費(fèi);完善的就業(yè)服務(wù)體系,保障就業(yè)。在這里,你不光能夠?qū)W會(huì)如何編寫(xiě)程序,還能夠?qū)W會(huì)如何編寫(xiě)高質(zhì)量的程序,一躍成為專業(yè)的工程師!
奇酷教育原創(chuàng)開(kāi)發(fā)的
Python培訓(xùn)課程不僅涵蓋Web前后端開(kāi)發(fā)和網(wǎng)絡(luò)爬蟲(chóng)技術(shù),還包括獨(dú)有的數(shù)據(jù)分析和機(jī)器學(xué)習(xí),前端、服務(wù)端一網(wǎng)打盡??蓮氖耊eb前端、Web服務(wù)端、服務(wù)器運(yùn)維、網(wǎng)絡(luò)爬蟲(chóng)、大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等多種熱門職業(yè),學(xué)員百分百高薪就業(yè)!