查看原文
其他

认识Julia:数据科学的未来

数据应用学院 大数据应用 2023-08-17

今日份知识你摄入了么?

作为一名数据爱好者,你可能听说过:Julia——“未来数据科学编程语言”。有人声称,Julia将在数据科学领域取代Python和R,因为它在性能、效率和易用性方面具有显著优势。


在本文中,我们将研究Julia是什么,它的应用及它是否值得数据科学家去学习。






Julia是什么?

图片来源于作者


创建Julia是为了提供Python的简单性R的统计能力以及C和C++的速度


Python是一种高级语言,具有简单的语法,大多数程序员很容易使用。它允许数据科学家花更少的时间编写代码并专注于模型构建。Python中的许多库允许用户构建统计算法并执行科学编程。


然而,Python的一个主要缺点是速度慢。虽然它易于使用并提供了高级别的抽象,但该语言具有高延迟。


当构建大规模机器学习应用程序时,Python往往会大大减慢速度,并且使用该语言运行预测模型可能需要几天的时间。


另一方面,像C++这样的语言提供了快速的执行,但低抽象级别使得编写代码变得不易操作,复杂且耗时。


Julia通过提供易用性和效率来解决这个问题。


它的设计目的是为用户提供像C++一样的低延迟,这意味着即使没有启用多线程,它也比Python的Pandas库快1.5到5倍。


此外,与Python类似,Julia是一种通用编程语言,也提供统计功能。它的语法很容易理解。因此,数据科学家、经济学家、统计学家、科学家和数学家越来越多地使用Julia。






Julia的应用


综上所述,Julia由于其简单和快速的性能而被许多专业人士使用,以下是该语言在现实世界中使用的一些示例。


Part.1

数据科学


