excel决策树_配齐 Excel 和 Python 就想当数据分析师?小猪佩奇表示呵呵

26e799ce92103ea35bfa4cc93fc02049.gif

随着短片《啥是佩奇》横扫社交网络,随后霸榜微博热搜,引得王思聪转发、韩寒点赞。这只硬核小猪佩奇成为了2019年国内第一只爆红的流量网红。

def479702b4a9a888f3417dfefbb8d30.png

之后……各种“配齐”文案在网络上火速走红……

2eae006e1a687aebd2b3e0776b66db07.png

但是今天要出场的肯定不是小猪佩奇,而是接近20W人才缺口的“全美最好的工作"。为什么要讲它?因为很多人以为: ”配齐“ Excel 和 Python = 拿到了入场券……

麻烦先问问硬核佩奇,OK?

接近20W人才缺口,全美最好的工作

美国招聘网站 Glassdoor 发布的2019 美国最好的工作排名中,主要基于人才缺口、职业前景和薪水三个方面进行排序:Data Scientist 排名第一。

5a03180bf7a1d1f8f9e35649f8b2f2bb.png

McKinsey 预测,美国将面临14-19万数据分析人才的空缺,以及150万需通过大数据分析做出决策和管理的人才需求。

  • Market Growth: Data science jobs in the U.S. will exceed 490,000, with fewer than 200,000 available data scientists to fill these positions (McKinsey & Co.)

  • Average Salary: Between $116,000 and $163,500 in 2017 (Forbes)

  • Job openings: Shortage of up to 1.5 million (McKinsey & Co.)

因而商科转行 Data Science,最适合的道路莫过于从成为一名 Data Analyst 开始发展。

觉得太过遥远?给你看这3个实例

觉得 Data Science 太过遥远,列举3个例子助你入门(点击框内可使屏幕往下滚动)。

从UCI上获取到了一份winequality的数据来作为小练习的数据源,想通过红酒的特征来预测红酒的质量。最后通过随机森林和集成学习的方法,将预测的正确率提升到了90%。

1、首先先进行数据的导入,探索与预处理:

3adcd4847f92349024acbcd7422f107e.png

观察到表有问题,实际上这个csv文件通过分号分割,所以导入时需要添加:sep=';',即可正常读取数据。

2、处理数据是否分布平衡

2ec2c8903f780646f94c4b3669c76349.png

显然quality为5的数据样本有太多,而quality为3的数据样本又太少,这时候可以考虑过采样,imbalanced-learn可以进行处理。

b38471fb592e0ab7ff3961d004f81a2f.png

先用LR回归尝试一下,这里也权当复习,先可以尝试把所有特征都用上,利用交叉检验,看看预测结果如何:

3793d571f3a7d23d378b89c5a638e47c.png

输出结果为0.57可以看到如果直接在原始不平衡数据上把所有特征都用上,使用LR回归几乎对预测这个多分类的quality没有什么帮助,后来再过采样后的数据上也用了LR回归同样准确率很不理想。

以为可能是由于特征的多重共线性导致的,所以有差看一下所有使用的特征的相关性,这个可以利用seaborn快速可视化的实现这一效果,代码如下:

d6035f02378fafd13912df1db0a365c2.png

显示如下:可以看到多数变量之间实际上相关系数都在0.4以下,不存在高度相关。

894745af663cba571ef73567552bd461.png

随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。

68748466045aeabaa422fb89e99e8822.png

得到结果是86%,大大超过了Logistics回归的准确率,这种交叉检验的方法是训练集是所有样本都使用了。

使用predict()函数得到上一节训练的随机森林模型在测试集合上的预测结果,然后使用 sklearn.metrics中的相关函数对模型的性能进行评估。

得到的结果如下:

precision recall f1-score support

3 0.99 1.00 0.99 142
4 1.00 1.00 1.00 129
5 0.80 0.81 0.80 150
6 0.77 0.66 0.71 146
7 0.87 0.98 0.92 125
8 0.99 1.00 1.00 126
avg / total 0.90 0.90 0.90 818
[[142 0 0 0 0 0]
[ 0 129 0 0 0 0]
[ 2 0 121 26 1 0]
[ 0 0 31 96 18 1]
[ 0 0 0 2 123 0]
[ 0 0 0 0 0 126]]

