机器学习编程语言之争,Python夺魁
来源:
奇酷教育 发表于:
随着科技的发展,拥有高容量、高速度和多样性的大数据已经成为当今时代的主题词。数据科学领域中所采用的机器学习编程语言大相径庭。究
随着科技的发展,拥有高容量、高速度和多样性的大数据已经成为当今时代的主题词。数据科学领域中所采用的机器学习编程语言大相径庭。究竟哪种语言最适合机器学习成为争论不休的话题。近日,密西根州立大学的博士生Sebastian Raschka再次发起了机器学习编程语言之争,分析了自己选择Python的原因。
目前,机器学习牵涉的编程语言十分多样,包括了MATLAB、Julia、R、Perl、Python、Ruby等等。首先,Raschka定义 了语言好坏的原则:一门好的语言应该使得编写、调试和执行代码的总时间最短。然后,他花大篇幅讲述了一个简单的道理--没有一门语言是对所有情况、所有人都十分适合的。
但Roberto Waltman博士分析:“在这种唯一正确的方式下,面向对象的Spaghetti code就是Lasagna code。”针对具体的应用场景以及参与项目的人员,开发团队或个人要对任务需求进行评估,再结合人员对于各个语言的熟悉程度和语言生态环境的情况等等,作出选择。接下来,Raschka开始正式点评各个语言相对与Python在机器学习时的优缺点。
表现平平的MATLAB
作为机器学习、模式识别等方面经常使用的工具,MATLAB被放在了第一个分析。Raschka认为,MATLAB在实现机器学习算法时要比Python或者 NumPy 更加自然。很多高校也在计算机科学相关的课程中教授MATLAB语言。然而,MATLAB也存在很多的缺点:价格昂贵、非开源、性能表现平平、语法不符合程序员的习惯等。例如,MATLAB中矩阵乘积运算操作为 X.dot(Y) ,而Python为 X@W ,更加简洁、明了。
各种语言相对于C的测试性能--C的性能为1.0,越小越好
从上图可以看出,MATLAB的性能比Python、Go、Java等语言要差很多。Raschka也提到,上图中Python的性能也表现不好。但是,现在性能强劲的GPU为Python提供了强大的后盾。在2010年的时候,Python中的 Theano库 在CPU上运行时,其速度是NumPy的1.8倍。而Theano在GPU上运行时,其速度就是NumPy的11倍。因此,在目前更高性能的GPU的帮助下,Python性能已经有了更大的改进。
老而弥坚的Python
最后,Raschka夸赞了自己所喜爱的Python语言。尽管Python已经走过了20多年的风雨历程,Raschka认为它仍然可以继续流行下去。而且,Raschka还不遗余力的列出了自己最喜欢的Python工具--NumPy、Theano、 scikit-learn 、 matplotlib等。
Python的优势在智能时代、大数据时代愈加凸显出来,奇酷教育Python高级开发培训班,0元入学,先就业后付款;一周免费试听,不满意不缴费;完善的就业服务体系,保障就业。在这里,你不光能够学会如何编写程序,还能够学会如何编写高质量的程序,一跃成为专业的工程师!
奇酷教育原创开发的
Python培训课程不仅涵盖Web前后端开发和网络爬虫技术,还包括独有的数据分析和机器学习,前端、服务端一网打尽。可从事Web前端、Web服务端、服务器运维、网络爬虫、大数据分析、机器学习等多种热门职业,学员百分百高薪就业!