为什么Python如此适合AI和机器学习?5位Python专家告诉你

摘要:Python是机器学习最好的编程语言之一,和R语言一样,很快将会成为学术和研究领域统治者。但为什么Python在机器学习领域如此受欢迎?

Mike Driscoll等五位Python专家和机器学习社区人士分享了他们的观点,下面就让我们一睹为快。

编程是一项社交活动 ,Python社区已经认识到了这一点

GlyphLefkowitz(@ glyph)

Python网络编程框架Twisted的创始人,在2017年荣获PSF社区服务奖

人工智能是一个覆盖面很广的词汇,它包含了当前计算机科学研究中最先进的技术领域。

曾有一段时间,我们普遍认为基本图遍历东西就是AI。那时候,Lisp是人工智能的主要语言,不仅仅是因为它是一种更高级的语言,还因为研究人员更容易用它来做快速原型。我认为目前Python已经一定程度上快要取代Lisp,除了Python也是高级语言以外,它还拥有出色的第三方库生态系统,以及对底层操作系统的良好兼容性。

如果你不这么认为,那么允许我再描述的清楚一些。我不打算精确的描述Python在程序设计架构中的位置,只是说Python和Lisp都处于相同的语言类别,它们在资源回收、内存安全、模块、名称空间和高级数据结构上有很多相似之处。

对于机器学习或者说对于大家谈论更多AI而言,我有更清晰的答案。 NumPy及其生态系统的存在使得研究人员可以进行高性能的数据处理,从而提高工作效率。机器学习需要大量的数据处理,你懂的。

Python社区致力于为非程序员提供指南和生态系统支持,这无疑增加了其在数据科学和计算科学这两个姐妹学科中的使用。大量的统计科学家、天文学家、生物学家和商业分析师已经成为Python程序员,并且为社区贡献新的代码。编程可以说是一种社交活动,Python社区比任何其他语言都认同这一点。

机器学习是一个集成度很高的学科,因为任何AI /机器学习系统都需要从现实世界中提取大量数据并作为训练数据输入到系统中,Python大量库函数构建的生态系统让它能更好的访问和转换数据。

Python允许用户关注真正的问题

Marc-AndreLemburg(@malemburg) PSF联合创始人兼eGenix首席执行官

首先,对于没有受过计算机科学培训的技术人员,Python非常容易理解。其次,当你需要集成外部库文件时,它没那么复杂,非常容易上手。

在Numeric(现在是NumPy)发布之后,Python增加了IPython 编辑器(现在是Jupyter 编辑器)、matplotlib和许多其他工具,这些编辑器让开发更加直观。

与其他领域一样,Python是一种理想的集成语言,它将底层技术封装起来,允许用户关注真正的问题,而不是花时间在实现细节上。除了为用户提供更方便的功能之外,对于那些想要在底层集成外部库的工程师,Python作为一种“胶水”语言同样表现出色,这主要得益于Python可以通过C API接口被友好访问。

对于数学和面向数据的人来说,Python非常容易使用

SebastianRaschka(@rasbt)

研究人员和Python机器学习的作者

我认为有两个主要原因,它们是非常相关的。第一个原因是Python非常容易阅读和学习。

我认为大多数从事机器学习和人工智能的人员都希望以最方便的方式解决问题,重点是研究和应用技术,编程只是一个让你到达那里的工具。编程语言学习起来越舒服,进入门槛就越低,尤其是对于那些数学和统计背景的技术人员而言。

Python可读性是极好的,这有助于优化和更新代码,这在机器学习和AI领域是非常重要的。人工智能和机器学习工程师经常需要尝试不同的实现方法,这需要编程语言既要能实现复杂算法又要保持语言透明,Python毫无疑问在这一点做的非常好。

第二个主要原因是,Python本身就是一种非常易于访问的语言,我们在其之上有很多优秀的库,这使得我们的工作变得更容易。没有人愿意花时间从头开始重新实现基本算法(除了机器学习和人工智能的基础研究)。大量Python库帮助我们专注于比重新发明轮子更令人兴奋的事情。

Python也是一种优秀的封装语言,它集成了C / C++算法和CUDA / cuDNN以提高算法性能,这也就是为什么现有的机器学习和深度学习库在Python中高效运行的原因。这对于机器学习和AI领域的工作是非常重要的。

总而言之,我会说Python是一种伟大的语言,它可以让研究人员和从业者专注于机器学习和AI,而不是其他的事情,这确实很棒!

Python具有对科学计算有吸引力的功能

LucianoRamalho(@ramalhoorg)

ThoughtWorks的技术负责人和PSF的同事

最重要和最直接的原因是NumPy和SciPy库支持scikit-learn这样的项目,它目前几乎是机器学习的事实标准工具。

