除了R和Python你需要知道的6种数据科学编程语言

除了R和Python你需要知道的6种数据科学编程语言

本文译自:《6 Useful Programming Languages for Data Science You Should Learn (that are not R and Python)》


总览

您应该为数据科学选择哪种编程语言?以下列出了6种非Python或R的强大工具,这些语言的范围很广,通常在数据科学领域中使用,我们还为每种语言提供了开放源代码库,以帮助您开始进行数据科学项目的各个阶段,例如数据清理,模型构建等。

介绍

“我应该选择哪种编程语言来开始我的数据科学之旅?”

这很容易成为数据科学爱好者最常问的问题。我敢肯定,答案通常在Python和R之间徘徊。但是,我们为什么要限制自己使用这两种语言?我们可以在这个领域中学习和应用整个编程语言。数据科学的魅力就在其中,它超越了编程语言。

我的目的是引入一个超越Python和R的世界,同时保留其核心思想。我们将介绍6种功能强大且有用的数据科学编程语言,我认为每位数据科学家都应该学习(或至少意识到)。所有这些语言都是开源的。

1.Scala

除了R和Python你需要知道的6种数据科学编程语言

Scala是一种相当普通的编程语言。您可能已经在用它开展工作,或者在某个时候遇到了它(特别是如果您从事IT工作)。

Scala是Martin Odersky在2003年创建的一种开放源代码现代多范式编程语言。Scala作为“可扩展语言”它旨在以简短,优雅且类型安全的方式表示通用的编程标准。

让我们这样说吧–如果您了解Java的语法,那么您将很快就能掌握Scala。实际上,如果您知道C,C 或Python之类的编程语言,学习Scala也将会非常顺利。我已经可以看到您的热情开始燃起!

那么,为什么要使用Scala?与纯Python相比,我们在Scala中编写代码的编译和执行速度要快得多。我喜欢Scala,因为它具有稳定性,灵活性,高速度和可伸缩性。您可以使用Scala开发适用于大数据的有用产品。

Scala相关资源:

Breeze:Breeze是一个用于数值处理的库,例如概率和统计函数,优化,线性代数等。

Github链接:https://github.com/scalanlp/breeze

Vegas:用于数据可视化的Scala库。

Github链接:https://github.com/vegas-viz/Vegas

Smile:Statistical Machine Intelligence and Learning Engine(Smile)是现代的机器学习库。

Github链接:https://github.com/haifengl/smile

DeepLearning.scala:这是一个简单的库,用于从面向对象和功能编程结构创建复杂的神经网络。

Github链接:https://github.com/ThoughtWorksInc/DeepLearning.scala

2.Julia

除了R和Python你需要知道的6种数据科学编程语言

Julia在数据科学世界中正在迅速崛起。一些专家已经声称它会是Python的竞争对手!虽然我觉得这可能还为时过早,但是我们却是因该解了一下Julia的实用性。

Julia是由MIT的一组计算机科学家和数学家创建的一种令人耳目一新的现代、有意义且高性能的编程语言。它是开源的,通常用于科学计算和数据处理。如果您之前从事过R,Python或Matlab的开发,那么您会很快熟悉Julia。 Julia甚至存在一个scikit-learn库来帮助您进行过渡。

问题又来了–为什么Julia用于数据科学?原因有多种,但主要的原因是Julia的执行速度比Python和R的执行速度高10到30倍。

Julia相关资源

DataFrames.jl:用于在数据中查找数字模式的数据结构。

Github链接:https://github.com/JuliaData/DataFrames.jl

Plots.jl:用于绘制APIs和工具集。

Github链接:https://github.com/JuliaPlots/Plots.jl

ScikitLearn.jl:ScikitLearn.jl是流行的Scikit-learn库的Julia版本,这是用于构建ML。

Github链接:https://github.com/cstjean/ScikitLearn.jl

Mocha:Mocha是Julia的深度学习框架,灵感来自C 的Caffe框架。

Github链接:https://github.com/pluskid/Mocha.jl

3.JavaScript

除了R和Python你需要知道的6种数据科学编程语言

呼吁所有开发者!如果您想在不了解新语言的情况下寻求进入数据科学的途径– JavaScript真的是非常好的途径。JavaScript是一种功能强大,轻量级且易于实现的编程语言。它于1995年在Netscape 2.0中以LiveScript的名字首次启动。

如果您想使用JavaScript,最好具备一些HTML的基础知识,并且事先接触过面向对象的编程概念。这将为您提供创建在线应用程序的基本思路。当您在移动应用或浏览器中部署机器学习模型时,这特别方便。

除此之外,JavaScript还有一些出色的库,可用于数据可视化和创建仪表板。可以使用TensorFlow.js(用于数据科学的功能强大的JavaScript库)执行各种机器学习技术,例如手势识别,对象识别,音乐创作等。