Accuracy: 0.90097799511

准确度在90%左右,由于前面在抽取训练集和测试集时random_state设置为0,我们可以测试多次,会选取到不同的训练集和测试集,测算多个准确度求平均值进行比较,经过测试仍然维持在90%左右。

(Python中通过RF预测红酒质量)

不知道看什么电影时,就会习惯性的看看豆瓣,但落伍的我直到最近才发现还有个神奇的豆瓣电影Top250榜单!

那么得出的这个排行榜和电影评分及评论人数有怎样的关系?和上映时间关系大不大?哪种类型的电影上榜最多呢?哪些国家、导演、主演最受欢迎?片长多长时间最合适?这次通过爬取豆瓣TOP250电影解开这些秘密。

我们抓取排名、电影名、导演、主演、上映日期、制片国家/地区、类型,评分、评论数量、一句话评价以及电影链接,其中导演和主演分别取一位。完整代码如下:

e9b2c43203f28d59faca9495cd470a0a.png

OK,数据抓取完毕,看一下抓取结果。先来看爬取Top250页面的信息:

0052c1cddd3b2f3cbaf69f2ef486be5a.png

数据清洗

数据分布在两个文件中,我们选取 top250_f1.csv 文件中的 num(排名)、 title(电影名)、 init_year(上映时间)、 area(国家/地区)、 genre(类型)、 rating_num(评分)、 comment_num(评价人数),和 top250_f2.csv 文件中的 language(语言)、 director(导演)、 cast(主演)、 movie_duration(时长)、 tags(标签)这些列进行分析,因此只对这些列中的脏数据做清洗工作。

通过 pd.merge()函数选出的 

df_1_cut 和 df_2_cut 两张表,取并集,链接键为num。

共250行,12列,无缺失值,num 和 comment_num 为整型,rating_num 为浮点型,其余为 object 类型。

清洗数据格式、数据分列

粗略看一下,可以发现 genre,language,director,cast,movie_duration,tags列方括号、花括号和英文省略号等无效信息,需要去掉。对于两侧的 [' '] 或 {[' ']} 形式,可以用str分割字符串。

ec9bfe332c66c2d704ab503bb10c59ee.png f805c2173fb032253efb6dca11880188.png

对于 area 列,有些电影由多个国家或地区联合制作,例如《霸王别姬》电影:“中国大陆”和“香港”之间用空格隔开,可以用str.split 函数进行分列, apply(pd.Series) 使用到的函数作用在每一行或列。

缺失值检查

4f0be0ac8df69b260d50ca6eb14dd43f.png

没有缺失值。关于 area_c 、 genre_c 、 language_c 、cast_c 、 tags_c 都经过缺失值处理,也不存在缺失值。

用 describe() 函数看一下数值型数据的统计信息:

8e3acf8ba7cbb68a87c5bed13a2ce392.png

在“豆瓣电影Top250”榜单中,上映时间最早为1931年,最晚为2016年;评分最低为8.2分,最高9.6分,平均分为8.76分;评论数量最低40150条,最高861343条;电影时长最短为45分钟,最长238分,平均时长121.61分钟,第一四分位书为99.25分钟,看来绝多数电影时长还是大于90分钟的。

总排名、按评分排名、按评价数量排名Top10

8418f985592535bfce1e6a1a1f44da57.png 上榜次数最多导演 135d7ac353a1e9c5d198e3a2061d4028.png

“克里斯托弗·诺兰 Christopher Nolan”和“宫崎骏 Hayao Miyazaki ”上榜次数最多,同为7次。

上榜次数最多演员

ea732826fa472815e187363b48dffedc.png

上榜次数最多的演员是“张国荣 Leslie Cheung”,高达8次,这也是每年大家对他纪念的一个原因吧,这么多经典的作品,永远被铭记。

排名与评分的关系

5a149d290b68222ffa14b12fc3ab2c82.png

