当前位置:首页 > 百科 > 正文

爬虫和人工智能(人工智能只能用python吗)

爬虫和人工智能(人工智能只能用python吗)  第1张

最近有个朋友给我留言,和我聊天,分享了他这段时间在培训Python编程这一块,今天整理这篇文章,会详细介绍0基础学python该如何学,帮助到更多想学习python的朋友,给广大同学朋友规划个适合学习规划。

他大学学习的应用化学,后来毕业做了2年全栈设计师(PS:设计和前端都不熟练的那种)后来出于对爬虫开发的喜欢(爬图片,爬视频)还有人工智能,机器学习,大数据的火热程度的追捧,毅然决然报了培训班,学习时间半年,学费两万,感觉还挺值得(PS:他就是这么会安慰自己,即使心里觉得特别亏也。这不是给培训机构打广告的文章)

有需要我这个朋友在培训期间获得的一系列资料的读者们可以关注我然后私信回复我“Python”获取免费的百度盘链接。

后来出来找工作,几经周折和换工作,现在在期货公司工作,主要工作是数据处理和分析,机器学习,自然语言处理,图像处理等,项目是一个全自动化智能云测试云平台,现大概讲下想转行python的学习路线,当然他的转型之路,可能也代表了大多数和他一样的朋友同学,大学报专业没选好,不知道计算机互联网会这么火,而且出校门步入社会后又没能直接学计算机从事这个行业,浪费了很多时间,而此刻,就根据 大家的心声,站在和大家一样的立场,讲述他专业不是计算机,出来后又没能直接搞计算机互联网的转型python路线。

文本主要讲述转型的三个方面:web开发,爬虫,数据分析与人工智能

python的发展主要有几个方向:

网络,爬虫,数据分析,测试,运维,人工智能等,要属当下最火的还是人工智能,好多人冲着人工智能的方向学python,其实人工智能听起来确实很高大上,都想往这方面涌入,但是作为过来人,如果单纯从编程0基础想转行人工智能还是难度相当大的(大神除外),因为好多搞人工智能的公司会相对比较大,现在企业又不愿意去培养人,所以招聘时候学历,专业,项目经验,工作年限都相对还是比较硬性的。

虽然门槛比较高,但是想转行python进而转型数据分析和人工智能也是有很大机会的,毕竟python在国内火起来也没多长时间,只要按照科学有效的方法学习提升,也是可以很快转型的,由于对运维和测试不是特别了解,这里不在说这方面的转型路线,先讲web后端开发、爬虫开发、数据分析与人工智能路线。

1,首先是转行python学习路线:

通用必备基础知识 :(这些知识不管是做python哪方面,都是基础知识,必须会)

第一阶段:Python入门(框架再怎么变,基本语法不会变,基础中的基础)

数据类型循环判断常用模块函数,迭代器,装饰器递归,迭代,反射面向对象编程

第二阶段:网络编程(最好能完全搞透彻)

Socket c / s编程,Twisted异步网络框架多线程,多进程,携程gevent,选择\ poll \ epollFTP服务器开发批量命令,文件分布工具RabbitMQ消息队列,SqlAlchemy ORMReids \ MemCache \ MongoDB缓存数据库

第三阶段:正则表达式和数据库

学习字符串匹配的正则表达式重模块学习的MySQL的数据库(80%以上的公司都在用)学习的Redis的数据库(做网站和爬虫都很重要)学习的MongoDB的数据库

第四阶段:WEB前端基础(坑比较多,多敲)

做WEB当然要懂点基本的前端知识。

html / css基础 原生JS JQuery的的(JS库)Ajax的异步加载 绘图库引导(了解,最好能掌握一种布局框架)

好了,以上就是不管你后面发展那些方面,这些都是基础中的基础,必须要学(我培训班一共学了2个月)

2,转型python的网站后端开发学习的知识:

Django的(应用广泛的后端框架)tornadoflask(后起之秀的框架)session/中间件/ ORM / CSRF / FORM(一些网络基本的技术知识)

Django,flask,tornado,三个框架各有优劣,网页框架我用的Django和flask居多,Django的会觉得很多东西都已经封装好了,可以直接用,不用自己手动构造,比如Django的的管理的后台和xadmin后台,flask就相对灵活多变,至少掌握两个框架,多多益善(我在培训班1个半月,学的django和flask2个框架)

