Files
fzu-product/4.人工智能/4.8数据分析.md
camera-2018 c43e32de1e Revert "Delete 4.人工智能 directory"
This reverts commit d77a9b0c51.
2023-07-22 22:04:47 +08:00

228 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数据科学
author:zzm
# 本章内容会从一个小故事开始
讲讲某个人在大一的悲惨经历来为大家串起来一个精简的数据科学工作包括了哪些步骤,同时给各位介绍一些优质的教程
同时,这章内容将详细阐述[与人合作的生死疲劳](../1.杭电生存指南/1.5小组作业避雷指南.md)
# 悲惨世界
::: danger 若有雷同,纯属瞎编~~根据真实事件改编
后人哀之而不鉴之,亦使后人而复哀后人也!
请欣赏小故事的同时,根据自己的需求选择自己想学的教程
:::
## Day1
你是一个可怜的大一学生,学校的短学期的第一天,你的心情非常好,因为要放寒假了,只要再坚持过这个短学期,你的快乐假期要来了!什么是短学期?不知道啊,也没听学长说过,好像是新研究出来的一个课程,去试试看吧。
当你快乐的走进教室老师告诉你“你们看看PPT上的任务自由选择啊
你看到PPT上赫然印着
::: tip 任务目标
基础系统:
1. 淘宝客户价值分析系统,实现爬取数据,数据处理,数据分析。
2. 二手房数据分析预测系统,实现爬取数据,数据分析,绘制图表。
3. 智能停车场运营分析系统,实现爬取数据,数据分析,绘制图表。
4. 影视作品分析系统,实现爬取数据,数据分析,绘制图表。
升级系统:
1. 利用爬虫理论,实现 12306 抢票小助手系统。
2. 利用数据分析方法,实现淘宝商品排行分析。
3. 利用爬虫原理,爬 Google 搜索引擎分析。”
要求实现三项以上的功能模块或三种以上的特征分析或提取。
:::
心中一惊暗道不妙这都什么玩意怎么还有爬谷歌淘宝和抢12306的票啊这tm不是犯法的么这我要能做出来我还上什么大一的学啊🥺🥺🥺🥺
老师紧接着补充“十个人一组啊!一周内做完,数据自己想办法,第三天就要检查你们的进度了!”
这是你倒是暗暗松了一口气好像十个人一起干也没有那么复杂😎这时正是愚昧之峰错误的认为工作总量就是工作量除以十迅速的组好队之后你问了问大伙的进度what大伙都没有python基础只有我有幸好学了hdu-wiki和datawhale的[聪明方法学python](https://github.com/datawhalechina/learn-python-the-smart-way)
那就把教程分给大伙吧,我们选一个最简单的,二手房数据的分析系统好了!
第一天选好题了又是大下午的摆了摆了你开心的打开电脑打开了steam开摆
day 1 End!🤣
## Day 2
昨天真是美滋滋的一天,玩了一晚上的你有点头昏脑涨,今天就开始干活好了,反正一周时间呢,比期末复习周可长太多了,就做这么个玩意我还能做不出来吗?
虽然你没有学过爬虫但是你很幸运的找到了github上一个现成的爬虫代码虽然费了一翻力气但是仍然躲过了某房价网站的爬虫他成功爬下来了我们就把他存在哪里呢~~(爬虫待补充)
先试试excel好了毕竟这是大家最耳熟能详的存表格的方法但是你貌似没有深入了解过他打开了datawhale的[free-excel](https://github.com/datawhalechina/free-excel),你才惊讶的发现,wow原来他有这么多牛逼的功能啊它除了可以将房价统计找到它的平均价格算出他的最高价格之类以外竟然也可以把他可视化甚至它还可以对房价进行多元分析根据房屋数量面积地段等等因素帮你预测房价甚至可以自动帮你检索和去除重复数据实在是太好用啦
当然,这只是一个理想状态,残酷的现实很快给你当头一棒!当你试着多爬点不同城市数据的时候,他崩了!这么脆弱的吗?!干点活就喊累的吗?!😨
当然你想起了有一个备用方案,好像你可以用数据库去存储他!
之前好像看到有一个教程叫做[wonderful-sql](https://github.com/datawhalechina/wonderful-sql?from=from_parent_mindnote)
他提到“随着社会的快速发展各类企业数字化转型迫在眉睫SQL 应用能力日趋重要。 在诸多领域中 SQL 应用广泛数据分析、开发、测试、维护、产品经理等都有可能会用到SQL而在学校里系统性讲授 SQL 的课程较少,但是面试及日常工作中却经常会涉及到 SQL。”
确实学校没有教过,但是幸好你有教程,折腾了一翻之后,你发现你对数据库有了更深的理解,他帮助了我们在容纳大量的多种不同的数据形式的时候不用专门去考虑怎么设计一个数据结构而是规划了一定的存储方法后全部塞给他,完全不用考虑具体的物理性的以及性能问题存储模式,并且他很多高级的功能可以帮助你便捷的把数据组织成一般情况下难以到达的形式,他的底层设计被严格的包装起来让你在进行数据增删改查的时候都又快又好。
并且它可以非常方便的存一些excel不好存的所谓的非结构化的数据比如说图像等等并且他不会动不动就喊累处理几十万条也是一下子
当然同时你也了解到你所用的是关系型数据库是老东西了目前还有很多较为前沿的非关系型数据库例如MongoDB(这玩意什么都能存,比如说地图)Neo4j像一张蜘蛛网一样的结构等等他们不用固定的表来存储可以用图存或者键值对进行存储听起来好像非常的高级不过你暂时用不到数据搞都搞下来了量也够了是时候看看队友做到哪了说不定后面你都不用做了已经做的够多够累的了
什么刚开始学python?!woc!完蛋,你逐渐来到了绝望之谷,唉!明天继续做吧!看来休息不了了。
day 2 End 😔!
## Day 3
God!No!昨天已经够累的了,今天老师还要讲课,还要早起!你期待着老师可以降低要求,可是当老师托起长音,讲起了他知道了学生的累,所以今天决定开始讲课了!(现在讲有毛用啊,你明天就要验收我们的进度了!)
而他却慢悠悠的开始讲python的历史把这点内容讲了足足两节课你终于绷不住了本来时间就不够他竟然又浪费了你足足一早上的时间这也太该死了🤬
你回到了寝室,准备今天争取数据分析完就直接交上去好了!
可是你发现了一个让你震惊的噩耗!你找到的数据,是混乱的!😱
这个野鸡房价网站每个城市的排版不一样,你爬虫爬取的完全是按照顺序标的,也就是说你爬取的所有房价信息处于混沌状态!完全就相当于给每个房子爬了一段句子的描述!
没有办法了看来今天有的折腾了你找到了一个叫pandas熊猫的东西找到了这个教程[Joyful-Pandas](https://github.com/datawhalechina/joyful-pandas),开始了一天的学习!
你了解到pandas是一个开源的Python数据处理库提供了高性能、易用、灵活和丰富的数据结构可以帮助用户轻松地完成数据处理、清洗、分析和建模等任务。你使用了DataFrame来装载二维表格对象。
用一些关键词来提取数据中隐藏的信息例如提取“平米”前面的数字放到area'列,提取房价到'price提取位置到'locate'里面,当然你也遇到了可怕的bug提取所有“室”和“厅”前面的数字他总是告诉你有bug全部输出之后才发现你提取到了“地下室”结果他没法识别到数字所以炸了
将数据勉强弄得有序之后,你提取了平均数填充到缺失数据的房屋里面,将一些处理不了的删掉。
当然你也额外了解到pandas这只可爱的小熊猫还有非常多强大的功能例如数据可视化例如分类数据甚至可以让房屋按照时序排列但是你实在不想动了
不论怎么说,你勉强有了一份看得过去的数据,你看了看表,已经晚上十一点半了,今天实在是身心俱疲!
问问队友吧什么他们怎么还是在python语法你就像进了米奇不妙屋~队友在想你说“嘿~你呀瞅什么呢~是我!你爹~”
此时你像一头挨了锤的老驴曾经的你有好多奢望你想要GPA想要老师的认同甚至想要摸一摸水里忽明忽暗的🐟可是一切都随着你的hadworking变成了泡影。
可是步步逼近的截止日期不允许你有太多的emo期说好的七天时间最后一天就剩下展示了也就是说实际上只有6天的开发时间也就是说你必须得挑起大梁了
> 世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活
好的,你真不愧是一个真正的英雄!
day 3 end!👿 👹 👺 🤡
## Day 4
老师在验收的时候认为你什么工作也没做他认为一份数据实在是太单薄了特别是被你疯狂结构优化后的数据已经没几个特征了让你去做点看得到的东西不然就要让你不及格了你的心里很难过你想到也许你需要一些更好看的东西。数据可视化你在昨天的pandas看到过可是你并没有详细了解你觉得pandas已经在昨天把你狠狠的暴捶一顿了并且老师想要更好看的图。
于是你考虑pandas配合Matplotlib画一些简单的图Matplotlib的缺点是它的绘图语法比较繁琐需要编写较多的代码才能得到漂亮的图形。
加上Plotly绘制一些复杂的图让你的图有着更漂亮的交互效果然后加上看起来很牛逼的英语描述
你找到了下面的教程
[matplotlib奇遇记文字教程](https://github.com/datawhalechina/fantastic-matplotlib)
[极好的Plotly文字教程](https://github.com/datawhalechina/wow-plotly)
[视频教程](https://www.bilibili.com/video/BV1Df4y1A7aR)
🤗
你绘制了柱状图,散点图,箱线图,甚至花了点钱找了外包去做了一个前端的热力图,虽然你爬的城市和数据不够覆盖全国,但是可以数据不够前端来凑啊!把城市的热量铺洒在全国。
这时你认为你的任务已经完成了!于是早早就心满意足的早早睡着了🍻 🥂。最近真的太累了,天天一两点睡,早上惊醒,做梦都是在爬数据分析数据!太可怕了!
在梦里,你好像看到了美好的假期时光。 😪
day 4 end!~🤤
## Day 5
你睡得很死,因为你已经你做完了所有的东西,第二天只要美美的验收结束,买了机票就可以回家了,可是老师仍然制止了你,跟你说如果你今晚走了就给你挂科,因为你没有用机器学习来分析他!
可是机票今晚就要起飞了啊!😰你已经要气疯了,想和老师据理力争,但是又害怕这么一个课被打上不及格的分数,这实在是太难受了!
终归你还是在老师的逼迫下,改签了机票,好吧,多少得加点功能了!呜呜呜~🤢 🤮
可是你并不完全会机器学习的算法,可怜的大一本科生的你没有学信息论也没有学最优化理论,很多算法你完全不懂其理论知识!听说西瓜书很好,可是你在图书馆借到了西瓜书之后根本看不懂!
于是你找到了吃瓜教程,也就是所谓市面上的南瓜书的[文字教程](https://github.com/datawhalechina/pumpkin-book)
你也找到了西瓜书的代码实践[文字教程](https://github.com/datawhalechina/machine-learning-toy-code)
你对着他啃了半天,觉得很多东西你都能看懂了,你脑子里已经有了很多思路,你想按使用高级的机器学习的算法!
但是!时间还是太紧张了!你没有办法从头开始实现了!
你想尝试[pytorch文字教程](https://github.com/datawhalechina/thorough-pytorch)但是时间也不够让你去重整数据去训练了。你随便塞在线性层里的数据梯度直接爆炸你这时候还不知道归一化的重要性紧张之下把几万几十万的房价往里面塞结果结果烂成💩了并且你没有波如蝉翼的基础知识并不够让你去解决这些个bug只能疯狂的瞎挑参数可是结果往往不如人意~
时间来到了晚上八点,明天就要最后验收了,走投无路的你把目光看向了远在几十千米外已经入职了的大哥,晚上跟他打电话哭诉你最近的遭遇,你实在搞不懂,为什么十二生肖大伙都属虎,就你属驴。
大哥嘎嘎猛,连夜打车过来,我在因疫情封校的最后两个小时赶出了学校,和大哥一起租了个酒店,通宵奋战,他采取了更多更为优雅的特征工程和模型调参的方式,让模型优雅的收敛到了一定程度,再用春秋笔法进行汇总,在半夜两点半,终于将内容搞定了
终于你可以睡个好觉了~
day 5 end!😍 🥰 😘
## Day 6
验收日,老师端坐在底下,宛如一尊大佛,提出了一系列无关紧要的问题,比如问我们能不能拿这个程序给老年人查资料???
等等问题和技术一点关系都没有!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
😣 😖 😫 😩
极度悲愤之下,当天晚上,你火速提着行李,离开了这伤心之地~~~~~~~~~~~~~~~~~
The End~~~~~~~~~~
# 事后总结
你在那个暑假详细了解和学习一下数据科学竞赛,发现他的含金量在职场领域有时候相当高,并且对提升自身的实力也有相当大的帮助!
[数据竞赛Baseline & Topline分享](https://github.com/datawhalechina/competition-baseline)
你还发现了之前从来没有注意到的kaggle平台以及一些很棒的综合实践项目
例如[根据贷款申请人的数据信息预测其是否有违约的可能](https://github.com/datawhalechina/team-learning-data-mining/tree/master/FinancialRiskControl)
[根据汽车类型等信息预测二手汽车的交易价格](https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondHandCarPriceForecast)
例如:[使用公开的arXiv论文完成对应的数据分析操作](https://github.com/datawhalechina/team-learning-data-mining/tree/master/AcademicTrends)
想到如果你早做准备,没有荒废大一的时光,也许你不但能圆满的通过这次课程,也可以开辟更为广阔的新世界了吧~
同时,你也初窥了数学+机器学习世界的瑰丽传奇,你想更为深入的对其有一个了解,并且做出点东西,希望对你日后的学习生活有个见证~~
少年将去开启新的传奇~~~~~
::: danger 再次警告,本章内容有很多瞎编的内容,不要全信
比如说一天学完pandas,一天学完sql之类的都是很不现实的希望大家注意
当然你也可以在需要用的时候再研究,也来得及,就是很累
不要打击到大家的自信心!
:::
# 补充内容:下个定义
数据分析是独立于开发和算法岗的另一个方向,它主要是通过<strong>应用</strong>机器学习和深度学习的<strong>已有算法</strong>来分析现实问题的一个方向
我们常说:数据是客观的,但是解读数据的人是主观的。
数据这门科学就像中西医混合的一门医学,既要有西医的理论、分析模型以及实验,又需要有中医的望闻问切这些个人经验。
> 这世界缺的真不是算法和技术,而是能用算法、技术解决实际问题的人
# 什么是数据科学
数据科学是当今计算机和互联网领域最热门的话题之一。直到今天,人们已经从应用程序和系统中收集了相当大量的数据,现在是分析它们的时候了。从数据中产生建议并创建对未来的预测。[在这个网站中](https://www.quora.com/Data-Science/What-is-data-science),您可以找到对于数据科学的更为精确的定义。
同时,我向各位推荐一个非常有趣的科普视频想你讲解数据分析师到底在做什么:[怎么会有这么性感的职业吶?](https://www.bilibili.com/video/BV1ZW4y1x7UU)
<Bilibili bvid='BV1ZW4y1x7UU'/>
# Datawhale的生态体系
在与Datawhale开源委员会的负责人文睿进行一翻畅谈之后。zzm受震惊于其理念以及已经构建的较为完善的体系架构毅然决然的删除了本章和其广泛的体系比起来相形见绌的内容。为了更大伙更好的阅读以及学习体验我们决定在本章内容引入了[datawhale人工智能培养方案数据分析体系](https://datawhale.feishu.cn/docs/doccn0AOicI3LJ8RwhY0cuDPSOc#),希望各位站在巨人的肩膀上,争取更进一步的去完善它。