R 與 Python 在機器學習和數據挖掘領域的優勢和擅長方向分別是什麼?


一點粗淺的認識:

這兩個工具都很方便,有大量的package(在python里叫模塊)供你使用。

R做文本挖掘現在還有點弱,當然它的優點在於函數都給你寫好了,你只需要知道參數的形式就行了,有時候即使參數形式不對,R也能「智能地」幫你適應。這種簡單的軟體適合想要專註於業務的人。

Python幾乎都可以做(通用性語言),函數比R多,比R快。但是缺點是比R難學一點。它是一門語言,R更像是一種軟體,所以python更能開發出flexible的演算法。

machine learning領域,R主要是學術界在用,據我所知,做marketing research, econometrics, statistics的人幾乎沒有用python的。工業界對performance有要求,傾向於用python。

當然了,現在學編程比以前可簡單了多了。有句話不是這麼說的么,「我不生產代碼,我只是stackoverflow的搬運工」。。。

這兩種工具都適合來快速解決問題,學術界用的都很廣泛。工業界(指IT企業)關心實現細節,而且需要更快的速度,就需要重新翻譯成java、C++或者C。但是在傳統大企業做分析的部門,技術能力不強,而且擔心安全問題,一般會避免使用R這類的開源軟體。由於某些技術上的原因python有時也會被避免。當然,在互聯網行業,這兩個工具都有廣泛應用。拒絕了其中任何一個,就意味著拒絕了一大堆機會和一大批人才。

================2015.4.27補充

這兩個工具的使用者還是很多的,尤其是做數據方面的,請看一個2013年的調查,R和python高居前兩位。

歡迎關注大數據留學申請公眾號: dsjlxsq


R是工具,做分析十分方便,畫圖一流,但我們不大可能用R去開發軟體吧。

Python是通用性語言,它的語言明簡易懂,做分析方便,而且可以開發大型軟體。

兩者都有大量軟體包支持機器學習和數據挖掘工作。


雖然說R偏學術一些,Python則偏工程。但現在企業中都會使用R和Python,例如R被微軟收購後出了商業版的MRO,功能強大,對大數據的計算也是非常快速的。現在很多機器學習和深度學習也在使用Python庫。如果學習,請選擇一款你容易上手的軟體(操作起來比較順手)進行,不要同時學,兩者還是有很多相似性的地方。說到底,R和Python都是做機器學習和數據挖掘的好工具,不用過多糾結其他細節哦,最重要的是精。


我個人的經驗,如果只是想快速的用演算法得出結果,用R比較方便快捷;

如果想研究演算法,對演算法進行改進,Python靈活性更強,而且Python語法很簡單,很容易學


推薦閱讀:

出於興趣,我想做一個能思考會幻想的人工智慧。該怎麼做呢?
t-sne數據可視化演算法的作用是啥?為了降維還是認識數據?
隨機過程、機器學習和蒙特卡洛在金融應用中都有哪些關係?
張量分解如何應用於數據挖掘?求詳細說明,最好有例子!?
如何優化正交矩陣?

TAG:Python | 數據挖掘 | 機器學習 | R編程語言 |