要说近几年科技圈什么最火热,无疑就是人工智能,各大科技公司纷纷投入这个浪潮之中,很多从事的是毫不相关的行业的企业也投入到了人工智能的开发与应用中,也想在里面分得一勺半羹。
提及人工智能,就不得不说到和他息息相关的开发工具,python就是最接近AI的预言之一。总所周知,机器学习和深度学习是开发人工智能两个非常重要的模块,而 Python拥有keras、Numpy、matplotlib、sklearn、等大量的库,像matplotlib、sklearn、pandas这些库都是做数据分析、数据处理、数据建模和绘图的库,基本上机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在Python中全都能找到对应的库来进行处理。
那么要想学人工智能,想学Python,那以下这些是必不可少的:
首先,你要学Python如何爬取数据,你要做数据分析、数据建模,起码你要有数据,这些数据来源有多种方法,但是很多都来自网络,这就是爬虫。
爬虫:爬虫主要分为两个部分,第一个是网页界面的获取,第二个是网页界面的解析;爬虫的原理是利用代码模拟浏览器访问网站,与浏览器不同的是,爬虫获取到的是网页的源代码,没有了浏览器的翻译效果。
举个列子
源代码:
import urllib2
repr = urllib2.urlopen("URL")
html = repr.read
import re
省略一行代码
print url
python爬虫的话很多模块包提供给开发者直接抓取网页,urllib,urllib2,requests(urllib3)等等
然后,有了数据就可以进行数据处理和分析了,这个时候,你需要用到数据处理的一些库。
数据处理:Numpy、scipy、pandas、matplotlib,这些库分别可以进行矩阵计算、科学计算、数据处理、绘图等操作,有了这些库,你就可以一步步开始把数据处理成你需要的格式。
接着,数据符合你的格式以后,你就需要利用这些数据进行建模了,这个时候你用到的库也有很多。
建模:当你开发一款智能电话机器人时候,建模是必须要的,这直接影响到你电话机器人好不好用的问题,像nltk、keras、sklearn,这些库主要是用于自然语言处理、深度学习和机器学习的,把这些用好了,你的模型就构建出来了,你的产品雏形也就构成了。
最后,如果你的项目是基于Python开发的线上系统,你还可以学一学Python的Web开发,这样,你做的模型还能直接用在线上系统。
Web开发:django、flask、tornado,这些库搞明白了,你Web开发也就搞定了。
为什么开发AI要先掌握python呢?因为python有其他预言不具备的优势,首先一点就是,对初学非常友好,python非常适合阅读,特别是英语必要好的同学,pythone更像是一种伪代码。在学习python你甚至都不用去搞懂预言本身的意义。
基于他的开源属性,导致你只需要做一点点小小的改动,Python就能够被移植到许多的平台上面。如果你是基于系统特性这一点出发,你可以无需修改就可以让你写的程序在平台上面运行。
可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
所以,如果你想要去学习AI但是不懂Python,就好比想学习英语但是不懂单词是一样的道理。有句话叫人生苦短,我用Python,之所以这么说是因为Python在实现各个功能的时候要远比其他语言简练的多 。