排名越靠前,即num越小,分数越高,但看着有些别扭,因为我们习惯了排名靠前的在 y 轴的上方,可以用 invert_yaxis() 函数来改变 y 轴标签的顺序。

5532ae408519d23c14f3d43aec264701.png

豆瓣评分大多是集中在 8.3 - 9.2 之间,随评分的升高,豆瓣Top250排名名次大致提前,Pearson相关系数为 -0.6951 ,呈强相关性。

排名与评论人数的关系

a0778ee9b9fc9499d56e5ef295bf0053.png

评价人数呈右偏分布,随评价人数的增多,豆瓣Top250排名名次有提前趋势,Pearson相关系数为 -0.6623 ,呈强相关性。

排名与电影时长的关系

30764b6557f87ff97e30d7aab08a9f7b.png

电影时长多数集中在 80-120 分钟之间,与豆瓣电影Top250之间关系不大,Pearson相关系数为 -0.2420 ,为弱相关性。

排名与上映年份的关系

91192c43e4bff640d0aa9c4fbcdfe652.png

上映年份多数其中在1990年之后,pearson相关系数为0.0862,与豆瓣电影Top250没有相关性。

国家/地区

763c2bca00f43c17e7619827b5cc840f.png

上榜电影中,美国电影数量最多,中国大陆排第七位。

语言

98b86276ceb196265e5097f42bcfc61b.png

上榜电影使用最多的语言为英语,汉语普通话排第四位。

电影类型

409755da177931c51b88269c40076bb7.png

最多的电影类型是剧情,其次是爱情。

电影标签

标签比较多,用WordCloud制作词云:

b18805255ce586bfc2eb676e411b43a9.png

(爬取豆瓣TOP250电影并分析)

c7dad1705befbf6abc2a7304f9f21d48.png

既然老薛的歌大部分是自己作词的,那他的歌词和他应该有某种情感表达的联系吧。所以,我决定爬取网易云音乐做一些初步的数据分析尝试。

网易云音乐的网页是动态加载的,所以需要使用抓包的方式来进行爬取。

929b34738fb7d34741131e20c8886e92.png

很明显,这个链接直接返回了我们所需的歌词的内容。

主要的思路已经完成啦,接下来就是爬取薛之谦的热门TOP50首歌曲的过程。

1. 打开网易云音乐,进入薛之谦的歌曲列表:

可以在网址栏中看到薛之谦在网易云歌手中的id为5781。

这个网址就是歌手作品列表所在的网址,当然,我们可以通过修改singer_id来进入不同歌手的作品列表,如下面这样:

url = 'http://music.163.com/artist?id=' + str(singer_ID)

2. 接下来就是利用爬取的歌曲id的列表,再根据歌曲网址,获取每个歌曲的歌词,并保存到一个以歌手名为文件夹,以歌曲名为名字的txt文件中。

412b04e6752654c485176c6df60d19d1.png

3. 根据得到的词频信息字典,套入词云的生成代码中,得到词云图。

c7dad1705befbf6abc2a7304f9f21d48.png

(爬网易云音乐并分析)

对于初级Analyst,能用 Excel 和 PPT 做出基本的图表和报告,能清楚的展示数据,就达到目标了。

7d2ebdaafc73da6ffa8e889608b4eb85.png

对于稍高级的数据分析师,需要使用更有效的 Data visualization Tools,根据实际需求做出或简单或复杂、但适合受众观看的数据可视化内容。

所以,你需要“配齐”哪些能力?

然而,懂点 Excel 和 Python 就能成为一名合格的 Data Analyst 了吗?

目前微软正在考虑将 Python 作为 Excel 官方脚本语言之一,在 Excel 用户反馈平台中关于Python 作为 Excel 的脚本语言的话题,超过 3883 人赞同将 Python 集成到 Excel 中成为 VBA 的替代品。

baaf314d8ccba9034b283e51388c6846.png

如果提议得到批准,Excel 用户将能够使用 Python 脚本与 Excel 的核心功能进行交互,就类似于 Excel 当前支持 VBA 脚本一样。

那么,想成为一名优秀的 Data Analyst 究竟需要掌握哪些技能呢?

划重点!

c05bddd8569511e33e9722ace4e33b07.png

