2013-05-06 55 views
-3

我在机器学习中使用python做原型,但经常因缓慢的解释器而感到沮丧。有没有一种对原型有好处的语言(足够的图书馆,如sklearn,numpy,scipy),但同时速度很快,是一种强大的语言。机器学习开发环境

我正在寻找的是我可以在原型中进行原型设计和部署的东西。人们通常使用什么?

+0

(+1)@PaulHiemstra,之后我停止阅读这个问题:) – Nishanth 2013-05-06 09:04:26

+0

@ e4e5f4可能我的评论出来太强了。在语言特性方面R与Python比较多少:面向对象,并行处理等? – 2013-05-06 10:03:46

+0

@IJ如果你不知道,那么你怎么能声称R首先不是真正的语言!我对Python没有足够的了解来全面评论你的查询。 – 2013-05-06 10:22:18

回答

2

据我所知,如果你想要一个拥有大量库的真实语言,Python就会变得更好。

MATLAB可能是最流行的商业原型解决方案。它有许多内置插件,并且易于操作。在性能方面,MATLAB目前是原型设计的佼佼者,仅次于编译语言(C,Fortran,C++,...)。这不是一个合适的语言,所以我想这不是你要找的。

+0

为什么要降级?我写的是真实且有用的,matlab非常受原型设计的欢迎。值得列入清单。我不是广告或任何东西,因为我特别提到它不符合问题提出的所有标准。如果速度是Python的主要关注点,我所知道的唯一更好的选择是matlab(假设Python代码被正确编写)。 – 2013-05-06 10:49:30

1

你可以在Python中使用R RPy。通过这种方式,您可以在Python程序中使用R功能以进一步使用。

取决于你想做的事,你也可以对OpenCV Python一看,较低级机器学习工具(SVM ...)

+0

... OP特别要求没有R. – 2013-05-06 08:43:04

+0

没有R因为语言的限制,但与Python等其他语言相结合,它可以变得非常强大 – ibi0tux 2013-05-06 08:52:02

+0

当你说R功能,你的意思是使用R包吗? – 2013-05-06 10:05:04

2

Python是非常尽善尽美的那种你描述的原型。但是,如果您对数字语言的速度感到沮丧,我不得不问:您如何编写代码?在Python中执行此操作的方法是使用Numpy,这是一个数值计算包,其中使用编译的C代码执行阵列(矩阵)上的基础操作。它意味着学习如何将计算表达为矩阵运算,所以如果你不习惯线性代数/矩阵运算,那么它可能需要一些适应。它基本上是一个类似Matlab的环境。

我的经验:如果你使用大量的循环,元素操作等来编写你的python代码,它很慢并且很难看。一旦你学会了相当于Numpy/Scipy的方式,速度的提升是惊人的(你写的也更接近数学表达式)。