首先NumPy,SciPy,scikit-learn和其他许多库被创造出来的原因是Python有一些功能对科学计算非常有吸引力。 Python有一个简单而一致的语法,可以让软件工程师以外的人更容易使用编程。

另一个原因是运算符重载,它使代码可读和简洁。然后是Python的缓冲协议(PEP 3118),这是外部库在处理类似数组的数据结构时可与Python高效互操作的标准。最后,Python为科学计算提供了丰富的库生态系统,吸引了更多的科学家参与丰富这个系统。

Python是严格和一致的

MikeBayer

(@zzzeek RedHat的高级软件工程师,SQLAlchemy的创始人)

当我们开发算法时,我们一定希望把优化的算法放入库以便保留起来,就如同scikit-learn,然后我们分享我们是如何组织和处理数据并继续迭代。你瞧,我们就是这么干的,不是吗?

高级脚本语言非常适合人工智能和机器学习,因为我们可以快速更新并重试。我们创建的代码大部分代表实际的数学和数据结构,而不是模板。

像Python这样的脚本语言就很好,因为它是严格和一致的,每个人都可以更好地理解对方的Python代码,相反的,其他语言则会有混淆和不一致的编程范例。

IPython编辑器等工具的可用性很好,使得我们可以在全新领域迭代和分享我们的算法。 Python强调了工作的核心,简化了我们如何给计算机指令,自动完成任何你不需要考虑的事情,这显然是极好的。

END.

原文:

https://datahub.packtpub.com/interview/python-machine-learning-expert-interviews/

PPV课小组翻译

免费试听:Python基础

3月24-25日《Python编程基础》免费试听,这门课程是《从数据分析到数据挖掘》训练营的其中一门课程,想要学习python数据分析又没有编程基础不要错过机会。

讲师简介:

毛紫阳:国防科技大学数学系副教授

Ø 美国大学生数学建模竞赛特等奖指导教师,全国大学生数学建模竞赛优秀指导教师,2007、2009、2013、2016年赛题命题人。《数学建模与数学实验》国家精品课程、国家精品资源共享课程团队主要成员。获军队教学成果奖1项,湖南省科技进步三等奖1项。Ø 具有算法设计、图像处理、气象遥感数据处理等项目经验。

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2018-03-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

验证码的未来:扒一扒reCAPTCHA的那些事

reCAPTCHA的诞生及意义 CMU(卡耐基梅隆大学)设计了一个名叫reCAPTCHA的强大系统,让电脑去向人类求助。具体做法是:将OCR(光学自动识别)软件...

46750
来自专栏华章科技

7个实战案例、24个学习视频、12G干货资料...今天带你免费入门Python数据分析!

你花了大半天整合了一张数据表,却因为其他部门的错误,导致表格结构全错了!于是你又要吭哧吭哧重新来过……

11630
来自专栏C语言C++游戏编程

我们不一样!老司机教你用C语言制作简单实用的撩妹神器!

你以为C语言就是提供一种编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言吗?你以为C语言就只是以一个标准规格写出的C语言程序可...

88700
来自专栏SDNLAB

OpenDaylight峰会SDN进步案例演变

传统网络现今已经不能满足越来越大的用户需求,传统网络需要进行基础性的重构和改变,而这些改变正通过软件定义网络(SDN)的驱动发生着。 ? OpenDayligh...

29450
来自专栏AI科技大本营的专栏

机器学习,就用Python!五大专家详解其优势何在

编译 | AI科技大本营(公众号ID:rgznai100) 参与 | 林椿眄 编辑 | 明明 【AI科技大本营导读】Python 语言是机器学习领域最优秀的编程...

374120
来自专栏SDNLAB

Barefoot:可编程交换在5G中的潜力

23280
来自专栏AI科技评论

盘点丨入门必读 机器学习六大开发语言

机器学习的初学者,普遍需要面对一个问题: 到底学习哪个编程语言? 答案可能会让你惊讶:对高手来说,这关系不大。只要你了解所选语言的机器学习库和工具,语言本身其实...

37380
来自专栏CDA数据分析师

为什么说Python更适合做AI/机器学习?

? 译者 虎说八道 本文转自云栖社区 Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph): ? 编程是一项社交活动...

48750
来自专栏IT派

编程将成为社交行为,Python更适合机器学习

1.Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph):

13200
来自专栏程序员维他命

《程序员的修炼 - 从优秀到卓越》- 读书笔记

本书是笔者上一篇读书笔记高效能程序员的修炼的姊妹篇,同样介绍了一些程序员需要了解的,有关于编程本身以外的一些事情。

17330

扫码关注云+社区

领取腾讯云代金券