为什么Python语言是入行人工智能的首选语言

  发布时间:2018-05-07 17:15:52   作者:佚名   我要评论
最近几年,随着人工智能概念的火爆,Python迅速升温,成为众多AI从业者的首选语言。下面通过本文给大家介绍为什么Python是入行人工智能的首选语言,感兴趣的朋友一起看看吧

在所有编程语言里,Python并不算萌新,从1991年发布第一个版本,至今已经快30年了。

最近几年,随着人工智能概念的火爆,Python迅速升温,成为众多AI从业者的首选语言。

根据数据平台 Kaggle发布的2017年机器学习及数据科学调查报告,在工具语言使用方面,Python是数据科学家和人工智能从业者使用最多的语言(见下图)。

IEEE综览(IEEE Spectrum)发布的2017最受欢迎编程语言列表中,Python同样位列第一(见下图)。

为什么?

原因1:Python是一种说人话的语言

所谓“说人话”,是指这种语言:

开发者不需要关注底层
语法简单直观
表达形式一致
我们先来看几个代码的例子:

C 语言Hello World 代码:

intmain()
{
printf("Hello, World!");
return0;
}

Java 语言Hello World 代码:

publicclassHelloWorld{
publicstaticvoidmain(String[] args){
System.out.println("Hello World!");
}
}

Python 语言Hello World代码:

print("Hello World!")

仅仅是一个Hello World程序,就能看出区别了,是不是?

编译 VS 解释

当然,仅仅是一个Hello World的话,C和Java的代码也多不了几行。

可是不要忘了,C和Java的代码要运行,都必须先经过编译的环节。

对于C语言来说,在不同的操作系统上使用什么样的编译器,也是一个需要斟酌的问题。一旦代码被copy到新的机器,运行环境和之前不同,还需要重新编译,而那台机器上有没有编译器还是一个问题,安装上编译器后,也许和之前最初的编译器有所区别,还得修改源代码来满足编译环境的需求……

我到底做错了什么?我只是想运行一个别人写的程序而已[泪目]

而Python则不用编译,直接运行。而且都可以不用写文件,一条条语句可以直接作为命令行运行。不要太方便咯。

语言语法

和Python比,Java的语法更“啰嗦”。

从上面的例子已经可以看出,创建一个链表,Java还需要声明和逐个插入节点,而Python则可一行代码完成从链表创建到插入节点及赋值的全部操作。

这还只是一个例子。在真正的使用中就会发现,对于很多非常简单基础的操作,Java非让你很别扭地写好几行,Python直接一句搞定。

这样的结果就是,Python写起来省事,读起来也方便。可读性远超Java。

表达风格

在10年或者更久远之前,Python经常被用来和Perl相提并论。毕竟在那个时候,C是系统级语言,Java是面向对象语言,而Python & Perl则是脚本语言的双子星。

Python和Perl在设计层面有一个非常大的区别:

Python力求让不同的人在撰写同样功能实现的代码时,所用的表达形式尽量一致;
而Perl则是故意追求表达的千姿百态,让同一个人在不同地方写同样功能时所用具体形式都不同。
从哲学层面讲,Perl的追求更加自由主义,更利于释放人类的多样化天性。也确实有很多Geek范儿程序员因为这一点推崇毫无限制的Perl,鄙视到处设限的Python。

然而,Perl写的程序——那叫一个乱七八糟!

当你想遇到问题,想在网上找点实例代码看看的时候,搜到的Perl example千姿百态,很难找到一种“大众”的解法。而不同写法之间,还很难保证相容。

这个问题其实在Python vs Java上也有,只不过程度要低得多。

Java语言本身并没有想要把自己变成书写代码诗歌的载体。但是因为它长年大量地被应用在企业级软件的后台开发,夹杂进了太多并非语言本身却又与其使用不可分割的东西,进一步加剧了Java的繁杂。

如果不是想成为代码诗人,或者语言大师,只是想用尽量简单直接的方法,把事情做了,首选语言确实是Python。

原因2:强大的AI支持库

矩阵运算

NumPy由数据科学家Travis Oliphant创作,支持维度数组与矩阵运算。结合Python内置的math和random库,堪称AI数据神器!有了它们,就可以放心大胆玩矩阵了!

大家知道,不管是Machine Learning,还是Deep Learning,模型、算法、网络结构都可以用现成的,但数据是要自己负责I/O并传递给算法的。

而各种算法,实际上处理的都是矩阵和向量。

