朱莉娅
最后一种需要考虑的语言是Julia(2009 年开发,2012 年发布;Jeff Bezanson、Alan Edelman、Stefan Karpinski、Viral B. Shah)。 Julia 是一种快速、动态类型的编程语言,专为并发、并行和分布式计算而设计;它真正最闪耀的地方是在数值和科学计算方面。 Julia 的语法类似于非程序员经常使用的公式,这使得它成为一种对于具有数学背景的用户来说更容易学习的语言。 Julia 注重速度,与常见的数据科学和统计语言相比具有明显的速度优势。此外,真正改变游戏规则的(据从业者称)是多重调度的功能。通过多重分派,可以根据运行时/动态类型或其他属性/参数动态分派函数或方法。换句话说,程序员可以多次编写一个函数来处理不同的类型。
“野外比较”
嗯,让我们测试一下。采用一些“基本”的机器和深度学习算法,以及数 BC 数据 据科学项目经常使用的数据集,让我们比较一下这些编程语言。
K 均值聚类
K-均值聚类是第一次比较的首选武器。使用 k-means 可以对聚类内的数据点进行分组。这里的聚类是指由于某些相似性而聚集在一起的数据点的集合。它是一种无监督算法,仅使用输入向量从输入数据集进行推断,而不知道结果(标签)。为了进行此比较,使用 sklearn.datasets.make_blobs 创建了一个具有四个中心的包含 300 个随机数据点的数据集。
随机森林分类
对于第二次比较,选择了随机森林分类算法。随机森林是一种创建多棵树的分类算法。为了构建这些树,该算法使用了装袋和特征随机性。它创建多棵不相关的树,即森林,其中森林的预测比每棵树的预测更准确。本次比较所用的数据是著名的鸢尾花数据集。该数据集由三个类组成,每个类有 50 个实例,每个类都是一种鸢尾花:Setosa、Versicolour 和 Virginica,具有萼片和花瓣长度以及萼片和花瓣宽度的属性。与 k 均值聚类比较相比,标签确实是给定的,这使其成为一个监督学习问题。