掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
原始的數(shù)據(jù)科學(xué)是勞動密集型活動,但當(dāng)你會用適合的語言進行工作時,數(shù)據(jù)科學(xué)應(yīng)該是非常智能有趣的工作,會讓你得到一些不容易看到的結(jié)論。

一般來說,數(shù)據(jù)科學(xué)中常常會涉及大量數(shù)據(jù)的處理,此時優(yōu)化代碼的性能非常重要??紤]到這些基本原則,來看看哪些語言是數(shù)據(jù)科學(xué)中應(yīng)該掌握的:
R
??
R 發(fā)布于 1995 年,是 S 語言的一個分支,開源。目前由 R Foundation for Statistical Computing 提供技術(shù)支持。
優(yōu)點:
數(shù)據(jù)可視化
缺點:
Package 的可靠性問題
小結(jié):R 語言在統(tǒng)計和數(shù)據(jù)可視化方面非常強大,并且開源讓它聚集了一幫活躍的貢獻者,不過由于開發(fā)者良莠不齊,導(dǎo)致 Package 的可靠性方面會有點問題
Python
??
Guido van Rossum 在 1991 年推出 Python,開源。Python 廣泛用于數(shù)據(jù)科學(xué)領(lǐng)域,目前主要的版本是 3.6 和 2.7。
優(yōu)點:
缺點:
小結(jié):Python 是數(shù)據(jù)科學(xué)中很好的選擇,而且,Google 的 TensorFlow 使得機器學(xué)習(xí)框架都偏向于Python
SQL
??
SQL 是結(jié)構(gòu)化查詢語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)
優(yōu)點:
缺點:
小結(jié):SQL 作為數(shù)據(jù)處理語言比作為高級分析工具更有用
Java
??
Java 具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點,目前由 OSracle Corporation 支持。
優(yōu)點:
缺點:
小結(jié):Java 其實不推薦作為數(shù)據(jù)科學(xué)語言的首選,盡管它能將數(shù)據(jù)科學(xué)代碼無縫接入現(xiàn)有代碼庫,而且性能和安全性也是它的優(yōu)勢。但是作為開發(fā)者,使用 Java 就意味著沒有其他語言特定的包可用。
Scala
??
Scala 是一門多范式的編程語言,類似 Java,由 Martin Odersky 開發(fā)并于 2004 年發(fā)布。
優(yōu)點:
缺點:
小結(jié):對于集群處理大數(shù)據(jù)的環(huán)境,Scala + Spark 是一個很棒的解決方案。但對于少量數(shù)據(jù)而言,其他語言或許效率更高
Julia
??
Julia 是一款剛出現(xiàn)沒幾年的 JIT 科學(xué)計算語言, 為高性能科學(xué)計算而生。
優(yōu)點:
缺點:
小結(jié):潛力無限,但就目前而言,還不如 R 和 Python 一樣成熟穩(wěn)定
MATLAB
??
MATLAB 是 MathWorks 公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。
優(yōu)點:
缺點:
小結(jié):MATLAB 最適合數(shù)據(jù)密集型應(yīng)用,畢竟它就是為此而生的。
總結(jié)
本文只是個快速指南,來幫助選擇哪種語言適合做數(shù)據(jù)科學(xué)。當(dāng)然,除了上述介紹的語言外,C++、JavaScript、Perl 還有 Ruby 也可以解決一些數(shù)據(jù)問題,其中的關(guān)鍵在于你的使用需求,以及個人的喜歡等。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流