新闻  |   论坛  |   博客  |   在线研讨会
扣丁学堂Python培训浅谈Python语言受欢迎的原因
扣丁客1 | 2020-12-22 16:47:00    阅读:3449   发布文章

Python语言是机器学习领域最优秀的编程语言之一,现在它正挑战着R语言在学术界和研究领域的统治地位。那么,为什么Python语言在机器学习领域会如此受欢迎?Python领域资深专家MikeDriscoll组织了一次访谈会,邀请了五位Python专家和机器学习社区人士,共同分析Python语言受欢迎的原因。


▌“编程是一项社交活动-Python社区已经意识到了这一点”

第一位:PythonTwisted网络编程框架创始人GlyphLefkowitz(@glyph),曾在2017年荣获PSF社区服务奖

人工智能是一个大而全的术语,通常代表着当前计算机科学研究中最先进的领域。

有一段时间,我们理所当然地认为那种用于基本的图遍历技术就是所谓的AI技术。那时候,Lisp还是门强大的人工智能语言,它的使用频率高于其他语言很多,使用这门语言能让研究人员更容易地解决相关的AI/机器学习问题。但现在,我认为Python已经在很大程度上取代了Lisp,因为二者除了有相似的高层次属性外,Python还拥有出色的第三方库,以及与操作系统完美地集成。

Lisp的使用者们可能会反对我的观点,所以我应该说清楚。我没有对Python在表达层次中的位置做出精确地陈述,只是说Python和Lisp都处于相同的语言类别中,在处理诸如垃圾回收,内存安全,模块,名称空间和高级数据结构等方面的问题时有着相似的特性。

在更具体的机器学习层面,也就是大家最近谈论的AI,我认为两种语言的差别就更加明显了。Python中的NumPy库及其强大的处理机制的存在,使得研究人员可以对高级别的内容进行研究,并进行高性能的数据处理。如果不能拥有强大的数字处理功能,那机器学习系统是没有任何意义的。

Python社区致力于为非程序员提供友好的介绍和操作系统的支持,这也确实增加了其在数据科学和科学计算等相关学科中的应用。各种领域的工作人员,包括统计人员、天文学家、生物学家和商业分析师等,也都已经成为Python程序员,并针对各自领域工作的需求改进并拓展了Python工具包的使用。编程也逐渐成了一种社交活动,这在JavaScript社区和Python社区都得到了充分的证明和认可。

此外,由于机器学习是一个集成度特别高的学科,任何AI/机器学习系统都需要从现实世界中提取大量的源数据并作为训练数据或系统输入,因此Python自带的丰富的依赖库能够帮助用户更好地访问和转换数据。

▌“Python允许使用者专注于解决现实问题”

第二位:PSF社区的联合创始人及eGenix的首席执行官Marc-AndreLemburg(@malemburg)

对于没有受过计算机科学专业学习的科学家来说,Python也是非常容易理解。当你尝试驱动所需要研究的依赖库时,Python能帮助你消除了许多必须处理的复杂性问题。

在Numeric(现在是NumPy)开始开发之后,增加了IPythonnotebook(现在是Jupyternotebook)功能,matplotlib和其他的可视化工具能够让我们更直观地了解数据分布。Python让数据科学家去思考解决问题的方法,而不是单纯提供这些解决方案所需的技术。

与其他领域一样,Python也是一门理想的集成语言,它将各种技术绑定在一起,Python允许用户关注问题的本身,而不是把时间花在实现细节上。除了为用户提供更方便的功能之外,Python还是一个理想的粘合平台,为开发人员与外部库的低层次集成人员之间搭建连接。这主要是由于Python可以通过一个完整的CAPI来访问。

▌“Python对于数学及统计学专业的人员来说是非常容易使用的”

第三位:研究者;《PythonMachineLearning》一书的作者SebastianRaschka(@rasbt)

我认为在AI/机器学习领域,Python语言受欢迎主要有两个原因,且这两个原因是非常相关的。

首先,Python代码非常容易阅读和学习。

我认为,大多数从事机器学习和人工智能的研究人员都希望以最方便的方式来实现自己的想法。他们的重点是研究和应用程序的开发,编程只是实现这个想法的工具。编程语言的学习越轻松,入门门槛越低,就会更受初学者的喜爱。同样,这也适用于数学及统计学相关人员学习。

不仅如此,Python代码可读极强,这有助于保持最新的机器学习和AI的现状,例如,实现AI/机器学习的新思路往往需要相对复杂的算法,而在阅读相关代码时,语言越透明,可读性越好,代码的调试也越容易。

第二个主要原因是,Python本身是一种非常易于访问的语言,而且开发者还在Python中封装了很多优秀的依赖库,这也使得我们的工作变得更容易。没有人愿意花时间从头开始重新实现基本算法(除非是研究机器学习和人工智能的专业人士)。大量Python依赖库的存在将帮助我们专注于算法的实现,这比“重新发明轮子”来的更高效。

此外,Python也是用于实现更高效的C/C++算法及CUDA/cuDNN的最好的“胶水”语言,这就是为什么现有的机器学习/深度学习库能够在Python中高效运行的原因,这对于机器学习/AI领域的工作也是非常重要的。

总而言之,我会说Python是一种强大的语言,它可以让研究人员和从业者更专注于解决机器学习/AI领域的相关问题,这是其他语言所无法做到的。

▌“Python更专注于科学计算”

第四位:ThoughtWorks的首席技术官及PSF社区会员LucianoRamalho(@ramalhoorg)

在我看来,Python之所以能够如此受欢迎的最重要和最直接原因是其NumPy和SciPy库能够支持scikit-learn这样的项目,这几乎是目前解决机器学习问题所需的标准配置。

首先,创建NumPy,SciPy,scikit-learn和其他库的原因是因为Python的一些功能使其更专注于科学计算。此外,Python有一个简单而一致的语法,可以让非软件工程师人员更容易使用这门编程工具。

另一个原因是Python的运算符重载功能,能使代码可读性更好,简洁性更高。此外,Python的缓冲协议(PEP3118),是外部库在处理类似数组的数据结构时与Python进行高效交互的标准。最后,Python为科学计算提供了丰富的依赖库和全面的操作系统,这也促进了更多的数据科学家使用。

▌“Python有着严格而一致的风格”

第五位:RedHat的高级软件工程师;SQLAlchemy的开发者MikeBayer(@zzzeek)

在AI/机器学习领域,我们正尝试开发我们的数学和算法。我们将希望保留和优化的算法封装打包成依赖库,如scikit-learn。然后我们继续重复这个过程,并分享一些关于如何组织和思考数据的笔记。

高级的脚本语言对于人工智能和机器学习是非常适合的,因为我们可以快速迁移并进行改动,我们创建的大部分代码代表的是实际问题中相关的数学知识和数据结构,而不是所谓的代码模板,因此我们可以根据实际问题的需要,尝试更改脚本的代码来解决我们的问题。

像Python这样的脚本语言更适合AI/机器学习的工作,因为它严格而一致的语法风格。每个Python使用者都可以更好地理解对方的Python代码,而其他语言的语法有可能会导致混淆和不一致的编程范例,这就是Python较其他编程语言的优势所在。

此外,IPythonnotebook等工具的可用性使得我们可以在全新的平台上重复并分享我们的数学和算法工作。Python能够突出我们所要完成的工作核心,还能够最小化计算机指令的所有内容,这一切过程Python都能自动完成,不需要你考虑任何问题,这也是Python语言强大之处。

最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂python学习交流群:816572891。微信号:codingbb

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客