Python机器学习,python机器学习( 二 )


是不是机器学习的框架都偏向Python?如果是 , 为什么?

Python机器学习,python机器学习


是的 , 机器学习的框架都偏向Python 。要说原因 , 其实就是Python语法简洁 , 学起来轻松 。这里要明白一个概念 , 对于大多数机器学习框架来说 , Python只是一个wrapper(对内部实现的封装) , 只是一个调用接口而已 。Python语言本身的性能并不高 , 甚至说很低 , 但他的有点是使用方法 , 而这些框架的底层实现 , 几乎都是用C/C来完成的 。
C/C的效率是非常高的 , 但由于许多从事机器学习研究的科研人员 , 特别是在研究所和高校里的 , 他们的专业和计算机语言的相关度并不是那么高 , 更多的是深入机器学习相关的理论和算法 , 如果对外接口也是C/C , 那么无疑会提高机器学习框架的使用门槛 , 这样一来是对用户不够友好 , 让大家陷入语言的细节;一来是不利于机器学习框架的推广 。
Python语言其实很慢 , 为什么机器学习这种快速算法步骤通常还是用呢?
作为python的忠实粉丝 , 看见这个题目就情不自禁想怼回去 。鉴于和谐社会 , 我决定慢慢讲道理 。首先 , 相对于c语言 , python慢是慢了点 , 绝对不能用“很”慢来形容 。有大佬总结出三条python速度慢的原因:1. python是动态语言而非静态语言 。2. python是解释型语言而不是编译型的 , 编译过程可以优化 , 获得更快的执行速度 。
【Python机器学习,python机器学习】 3. python的对象模型 , 导致了内存访问比较低效 。但是本人的实践中发现 , python的运行速度并不是相差几倍 , 而是在50%一下的速度 , 新版本的python运行速度有所提升 , 此外还有一些可提升速度的方法 。为什么会流行起来的原因?这就很好解释了 , 因为真的......很好用 。Python通常被选为初学者编程入门语言 。
运行Python程序 , 只需要简单地键入Python程序并运行就可以了 。不需要其他语言(例如 , C或C)所必须的编译和链接等中间步骤 。Python可立即执行程序 , 这形成了一种交互式编程体验和不同情况下快速调整的能力 , 往往在修改代码后能立即看到程序改变后的效果 。此外 , Python是一个混合体 。它丰富的工具集使它介于传统的脚本语言(例如 , Tcl 、Scheme 和Perl )和系统语言(例如 , C、C和Java) 之间 。
Python 提供了所有脚本语言的简单和易用性 , 并且具有在编译语言中才能找到的高级软件工程工具 。不像其他脚本语言 , 这种结合使Python 在长期大型的开发项目中十分有用 。Python程序可以以多种方式轻易地与其他语言编写的组件“粘接”在一起 。例如 , Python的C语言API可以帮助Python程序灵活地调用C程序 。
这意味着可以根据需要给Python程序添加功能 , 或者在其他环境系统中使用Python 。例如 , 将Python与C或者C写成的库文件混合起来 , 使Python成为一个前端语言和定制工具 。就像之前我们所提到过的那样 , 这使Python成为一个很好的快速原型工具;首先出于开发速度的考虑 , 系统可以先使用Python实现 , 之后转移至C , 根据不同时期性能的需要逐步实现系统 。

推荐阅读