自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言?

大數(shù)據(jù) 后端
原始的數(shù)據(jù)科學(xué)是勞動密集型活動,但當(dāng)你會用適合的語言進(jìn)行工作時,數(shù)據(jù)科學(xué)應(yīng)該是非常智能有趣的工作,會讓你得到一些不容易看到的結(jié)論。一般來說,數(shù)據(jù)科學(xué)中常常會涉及大量數(shù)據(jù)的處理,此時優(yōu)化代碼的性能非常重要。

原始的數(shù)據(jù)科學(xué)是勞動密集型活動,但當(dāng)你會用適合的語言進(jìn)行工作時,數(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)點:

  • 免費(fèi)、開源,各種功能和函數(shù)琳瑯滿目
  • 專門為統(tǒng)計和數(shù)據(jù)分析開發(fā)的語言,即使基礎(chǔ)安裝也包含全面的統(tǒng)計功能和方法

數(shù)據(jù)可視化

缺點:

  • 性能,R 作為解釋型語言,運(yùn)行效率并不高
  • R 在統(tǒng)計學(xué)的表現(xiàn)很出色,但并不適用于通用編程

Package 的可靠性問題

小結(jié):R 語言在統(tǒng)計和數(shù)據(jù)可視化方面非常強(qiáng)大,并且開源讓它聚集了一幫活躍的貢獻(xiàn)者,不過由于開發(fā)者良莠不齊,導(dǎo)致 Package 的可靠性方面會有點問題

Python

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

Guido van Rossum 在 1991 年推出 Python,開源。Python 廣泛用于數(shù)據(jù)科學(xué)領(lǐng)域,目前主要的版本是 3.6 和 2.7。

優(yōu)點:

  • Python 是一門主流編程語言,有著廣泛的在線支持
  • 入門友好,易于學(xué)習(xí)
  • 有諸如 pandas,scikit-learn 和 Tensorflow 這樣優(yōu)秀的 package

缺點:

  • Python 作為動態(tài)語言,比 Java 還慢,而且容易出現(xiàn)類型錯誤
  • 對于特定的統(tǒng)計或數(shù)據(jù)分析,R 的封裝會比 Python 更輕松;而在通用性方面,也有比 Python 更好的替代方案

小結(jié):Python 是數(shù)據(jù)科學(xué)中很好的選擇,而且,Google 的 TensorFlow 使得機(jī)器學(xué)習(xí)框架都偏向于Python

SQL

 

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

SQL 是結(jié)構(gòu)化查詢語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)

優(yōu)點:

  • 在查詢、更新和管理關(guān)系數(shù)據(jù)庫方面非常有效
  • 易讀。類似這樣的語句基本不會有歧義:SELECT name FROM users WHERE age > 18
  • SQLAlchemy 等模塊使 SQL 與其他語言的集成變得簡單明了

缺點:

  • 分析功能相當(dāng)有限
  • SQL有很多不同的實現(xiàn),如 PostgreSQL,SQLite,MariaDB。他們都是不同的,操作起來有點麻煩。

小結(jié):SQL 作為數(shù)據(jù)處理語言比作為高級分析工具更有用

Java

 

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

Java 具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點,目前由 OSracle Corporation 支持。

優(yōu)點:

  • 應(yīng)用廣泛,許多系統(tǒng)和應(yīng)用都用 Java 寫后端,能夠?qū)?shù)據(jù)科學(xué)方法直接繼承到現(xiàn)有的代碼庫
  • 健壯。對于重要任務(wù)的大數(shù)據(jù)應(yīng)用,這點很寶貴
  • 適合編寫高效的 ETL 生產(chǎn)代碼和計算密集型機(jī)器學(xué)習(xí)算法

缺點:

  • 對于專用的統(tǒng)計分析,Java 的冗長度不適合作為首選。不過動態(tài)類型的腳本語言(如 R 和 Python)可以提高生產(chǎn)率
  • 與 R 這樣特定領(lǐng)域的語言相比,Java 中沒有大量可用于高級統(tǒng)計方法的庫

小結(jié):Java 其實不推薦作為數(shù)據(jù)科學(xué)語言的首選,盡管它能將數(shù)據(jù)科學(xué)代碼無縫接入現(xiàn)有代碼庫,而且性能和安全性也是它的優(yōu)勢。但是作為開發(fā)者,使用 Java 就意味著沒有其他語言特定的包可用。

Scala

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

Scala 是一門多范式的編程語言,類似 Java,由 Martin Odersky 開發(fā)并于 2004 年發(fā)布。