JavaScript相关资源:

Math.js:Math.js是一个用于JavaScript的扩展数学库。

Github链接:https://github.com/josdejong/mathjs

D3.js:D3(或D3.js)是一个JavaScript库,用于使用Web标准可视化数据。

Github链接:https://github.com/d3/d3

Tensorflow.js:强大的机器学习库,用于训练和部署机器学习模型。

Github链接:https://github.com/tensorflow/tfjs

4.Swift

除了R和Python你需要知道的6种数据科学编程语言

您是果粉吗?您喜欢使用他们的各种设备和紧密结合的iOS吗?那您一定会爱上Swift。

Swift是Apple为iOS和OS X应用程序开发的一种开源,简单而灵活的编程语言。 Swift建立在C和Objective-C的最佳基础上,没有C兼容性的限制。实际上,对于初学者来说,它是一种友好的编程语言,因为其简洁而富有表现力的语法和运行起来闪电般的速度。

Swift最近开始在数据科学界引起关注是它得到了杰里米·霍华德(fast.ai的联合创始人)的高度认可。有各种各样的库可以执行任务,例如数值计算,用于矩阵数学的高性能函数,数字信号处理,应用深度学习方法,构建机器学习模型等。

Swift相关资源:

Nifty(Demo):这是Swift编程语言的通用数值计算库。

Github链接:https://github.com/nifty-swift/Nifty-demo

Swiftplot:用于数据可视化的Swift库。

Github链接:https://github.com/KarthikRIyer/swiftplot

TensorFlow的Swift:是用于机器学习的下一代平台。

Github链接:https://github.com/tensorflow/swift

Swift AI:这是一个完全用Swift编写的高性能深度学习库。

Github链接:https://github.com/Swift-AI/Swift-AI

5.Golang

除了R和Python你需要知道的6种数据科学编程语言

显而易见,Go是Google创造的一种编程语言。简单,可靠,高效的软件–简而言之。我喜欢Go的唯一原因是它的singular focus。通过一次只专注于一种方法(与使用多种方法来解决问题的其他语言相反),它避免了冲突。同时它有大量的开源工具,程序包和资源可用于使用Go执行数据科学任务。这包括数据收集,数据组织,数据解析,算术和统计计算,EDA和构建机器学习模型等。

Go相关资源:

Math:此软件包提供基本常数和数学函数。

Github链接:https://github.com/golang/go/tree/master/src/math

Dataviz:在Golang中构建和可视化数据结构。

Github链接:https://github.com/Arafatk/DataViz

GoLearn:用于Go的通用机器学习库。

Github链接:https://github.com/sjwhitworth/golearn

Gorgonia:它可以简化机器学习任务,并为深度学习和神经网络相关项目提供了平台。

Github链接:https://github.com/gorgonia/gorgonia

6.Spark

除了R和Python你需要知道的6种数据科学编程语言

Spark不仅是语言,还是一种框架,但是您很快就会知道为什么它在我的清单上。它在数据工程师和数据科学家中非常受欢迎。Spark提供:Java,Scala,Python和R中的高级应用程序编程接口(API),以及一种优化的引擎,支持常规执行图。同时它也是一个开放源代码的快速集群计算框架,用于处理,查询和分析大数据。与其他大数据框架相比,Spark的优势在于它基于内存中的计算。这使计算运行速度提高了一百倍。Python的基本知识足以让您快速上手Spark。

Spark可以执行各种数据科学和数据工程任务,例如:

探索性数据分析

特征提取

监督学习

模型评估

构建和调试Spark应用程序等

Spark相关资源:

Spark SQL:这是Apache Spark的用于处理结构化数据的模块。

Github链接:https://github.com/apache/spark/tree/master/sql

GraphX:GraphX是Apache Spark的用于图形和图形并行计算的API。

Github链接:https://github.com/apache/spark/tree/master/graphx

MLib:MLlib是Apache Spark的可扩展机器学习库。

Github链接:https://github.com/apache/spark/tree/master/mllib

Spark NLP:John Snow Labs Spark NLP是基于Apache Spark ML构建的自然语言处理库。

Github链接:https://github.com/JohnSnowLabs/spark-nlp

结语

上文您是否觉得数据科学领域过于广阔?其实Python和R本身就很棒。但是这篇文章的目的是提出其他可用于执行数据科学任务的语言。

您也许现在已经知道其中一些语言(我相信所有开发人员都知道JavaScript!)–只是没有意识到可以将其用于构建出色的可视化和设计模型。为什么不试试呢!

原文链接:https://www.analyticsvidhya.com/blog/2019/06/6-useful-programming-languages-data-science-r-python/

欢迎关注【数据小盐罐儿】一个很“咸”的数据科学公众号,不定期分享有趣好玩的项目以及大量的学习资源