Python与人工智能的关系原来是这样的……
人工智能掀起了世界的新一波科技浪潮,如今,你要是不懂点AI、机器学习和python都不好意思说你是现代人,那么python究竟和人工智能什么关系,为什么人工智能把python也给带火了,今天就给大家简单介绍下python和人工智能的关系及应用,以及想要学人工智能的你,究竟需要学些什么python的知识,先来上两张图人工智能和python的图。
从上图可以看出,人工智能包含常用机器学习和深度学习两个很重要的模块,而下图中python拥有matplotlib、Numpy、sklearn、keras等大量的库,像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘图的库,基本上机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在python中全都能找到对应的库来进行处理,所以,要想学习AI而不懂python,那就相当于想学英语而不认识单词,所以,python学起来吧。
那么要想学人工智能,想学python,那些东西要学习呢,下面给大家简单介绍下:
首先,你要学python如何爬取数据,你要做数据分析、数据建模,起码你要有数据,这些数据来源有多种方法,但是很多都来自网络,这就是爬虫。
爬虫:requests、scrapy、selenium、beautifulSoup,这些库都是写网络爬虫需要使用到的,好好掌握这些东西,数据就有了。
然后,有了数据就可以进行数据处理和分析了,这个时候,你需要用到数据处理的一些库。
数据处理:Numpy、scipy、pandas、matplotlib,这些库分别可以进行矩阵计算、科学计算、数据处理、绘图等操作,有了这些库,你就可以一步步开始把数据处理成你需要的格式。
接着,数据符合你的格式以后,你就需要利用这些数据进行建模了,这个时候你用到的库也有很多。
建模:nltk、keras、sklearn,这些库主要是用于自然语言处理、深度学习和机器学习的,把这些用好了,你的模型就构建出来了。
最后,如果你的项目是基于python开发的线上系统,你还可以学一学python的web开发,这样,你做的模型还能直接用在线上系统。
Web开发:django、flask、tornado,这些库搞明白了,你web开发也就搞定了。
以上只是你入门要学习人工智能所要掌握的一些基本的库,要想真正使用起来,你可能需要花费很多时间去研究和学习这里面的每一个细节,不过,有句话叫“人生苦短,我用python”,之所以这么说是因为python在实现各个功能的时候要远比其他语言简练的多,很多功能在python中只需要一行代码搞定,但是在java中你可能需要写好多好多代码才能实现。
就拿一个简单的例子,读写文件来说吧:
Python读写文件:
//读文件 with open('readFile', 'r') as inFile: for line in inFile.readlines(): print line ... //写文件 with open('writeFile', 'w') as outFile: outFile.write("...")
Java读写文件:
import java.io.InputStreamReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.File; BufferedReader br1 = new BufferedReader(new InputStreamReader(new FileInputStream("read_file1"))); BufferedReader br2 = new BufferedReader(new FileReader("read_file2")); String line = null; while((line = br1.readLine())!=null){ System.out.println(line); ... } File outfile = new File("write_file"); if (!file.exists()){ file.createNewFile(); } //true = append file FileWriter fileWritter = new FileWriter(file.getName(),true); BufferedWriter bufferWritter = new BufferedWriter(fileWritter); bufferWritter.write(data); bufferWritrer.flush(); bufferWritter.close();
各位学习AI的同胞们,你们看到了吧,就是一个简单的读写文件,java的操作要比python复杂太多太多!
在真实的工作中,我们需要做的事情是把大量的精力集中在数据上、数据分析和理解上,而不是花费30%-50%的时间去写代码,python不光是提供了机器学习所需要的一切工具库,还能让你专注在数据处理和分析上,所以,要学习和进入人工智能行业的话,好好学习python吧,骚年!
附上一张今年语言排行榜。
写在最后
前几天有私信我要Python的学习资料,我连夜整理了一些有深度的Python教程和参考资料,从入门到高级的都有,文件已经打包好了,正在学习Python的同学可以免费下载学习学习。文件下载方式:点击我的头像,关注后私信回复“资料”即可下载。首先把代码撸起来!首先把代码撸起来!首先把代码撸起来!重要的事说三遍,哈哈。“编程是门手艺活”。什么意思?得练啊。