Python-人工智能时代必备利器

Python的由来

       距今30年前(即1989年),坐标荷兰阿姆斯特丹,Guido van Rossum为了打发圣诞节的无趣,便决定开发一款新的脚本解释程序,作为ABC语言(ABC是由Guido参加设计的一种教学语言)的一种继承。基于ABC语言的失败教训,并吸取其他语言的优势,Guido将Python打造成一款自由开放优美且强大的语言。
       Python第一个公开发行版发行于1991年,之后由于Python语言简洁、易读以及可扩展性,在国外越来越多的科研机构和知名大学都开始使用它,自2004年以后,Python的使用率更是呈线性增长。2000年10月Python2.7稳定版发布,直到2018年3月Python作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持,历经近20年,Python2最终宣布退出历史舞台。然而Python3早就于2008年12月发布,但并不完全兼容Python2,幸运的是经历10年的发展,绝大部分Python2扩展库都已支持Python3,如果是0基础学Python,建议直接Python3即可。

人工智能利器

       根据数据平台Kaggle最新发布的2018年机器学习及数据科学调查报告,在工具语言使用方面,Python是数据科学家和人工智能从业者使用最多的语言,并且比2017年调查结果中Python占比76.3%又多了将近7%(见下图)。所以如果你想从事人工智能行业的技术工作,那必须得先学会使用Python。
2018年Kaggle调查报告

Python的优势

  • 简洁至极
    举个例子,Python输出HelloWorld只需下面一行:
print("Hello World!")

而同样的,Java语言则需要如下代码:

public class HelloWorld { 
  public static void main(String[] args){
      System.out.println("Hello World!");
  }
}

这仅是最简单的输出,可想而知越复杂的功能代码量差距也会越大。

  • 解释型
    Python作为一种解释型语言,很多年里一直打着“脚本语言”的标签,并因为运行速度慢而被人诟病。但后来这也成为一种优势,相对于Java/C语言需要先编译再运行,Python则不需要编译即可直接运行,甚至不需要把代码写到文件里,只要在命令行输入一行行代码,即可以得到结果,是不是很方便。

  • 面向过程&面向对象
    Python既支持面向过程编程也支持面向对象的编程语言。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的,而在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。这也使得代码编写更加灵活且易读。

  • 动态类型
    熟悉Java的朋友应该都知道,它是静态类型语言,即一个变量一旦被指定类型,就不能再接受其他类型的值,如下代码:

List<Integer> numbers = new ArrayList<>();
numbers.add(1);    //正常
numbers.add("2");   //编译报错

而Python作为动态类型语言,则不受这个限制,如下代码:

numbers = list(range(10))
numbers.append('ten')
print(numbers)

//输出结果:
//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'ten']

当然这里并不是说动态类型要比静态类型语言好,但在写AI或大数据处理相关程序时,经常处理大量非结构化数据,所以至少在这些领域,动态类型的Python要更有优势。

  • 强大的扩展库
    Python拥有强大的AI支持库,例如最著名的NumPy和sklearn(scikit-learn)。
    NumPy由数据科学家Travis Oliphant创作,支持维度数组与矩阵运算。结合Python内置的math和random库,堪称AI数据神器!有了它们就可以放心大胆玩矩阵。而且矩阵的转置、求逆、求和、叉乘、点乘……都可以轻松地用一行代码搞定,行、列可以轻易抽取,矩阵分解也不过是几行代码的问题。
           再比如,训练和使用一个logistic Regression模型,也只需要下面几行代码就可以:
# import the LogisticRegression
from sklearn.linear_model import LogisticRegression
# Use default parameters
classifier = LogisticRegression()
# train model
classifier.fit(train_set, target)
# do test
y_hat = classifier.predict(test_set)
# print out test results
print y_hat

结语

       综上,目前Python在人工智能领域已经有了不可替代的地位,就连著名的深度学习框架tensorflow,其主体和原生接口也都是由Python实现的,所以学习Python将是人工智能及大数据时代必备利器。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值