Matlab是进行研究机器相关研究的最好语言,几乎没有之一。然而,价格不菲。于是,学者们将视线转到了Python。
有个学者是做机器学习的,但不是计算机专业出身。对于他来说,最直接的需求就是,将自己的idea从公式转化到计算机语言,进行运行即可。这一次转化,中间所需要做的额外精力越少越好。
那么首先,在算法实现的过程中,遵循程序语言的规则和避免程序语言的陷阱是需要耗费精力的:Python语言本身的设计,可以帮助用户避开数量不少的陷阱,无需考虑申明变量,释放内存这些非计算专业学者所认为的“琐事”。
其次,从数学符号转化到计算机语言这本身,也是需要耗费精力的。如果能提供给研究人员一种错觉:“写程序,就是将公式以另一种语言再写一遍即可”,是比较完美的。Python所能提供的这种错觉,相对于其他语言,比较偏高。主要依靠Python本身的特色和一些开源的算法库。首先,Vector提供了吧,学者理解这个泛型几乎不需要眨眼吧。然后,全称量词什么的,一个for in也能解释,虽然有点怪怪的,但也能接受吧。最后,一大波库袭来,SciPy、Numpy等等。让写程序和写公式一样酸爽。
到这里,这个学者有点坐不住了。觉得这个还行,先看看价格,你猜怎么着,免费!!!!学者立即一拍大腿,就她了。这时候,突然一道亮光闪过,Python女神出现在他的面前:“感谢您选择Python,我们还有超级大礼包相送哦”
“首先,您发表的论文得有个图吧,来来来,这里有个Matplotlib拿去。画出来的图特别的萌萌哒。”
“您平时做研究还要做个笔记什么的吧,来来来,这里有个ipython notebook拿去,做笔记也萌萌哒。哦,忘了告诉你了。稍微转化一下,可以用作slideshow。这样,你去开会的时候,做presentation 也萌萌哒”
“还有哦,我们还提供网络蜘蛛,lambda函数式编程。只要您需要,也会提供哦,免费的哦!!”
“希望您使用愉快!”
这时候,这个学者厚重的眼镜片下,充满了泪水。