優(yōu)點:

  • Scala + Spark = 高性能集群計算。它是大數(shù)據(jù)領(lǐng)域的殺手級應(yīng)用框架
  • 多范式
  • Scala 被編譯為 Java 字節(jié)碼并在 JVM 上運(yùn)行,這使 Scala 成為非常強(qiáng)大的通用語言,同時也非常適合數(shù)據(jù)科學(xué)

缺點:

  • Scala 并不太適合初學(xué)者
  • 語法和類型都比較復(fù)雜,這對于 Python 開發(fā)者其實是個比較陡峭的學(xué)習(xí)曲線

小結(jié):對于集群處理大數(shù)據(jù)的環(huán)境,Scala + Spark 是一個很棒的解決方案。但對于少量數(shù)據(jù)而言,其他語言或許效率更高

Julia

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

Julia 是一款剛出現(xiàn)沒幾年的 JIT 科學(xué)計算語言, 為高性能科學(xué)計算而生。

優(yōu)點:

  • JIT(just-in-time)語言,性能良好,還提供像 Python 等解釋語言的腳本功能和動態(tài)類型
  • 為數(shù)值分析而生,但也同樣能進(jìn)行通用編程
  • 可讀性好,而且 Julia 文檔的中文翻譯優(yōu)秀(因為核心組有個中國人哈哈哈)

缺點:

  • 作為一種新語言,很難說已經(jīng)可以成熟到大規(guī)模使用
  • 有限的包

小結(jié):潛力無限,但就目前而言,還不如 R 和 Python 一樣成熟穩(wěn)定

MATLAB

 

?掌握數(shù)據(jù)科學(xué)應(yīng)該學(xué)習(xí)哪些語言??

MATLAB 是 MathWorks 公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。

優(yōu)點:

  • 專為數(shù)值計算而設(shè)計,非常適合具有復(fù)雜數(shù)學(xué)計算的定量應(yīng)用,如信號處理、傅里葉變換、圖像處理等
  • 數(shù)據(jù)可視化,MATLAB 內(nèi)置了繪圖功能
  • 作為數(shù)學(xué)本科課程的一部分,它在物理、工程、應(yīng)用數(shù)學(xué)等領(lǐng)域有著廣泛應(yīng)用

缺點:

  • 還挺貴的(獲取 MATLAB 及工具箱報價)
  • 不適用于通用編程

小結(jié):MATLAB 最適合數(shù)據(jù)密集型應(yīng)用,畢竟它就是為此而生的。

總結(jié)

本文只是個快速指南,來幫助選擇哪種語言適合做數(shù)據(jù)科學(xué)。當(dāng)然,除了上述介紹的語言外,C++、JavaScript、Perl 還有 Ruby 也可以解決一些數(shù)據(jù)問題,其中的關(guān)鍵在于你的使用需求,以及個人的喜歡等。

責(zé)任編輯:未麗燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2020-01-09 17:28:39

編程語言機(jī)器學(xué)習(xí)Python

2021-01-29 14:38:36

數(shù)據(jù)科學(xué)數(shù)據(jù)科學(xué)家統(tǒng)計學(xué)

2017-06-04 10:36:24

數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)

2018-01-25 14:19:32

深度學(xué)習(xí)數(shù)據(jù)科學(xué)遷移學(xué)習(xí)

2010-07-02 09:17:29

技能運(yùn)維人員

2019-04-30 15:14:11

數(shù)據(jù)科學(xué)家計算機(jī)

2017-04-12 09:34:30

數(shù)據(jù)科學(xué)家統(tǒng)計學(xué)家好習(xí)慣

2021-10-26 16:25:25

編程語言JavaPython

2018-06-29 16:00:56

數(shù)據(jù)科學(xué)家數(shù)據(jù)清理數(shù)據(jù)分析

2020-08-12 11:15:32

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)人工智能

2019-12-03 09:11:57

數(shù)據(jù)科學(xué)編程算法

2019-04-24 08:34:46

編程語言PythonJava

2020-12-28 11:11:26

前端開發(fā)語言

2020-09-17 14:20:24

數(shù)據(jù)科學(xué)簡歷崗位

2017-07-28 09:50:15

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)工具和語言

2017-07-28 09:19:17

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2015-07-29 11:14:20

r語言數(shù)據(jù)科學(xué)

2020-07-06 09:57:57

編程語言數(shù)據(jù)Python

2015-08-18 13:33:16

r語言

2019-03-26 09:41:11

免殺PE匯編
點贊
收藏

51CTO技術(shù)棧公眾號