使用NumPy,矩阵的转置、求逆、求和、叉乘、点乘……都可以轻松地用一行代码搞定,行、列可以轻易抽取,矩阵分解也不过是几行代码的问题。

而且,NumPy在实现层对矩阵运算做了大量的并行化处理,通过数学运算的精巧,而不是让用户自己写多线程程序,来提升程序效率。

有了Python这种:语法简洁明了、风格统一;不需要关注底层实现;连矩阵元素都可以像在纸上写公式一样;写完公式还能自动计算出结果的编程语言,开发者就可以把工作重心放在模型和算法上了。

ML模型

用Python实现大多数经典模型,几十上百行代码就够了。

当然,对于普通用户,也可以连算法都不用管,只是调用Scikit-Learn的接口就可以了。

比如,训练和使用一个logistic Regression模型,只需要下面几行代码就可以了:

#import the LogisticRegression
from sklearn.linear_model import LogisticRegression
#Use default parameters
classifier = LogisticRegression()
#train model
classifier.fit(train_set, target)
#dotest
y_hat = classifier.predict(test_set)
#printout testresults
print y_hat

支持图表

Python还有许多图标方面的支持库。用来生成dashboard上的各种图形表格,是非常简单的事情。

比如使用Plotly图形库,下面这些炫彩的图形,就随便用啦:

原因3:规模效应

语言简单易学,支持库丰富强大,这两大支柱从早期就奠定了Python的江湖地位。

根据以高收入国家Stack Overflow问题阅读量为基础的主要编程语言趋势统计,可以看出,近年来,Python已然力压Java和Java,成为目前发达国家增长最快的编程语言(见下图)。

由图可见,2012年之后,对于Python相关问题的浏览量迅速增长,从时间上看,这一趋势正好和近几年人工智能的发展重合。

相关文章

  • 今日头条原创度检测工具,教你头条号被限流了怎么恢复方法

    近期,很多今日头条的头条号创作者收到文章不被推荐的提示,原因是与平台已有内容高度相似,对此,我们可以通过以下方法来解决
    2024-10-21
  • 免费AI内容检测器99.98%的准确度,一键改写降AIGC检测

    作为一款支持多语言免费识别AI生成文章检测工具,并标记出可疑句子,受到了广大网友的青睐,不用登录注册的免费AI文本检测工具真的太少了,强烈推荐!
    2024-06-26
  • 净化网络环境,抵制网络谣言。

    2024年作为打击整治网络谣言专项行动年,鼓楼公安认真贯彻落实,公安部统一部署,全面梳理摸排各类网络谣言线索,依法严厉打击,编造传播网络谣言违法犯罪行为,共建清朗网
    2024-04-29
  • 夸克PC版开启内测:主打夸克小工具和夸克网盘(附正式版下载)

    夸克PC版在电脑中使用的浏览器工具,据悉该软件已经开启内侧,主打夸克小工具和夸克网盘,本站提供该软件内侧地址
    2023-12-20
  • 今日辟谣 (2023年11月24日)

    近日,部分网民在网络平台发布光脚踩葡萄干的视频,视频上标有“新疆和田11月21日”的字样,经新疆和田地区市场监督管理局核实,和田地区暂无绿葡萄干晾晒场地和视频中所显
    2023-11-26
  • 今日辟谣(2023年11月23日)

    近期,支原体肺炎广受社会关注,针对“感染肺炎支原体一定会得肺炎吗”“会出现‘白肺’吗”这些热点问题,详细请看下文介绍
    2023-11-25
  • 今日辟谣(2023年11月27日)

    近日,社会上流传一份加盖中国疾控中心公章的《中国疾病预防控制中心关于印发一型糖尿病疫苗即将上市以及管理办法的通知》,是真是假
    2023-11-28
  • 今日辟谣(2023年11月22日)

    近日,一张落款为中国移动通信集团广东有限公司的“套餐升级公告”截图在网上流传,称中国移动将下架4G套餐,详细情况请看下文介绍
    2023-11-24
  • 今日辟谣(2023年11月21日)

    近日,网上流传“30岁小伙为28万彩礼加班活活累死”“为挣28万彩礼娶媳妇,上海外卖小哥活活累死”等多篇自媒体文章,还配有当事人在医院治疗的画面,详细请看下文介绍
    2023-11-23
  • 今日辟谣 (2023年11月28日)

    近期,网络上陆续出现关于“山东青岛莘县路小港立交桥上有轿车坠下砸中一名路人” “济南电动车从高架桥上掉下砸死送货快递小哥” 以及“黑龙江牡丹江市过路人被冰溜子砸死
    2023-11-30

最新评论