3,转型爬虫学习的知识:

requests:发送网页请求,返回数据

xpath:用于网页元素的提取(当然还有BS4,pyquery等,选择顺手的)

selenium:用于真实浏览器访问网页,根据具体情况使用

scrapy:用于大规模快速网页数据爬取

验证码破解:验证码破解建议大家可以多搞点难破解的,比如滑块验证码,淘宝验证码,12306验证码等等,面试经常问到哦

(我在培训班学爬虫学了3周,主要是requests和scrapy两个框架)

4,转行数据分析(机器学习,人工智能)学习路线:(培训班学习2个月)

(以下几个模块是数据分析最常用的库,一定要学好)

1,学习科学计算和分析包,numpy的和pandas

2,学习可视化,分析结果可视化的包matplotlib,实现数据绘图展示

3,学习数据挖掘模型,这个包主要是sklearn,里面的算法基本都有对应的包,但希望大家能对高等数学,概率论,线性代数,信息论的基础理论进行学习,这些算法都是基于数学基础,如果数学理解不透,也只能当一个调包侠(公众回复:机器学习)

4,神经网络的框架,推荐学习TensorFlow或者keras,Karas的是把TensorFlow封装起来的高级包,学习难度比较低。还有一个更加高级的框架CAFFE,据说很厉害。

5,常见神经网络:回归网络,分类网络,卷积神经网络(CNN)在图像语言等领域处理方面优秀,循环神经网络(RNN)利用时间序列分析(RNN LSTM),避免过度拟合。自编码网络,这个我不了解,也不感兴趣。神经网络还很多,技术前沿的东西还不知道。

好了,说到这里,基本学习路线就讲完了,下面就是最基本的学习路线总结

转型web :通用必备知识+2个网页框架

转型爬虫:通用必备知识+爬虫框架

转型数据分析:通用必备知识+数据分析库(pandas,numpy的的,matplotlib,sklearn),甚至这些还远远不够用

转型人工智能:通用必备知识+数据分析库+高等数学+线性代数+概率论+ tensorflow框架

接下来回答大家感兴趣的几个问题:

数据分析要不要学高数,概率论,线性代数?

如果不想只当调包侠,也不想在工作中因为不理解数学过程太痛苦的话,多补补数学理论吧,至少我工作中接触到简单的数学概念有:标准差,方差,协方差,协方差矩阵,余弦相似度,导数,对数,偏导,概率论,熵,信息论,矩阵运算,向量的运算等等。只能说列举的这些是基础中的基础,比这更难的我也正在学。

数据分析要不要学后端框架?比如Django和flask

以上过程是一个快速转行数据分析的路线,可能有些介绍不是太全,但大致的学习方向就按这个来,就会少走弯路,但其实作为一名蟒开发者,个人建议最好还能运用一种后端框架,能够搭建网站后端项目也很重要,虽然在公司工作是数据分析,但是公司经常可能性的会让搭一些简单的项目,艺多不压身,我个人喜欢用的Django

数据分析要不要学前端?(HTML,CSS,JS)

回答是肯定的:必须学,能阅读懂是基本,越熟练深入越好,因为做数据分析很多都是从爬虫和网络转过来的,而爬虫和网络都对前端技术有一定要求,比如如下原因:

爬虫读取页面结构,获取标签,你要能看懂HTML

爬虫的很多反爬虫措施基于厉害的JS代码和一些复杂的CSS,如果不懂,爬虫很难做到深层次

后台项目,至少在PC端的,很多情况下,都要求后端开发人员能读懂前端代码

鉴于很多朋友想从事数据分析,这里不得不提下,Python的数据分析是一个非常专业的方向,需要有较多的数学理论知识,而且需要有刻苦专研的精神。既然是编程语言,就需要写很多代码,他是至少写了10,000行代码了。最后你还需要了解你自己希望从事什么行业,传统数据挖掘在银行,保险,电信,电商等领域已经很普及了成熟了。对于那些高级的神经网络,也就是类似AI领域,在图片语音视频识别,自动驾驶,量化投资,机器人等领域也很好的。很多分析师都转行做这块了,还是话说回来,想学习的很多,多实践,加油!

有需要我这个朋友在培训期间获得的一系列资料的读者们可以关注我然后私信回复我“Python”获取免费的百度盘链接。