> > > >

数学

对于 Junior Data Analyst,了解一些描述统计的基础内容,有一定的公式计算能力即可,了解常用统计模型算法则是加分。很多新人并不重视统计学基础,当获得一份数据时,你会怎么做?立马撩起袖管进行分析么?如果不先行了解数据集的质量,后续的推断分析是事倍功半的。

> > > >

分析工具

对于 Junior Data Analyst,玩转 Excel 是必须的,数据透视表和公式使用必须熟练,VBA 是加分。另外,还要学会一个统计分析工具,SPSS 作为入门是比较好的。对于 Senior Data Analyst,使用分析工具是核心能力,VBA 基本必备,SPSS/SAS/R 至少要熟练使用其中之一,其他分析工具(如 Matlab)视情况而定。

> > > >

编程语言

是否具备编程能力,是 Junior Data Analyst 和 Senior Data Analyst 的分水岭:BI、Python、可视化报表都需要用到编程。Python 适用性强,可以将分析的过程脚本化。因而,如果你想在这一领域有所发展,学习 Python 也是相当有必要的,用来获取和处理数据都是事半功倍。

> > > >

逻辑思维

逻辑思维主要体现在数据分析过程中每一步都有目的性,知道自己需要用什么样的手段,达到什么样的目标。

> > > >

Data visualization

Data visualization 是分析的常用技巧之一,主要借助于图形化手段,清晰有效地传达与沟通信息。说起来很高大上,其实包括的范围很广,做个 PPT 里边放上数据图表也可以算是数据可视化。

今天就先到这儿啦,祝大家都能在猪年配齐想要的 offer!c00448070a891c5bbf3c889b11396006.png 记得领取今天的福利哦

4687567f97851a278286f1eeb4841f9c.png

本 期 福 利

1. 15G Python 高清视频教程

876e69a990e562875a4000ec70361ed9.png

fc38169f729853711c1d44edd1b229ed.png

91754b5fa042d83798fd613c5473d564.png

881046a79f4613ce8ee04bec1243c40c.png

d2da7534f8b9a3ae0a1b948c4e08ed5a.png

be305a63ad425c885d7e32423bb4c0d8.png

ae36413ba5bcb296aafa22b99fead401.png

2. 价值 300+ 美金的 Excel&Financial Modeling Fundamentals 3.0 升级版

e17b8964dc7e28c2ce26c5f87e668c1e.png

4b000d4ba782503b3e8674eaa1a3424d.png

6a43dfdabf3af2a513f435a3ef021674.png

092473b66cf91f7be42a6da060c16abe.png

14份Rust 入门语言教程+视频教程

c283843a86c3b6ce8eec4270feddea98.png

d20d95e2f25125132b06b6de38e52c55.gif

6de2f88190da92b29457aa4d898aa855.png

439cd64a9fba23f25e73a40b1d654977.png

星标 International Ideal

后台回复关键词  佩奇

立即获得福利领取方式!

福利将于 24小时 后截止

1a572a2189adc1c350d3f57d7b8e04bf.png

为了每日的福利能到达你手上,请记得星标我们~c00448070a891c5bbf3c889b11396006.png

06fc0b31ca334cf9e11b55aa710f79d6.gif

猜你喜欢

进 McKinsey 的第102天,女朋友第101次劝我辞职!

腾讯用AI种黄瓜,阿里将AI用于养猪场,AI淘汰你的时候,连抱歉都不会说!

身在名校却不是投行 Target School?留学圈再现鄙视链

 


INTERNATIONAL IDEAL 成立于美国,是北美最大最早针对留学生的求职培训平台之一。我们提供 250+投行、私募、咨询、四大等名企实习机会,并有500+导师(来自于投行、咨询、四大等)提供求职培训服务,助你提升背景,实现求职梦!本文由INTERNATIONAL IDEAL独家编辑,版权归 INTERNATIONAL IDEAL 所有,未经许可,请勿转载;投稿、商务合作请联系:

Coop@internationalideal.com

dfdb9342c092d19ec31e72215212b71c.png

点点好看

新的一年越变越好看☟☟☟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值