Julia经常被数据科学家用来建立预测模型。该语言提供了机器学习包,如ScikitLearn.jl(https://scikitlearnjl.readthedocs.io/en/latest/)和Tensorflow.jl(https://malmaud.github.io/tfdocs/),它们是Python中ScikitLearn和Tensorflow的封装库。


许多数据科学家更喜欢Julia,因为它更快、更容易调试、更简单,并且具有更好的软件包管理。


Part.2

网站开发


Julia的Genie.jl(https://genieframework.com/)框架类似于Python中的Django库,可以用于全栈网站开发。


如果你想创建一个端到端的动态网站应用程序,但发现Python太慢,不想花时间学习更复杂的语言,Julia是一个不错的选择。


如果你想构建一个仪表板应用程序来展示可视化效果,Dash.jl(https://dash.plotly.com/julia)可以使用,这相当于Python中的Plotly Dash库。


Part.3

数据分析


所有数据专业人士都会发现需要分析数据并从数据中提取有意义的见解。Julia为用户提供了一系列专门为数据分析和可视化设计的库。


Julia有一个名为DataFrames.jl(https://dataframes.juliadata.org/stable/)的包,允许你加载和操作表格数据。你可以将其视为Python中的Pandas。使用多线程,Julia可以比Pandas快20倍。


Julia还允许用户使用Plots.jl(https://docs.juliaplots.org/latest/tutorial/)将数据可视化,类似于Python中的Matplotlib。


例如,你可以在一行代码中使用Plots.jl来创建简单的散点图:


你还可以在Julia中创建这样的图:


图片来自Julia的文档


你也可以在Julia中构建的其他图表像热点图、条形图、气泡图、小提琴图和点图。

图片来自Julia的文档


Part.4

科学计算


Julia广泛应用于化学、物理、天文学和生物信息学等领域。


这些行业的专业人员通常需要对大量数据进行统计分析,Julia有一系列的软件包可以供他们使用。


  • BioSequences.jl(https://biojulia.net/BioSequences.jl/v0.8/sequences/bioseq.html)

  • Molly.jl(https://docs.juliahub.com/Molly/SNYdm/0.1.0/docs/)

  • QuantumLab.jl(https://github.com/vonDonnerstein/QuantumLab.jl)


这几个是一些可用于解决Julia领域特定问题的科学包示例。


根据评论,Julia的科学库生态系统比Python的要广泛得多,用户无需从头编写解决方案就可以解决问题。






我与Julia的经历


我学习的第一门编程语言是Python,这几乎总是我在处理数据科学任务时的首选语言。


我第一次接触Julia是在研究线性规划问题时。我必须构建一个优化器来最小化基于一组约束的函数。


然后,这个求解器必须是自动化的,以便我团队的其他成员可以使用它,这意味着它作为用户输入必须接受约束和函数。


我在Python中找到了一些库来完成这项工作,但对输出的呈现方式不满意。我使用的软件包效率也很低,所以我求助于Julia寻求另一种解决方案。


Optim.jl库(https://julianlsolvers.github.io/Optim.jl/stable/)比我在Python中尝试过的任何东西都快得多,并且至少节省了团队4-5个小时的时间。


因为我熟悉Python语言,所以我仍然用它执行大量的数据分析和模型构建工作流,但如果我发现Python太慢或再次遇到上述问题,我会转用Julia。






那么…你应该学习Julia的数据科学吗?


数据科学家、分析师、开发人员和经济学家等专业人士可以使用Julia进行日常工作。由于该语言易于使用、速度快,并且有大量的科学库,因此它是Python和R的一个很好的替代方案。


Julia在过去三年中越来越受欢迎,目前正被Apple,Amazon,Google,IBM和Microsoft等大型组织使用。


虽然Julia目前没有像Python和R那样得到很好的记录或广泛使用,但一些专家声称该语言是数据科学的未来。


根据他们的说法,现在学习Julia是一个好主意——这样,当该语言在未来10年成为“下一件大事”时,你就能保持领先地位。


其他数据科学家则持更保守的观点,认为最好先学习Python或R,因为它们目前是数据科学中使用最广泛的编程语言。


最后,只有时间才能告诉Julia的未来。


就我个人而言,如果你有空闲时间,学习新东西总是一个好主意。学习Julia可以帮助你加快机器学习工作流程,展示让你与众不同的投资组合项目。






如何学习数据科学的Julia?


以下是学习Julia的三个步骤:


第一步:设置Julia环境


1.首先,请下载最新版本的Julia并运行可执行文件。

2.安装Julia后,单击开始并搜索Julia。单击它。

3.这将打开Julia命令行。键入以下内容并按enter键


Using PkgPkg.add(“IJulia”)

图片来自于作者


4.安装完成后,下载最新版本的Anaconda并根据提示进行操作。

5.导航到“开始”->“Jupyter Notebook”。这将打开一个选项卡,如下图所示:


图片来自于作者


6.单击"新建"并从下拉列表中选择Julia。这将打开一个tab,你可以在其中编写Julia代码:


图片来自于作者


如果你已经使用Jupyter运行Python程序,那么你应该熟悉该界面。


第二步:学习基本原理


现在,你已经安装并运行了Julia,可以参加一个在线课程来学习编程语言的基础知识。这包括变量、数据结构、操作符、方法和函数等概念。


Julia以多重调度的特性而闻名,它使用函数的所有参数来选择应该调用哪个方法。


一旦你掌握了Julia的基础知识,就可以了解该语言提供的用于统计、数据分析、机器学习和可视化的不同软件包。


最后,使用这些包分析数据并执行预测建模。


我建议参加Julia导论课程来学习这门语言,因为它将更详细地涵盖上面提到的所有概念。


第三步:创建个人项目


一旦你了解了Julia的基本知识,你就可以开始使用该语言创建个人项目了。这不仅会提高你的编程技能,而且还会为你的数据科学投资组合带来巨大的价值。


以下是一些项目想法和源代码,你可以使用Julia实现:


  • Iris flower classification

  • Rock,paper,scissors

  • Handwritten digit classification

  • Object detection

原文作者:Natassha Selvaraj

翻译作者:王文龙

美工编辑:过儿

校对审稿:Chuang

原文链接:https://towardsdatascience.com/meet-julia-the-future-of-data-science-52414b29ebb


本周公开课预告


往期精彩回顾

2022年IDEAS全球人工智能大会火热抢票中!

招贤纳士 | Marketing specialist、Business Development Manager

数据工程——Scala与Python的区别

【Python-数据科学】Pandas Basics速查表(2023)

以数据科学家或机器学习工程师的身份逐步构建数据管道






点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存