大数据学习有关python的自我总结第一部分
本人大三,这篇文章包含了我自己大概两年的Python学习总结。包括Python基础语法,数据分析,可视化,爬虫,Opencv,深度学习。关于Opencv和深度学习我自己也学得比较浅,就多分享一些学习资料。目的主要为了给下一届同学做一个参考。
文章目录
前言
希望这篇博客能够帮助到大家,也希望大家可以学得更多,为这篇博客增加更多的内容。
一、Python学习
1.0 基础的语法知识
有C语言基础的同学应该上手很快,但是我希望大家能打好基础。
个人觉得需要注意,列表,集合,字典,元组的操作
菜鸟编程网站:点击跳转,我主要是基础语法的了解
1.1 pandas和numpy的学习
pandas和numpy我们在后面处理表格数据时十分有用。我自己用pandas比较多。
numpy:numpy官方中文文档,numpy教程
pandas:pandas官网中文文档,pandas教程
这里就放了几个学习网站,但是还是得要自己多多进行练习。在机器学习和可视化处理数据时才能更加的得心应手。机器学习花费的时间其实大多数在处理数据
1.2 可视化工具的学习
下面有几个基础的可视化工具,其中Matplotlib,与Seaborn的使用频率比较高。
Matplotlib:最受欢迎的Python可视化库之一,提供了多种图表类型,如线图、散点图、柱状图、饼图等。Matplotlib也支持自定义图表元素、添加标签和注释等功能。
Seaborn:基于Matplotlib开发的库,提供了更高级别的统计可视化功能,如热图、聚类图、分布图、分类图等。Seaborn的设计风格美观、简洁。
Plotly:一个交互式的可视化库,支持生成交互式的HTML图表和在线共享。Plotly支持绘制多种图表类型,如线图、散点图、柱状图、热图等,也可以进行3D图表绘制。
Bokeh:一个交互式的可视化库,主要用于Web应用程序开发。Bokeh可以生成交互式的HTML图表,支持线图、散点图、柱状图、热图等多种类型,也支持3D图表绘制。
Pyecharts:Echarts是一个由百度开源的商业级数据图表,它是一个纯JavaScript的图表库,可以为用户提供直观生动,可交互,可高度个性化定制的数据可视化图表,赋予了用户对数据进行挖掘整合的能力。
1.3 基础知识的总结
基础打牢才是最重要的,熟悉基础的语法和数据类型以及对应的操作。
二、爬虫的学习
Python爬虫是利用Python编写程序来自动化访问互联网上的网站,并从中提取数据的技术。学习和了解这个主要是增强一下学习Python的乐趣。在进行爬虫之前大家先了解一下前端的基本知识。HTML,CSS,JS。因为很多时候我们需要查看网页源代码。
这里大家就可以去B站看视频学习。
2.1 正则表达式和Xpath的学习
用于解析爬取后到的网页数据。大多数网站获取到数据并不困难,难点是如何提取出需要的信息。
2.1.1 正则表达式
较好的博客链接
简单例子
Python中的re模块提供了正则表达式的支持。可以使用正则表达式来匹配和提取HTML代码中的特定文本数据或标签元素。例如,以下代码可以从HTML代码中提取所有a标签的href属性:
html = '<a href="http://www.example.com">Example</a>' hrefs = re.findall('<a\s+href="(.*?)"', html) print(hrefs)
在这个例子中,我们使用re模块的findall函数来查找所有与指定正则表达式匹配的字符串。正则表达式中的<a\s+href="(.*?)"表示匹配所有以<a
href="开头,后跟任意字符并且非贪婪地匹配到第一个"结束的字符串。
2.1.2 XPath
Python中的lxml库提供了XPath的支持。可以使用XPath来选择和提取HTML代码中的标签元素和文本数据。例如,以下代码可以从HTML代码中提取所有a标签的href属性:
url = 'http://www.example.com' response = requests.get(url) html = response.text selector = etree.HTML(html) hrefs = selector.xpath('//a/@href') print(hrefs)
在这个例子中,我们使用requests模块发送HTTP请求,并使用lxml库中的etree类来解析HTML代码。然后,我们使用XPath语法选择所有a标签的href属性,并将结果存储到一个列表中。最后,我们遍历列表并输出每个href属性的值。
需要注意的是,使用正则表达式和XPath时需要了解HTML代码的结构和语法,以便正确地选择和提取目标元素和文本数据。
2.2 scripy框架
菜鸟编程入门教程
框架爬取的速度比较快,因为他将很多功能封装得很好。
这个我用的比较少,大家可以自己去B站找一些资料学习。
2.3 selenium自动化爬虫
它可以模拟鼠标点击功能,有兴趣的还可以写一个自动填问卷的。
较好的博客
2.4 爬虫总结
难点主要是一些网站有反扒机制,而且有些数据并不是直接全部展示在网页上,是动态加载的,这个就比较麻烦,需要去开发者模式查看,手动分析Ajax请求来进行信息的采集。参考博客
三、机器学习
我认为这个才是大多数本科同学需要熟练掌握的东西。因为深度学习比较难。我先来点相关资料链接,这两个我简单看了下都是比较入门。在学习机器学习之前,大家最好学了概率统计。
Python机器学习算法入门教程
10种常见机器学习算法+Python代码
3.1 如何学习
对于这个问题,我觉得第一次接触时,只需要知道这个算法是用来干嘛的,有什么用,怎么用就行了,不需要太深入的了解。在了解回归,聚类,分类,降维,关联这些算法后。再去看视频
虽然都说吴恩达和李宏毅老师讲得很好,但是我看了一点都是讲得源代码,我觉得难度太大。
3.2 学习资料
3.2.1 相关书记:
西瓜书,李航-统计学习方法。
我主要是看了这两本书。西瓜书主要看了决策树。李航统计学习方法看了第一版的内容,网上这些书都不难找到,有需要也可以私聊我。
3.2.2 相关视频:
深度之眼-西瓜书机器学习:我觉得这个讲得很浅显,可能是想卖课的,就当听着玩。
浙江大学胡老师-机器学习:这个还不错,这里面有线上线下两个版本,弹幕都说线下讲得更好,这个主要讲了SVM的推导,这个算法挺难的。
吴恩达老师机器学习:这个我基本没看
李宏毅老师2021/2022春机器学习:现在有更新版本的,我们老师就是用的李宏毅老师的课件,内容比较有趣,建议静下心来看一遍。
吃透《统计学习方法》:这个配套李航的统计学习原理使用,个人感觉还不错。
总结
今天就先更新到这里吧,这区这个周将这些内容更新完。以上内容都是个人学习经历和经验,有不足的地方还请谅解,同时希望大家能点个赞。