从零转专业,真的可以因为刷题在未来做好SDE工作么?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 26765|回复: 48
收起左侧

[跟风W大]说说Data Science的入门级工作

    [复制链接] |试试Instant~ |关注本帖
我的人缘0
diamrem 发表于 2013-5-13 03:14:01 | 显示全部楼层 |阅读模式
本楼: 【顶】   92% (13)
 
 
7% (1)   【踩】
全局: 顶  98% (279)
 
 
1% (4)  踩

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本帖最后由 diamrem 于 2013-5-12 16:46 编辑

原文发表在:http://ibeca.me/data-science-entry-level-1/

最近看到豆瓣的“冒牌HR”挑灯看剑和一亩三分地的Warald老大都写了关于Data Science的一些东西。我也来凑个热闹好了,不过我的出发点是用自己做过的一些项目来让大家有个直观的感受——data science到底做些什么。当然我不是正宗的data scientist,统计、数据挖掘和机器学习的积累都……只有一点点,所以我主要做的是入门级的工作,数据处理(data manipulation)和数据探索(data exploration),外加我自己比较喜欢的数据可视化(data visualization)。如果你想看到的是通过分析来做预测(prediction)、推荐(recommendation)等等,这篇博客可能让你失望。

如果文中有说错和不完全的地方,还请各位指正。

基本上所有跟数据有关的工作,首先要做的不是收集数据更不是计算。第一步,也是最重要的一步是,你要通过数据来回答什么问题。“Twitter上的中文用户和微博上的中文用户讨论的话题是不是一样的”?这就是一个很具体的问题,要回答这个问题,你需要去找Twitter和微博的数据,然后再确定用什么方法来分析。这也是一个典型的统计学理假设再检验的模式。像“明天会不会下雨?”或者“奥巴马会在那几个州选票领先?”这样更加庞大而泛泛的问题,你可能需要先把他们具体化到类似于“根据去年这个时候人们购买雨伞的数量来判断明天会不会下雨”,或者“根据Twitter上的geo tag和tweet内容来分析奥巴马再哪个州有优势”这一类的问题。

总之,先要确定研究问题,然后通过它来确定需要的数据和分析方法。
.留学论坛-一亩-三分地
下面是两个具体例子。

项目1,微博和Twitter。
-google 1point3acres
这个项目是2011年下半年开始的,持续了几个月左右。第一部分可以在这里看到。第一部分主要是做的网络关系分析(network analysis),通过分析社交关系网来探索两个平台上用户的特征。完成第一部分之后,我想进一步的分析一下两个平台在内容上的差异。
-google 1point3acres
首先是收集数据。Twitter的数据好弄,我们学院有一个API,几个学生写了小脚本不断的在爬。我的工作就是从这些已经爬好的数据里挑出中文的tweet。主要方法就是通过encoding,具体代码在github[link 2]。微博上则通过stream api来收集公共时间轴的数据。整个过程大概持续了一个月,收集的总量现在不太记得了,大概是十几或者几十个GB级别的文本文件。

上面说了,我想回答的问题是两个平台上人们分享、谈论的内容有没有差异。很自然的,我想到了用语言学里的常见方法——建立“词汇模型”(languange model)。大概的思路就是找出两个平台上用户所使用的高频词汇,如果高频词汇差别很大(在统计上呈显著),那么可以断言两个平台上人们在说不一样的东西。由于我们面对的是中文,所以涉及到一个分词的问题。

比如有人有天发了这样一个推“结婚的和尚未结婚的”。那我应该是把它分成“结婚-的-和-尚未-结婚-的”,还是“结婚-的-和尚-未-结婚-的”?这种对于你我来讲很简单的问题对于计算机来说则很头疼。做好中文分词这本身就是一个很难且庞大的话题。我自然不会自己去发明一套分词算法,“善假于物”是做data的人必须知道的技巧。我当然是找一个好用的分词库了。Smallseg是我用的一个python的分词库,另外现在还有个库叫jieba貌似也不错。

分好词以后,记得把stop word去掉。语言学里有个理论是出现屏率太高的词本身没有多少语义分析上的意义,比如中文里的“的地得”、“和”,还有“你我他”等等。如果不把这些词去掉,那么每一个词汇库看起来都可能差不多。

以上,就是所谓的数据处理(data manipulation)的过程了。总结起来这个过程就是把原始数据(raw data)给转换成自己所需要的数据格式。. 1point3acres

做好数据处理之后,在微博和Twitter上抓取到的内容就被分解成了一个个的词汇,所谓建立词汇模型,就是计算某一个词汇在整个词汇数据里出现的概率,里面具体牵扯到一个叫Maxim Likelihood的方法理论。上文我还提到需要比较两个词汇库的差异性,这里面用到的则是统计上的T检验(T-test)。

具体分析过程就不在这里赘述了,挑几个有意思的可视化给大家看看吧。

首先是高频词:

                               
登录/注册后可看大图

图中的横轴是300个高频词,红色的点某个词在Twitter上出现的概率,蓝绿色的点是微博的,这里高频的定义是出现屏率大于0.0005。从图中可以看出,同一个流行词,在Twitter和微博上出现的概率有很大的差别。如果我们把这些词汇按照其在Twitter上出现的概率排序,就会得到另外一个图:

                               
登录/注册后可看大图
. 留学申请论坛-一亩三分地
这个可视化里可以看到,在Twitter上经常出现的流行词,在Weibo上不一定是流行的,反之亦然。
然后我还追踪了单独的某个话题,在两个平台上出现的屏率,并以该话题在wikipedia上被编辑的次数作为参考。去年春天薄督闹得满城风雨,下图是就是“薄熙来”这个名字在Twitter和微博上出现的频率,这个图并不用怎么分析就能看出两个平台的差异性:

                               
登录/注册后可看大图
. Waral 博客有更多文章,
去年同时还发生了另外一件事,那就是舒淇被挖了老底,我也研究了一下“舒淇”这个名字被提及的概率:

                               
登录/注册后可看大图

大概可以得到的结论是,两个平台对这种话题都挺有兴趣的。但是,微博上话题的兴起似乎比Twitter晚一些。
. from: 1point3acres
另外,这里用Wikipedia上相应词条做对比的原因是我假设当一个话题有突发新闻(breaking news)时,它在的Wikipedia上的页面会有一个编辑高峰期。这个曲线正好可以被用来作为一个参考曲线。-google 1point3acres
(下一篇我会讲关于Wikipedia编辑记录的数据处理、探索和可视化). 1point 3acres 论坛
                                                                                       

. 围观我们@1point 3 acres

评分

参与人数 18大米 +757 收起 理由
triciazhai + 1 给你点个赞!
酒窝不在四白穴 + 3 感谢分享!!!
lllbl + 3 感谢分享!
nipeike + 3 很有用的信息!感谢!
keke_shu + 3 很有用的信息!
zyhswr + 105
season1016 + 2 很有用的信息!
y5yeyey + 3 欢迎来介绍你知道的情况
Cats881119 + 10 欢迎来一亩三分地论坛!
dream2012 + 5 很有意思
redswallow + 3 感谢分享!
helikopter + 3 很有用的信息!
rogerdai + 150 非常有意思~S4的twitter example就是这样的.
北美农民 + 150 怒赞!
Zhen + 3 很有用的信息!

查看全部评分


上一篇:数据科学家需要哪些核心技能:Data Hacking、Problem Solving and Communication
下一篇:【分享】【赛迪顾问】大数据产业生态战略研究2012

本帖被以下淘专辑推荐:

我的人缘0
liu夜尽天明 发表于 2013-5-13 07:23:02 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (28)
 
 
0% (0)  踩
怎么图都看不到呢?
资历最老的留学申请文书修改服务:EssayEdge
回复

使用道具 举报

我的人缘0
 楼主| diamrem 发表于 2013-5-13 09:32:43 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (279)
 
 
1% (4)  踩
liu夜尽天明 发表于 2013-5-12 18:23
怎么图都看不到呢?

图在我博客上,我的博客被墙了,你在墙内可能就看不到了……
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:36:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
不同source的样本点相比如何?twitter上面中文内容应该相对少吧?
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:37:50 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
薄熙来和舒淇的time trend在twitter是identical的?

Complexity Quiz: Test your understanding of Data Structure
来自于网课《Data Structures for Coding Interview in Python》

回复

使用道具 举报

我的人缘0
 楼主| diamrem 发表于 2013-5-13 09:48:24 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (279)
 
 
1% (4)  踩
小K 发表于 2013-5-12 20:37
薄熙来和舒淇的time trend在twitter是identical的?
.1point3acres网
K姐观察好仔细,我也才发现这个现象。.本文原创自1point3acres论坛

如此相似应该是个很严重的错误,可能是我在R里面plot的时候用错table的列了……一年前的东西,R code已经找不到了 -_-|||
回复

使用道具 举报

我的人缘0
 楼主| diamrem 发表于 2013-5-13 09:50:28 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (279)
 
 
1% (4)  踩
小K 发表于 2013-5-12 20:36
不同source的样本点相比如何?twitter上面中文内容应该相对少吧?

的确,微博我每天抓取大概10万到15万条之间,Twitter上是每天5万条中文tweets左右。
资历最老的留学申请文书修改服务:EssayEdge
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:51:33 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
diamrem 发表于 2013-5-12 20:48
K姐观察好仔细,我也才发现这个现象。

如此相似应该是个很严重的错误,可能是我在R里面plot的时候用错 ...

来源一亩.三分地论坛. haha pat pat

对了,请问微博的API怎么access呢?
跟twitter类似?
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:55:27 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
diamrem 发表于 2013-5-12 20:50
的确,微博我每天抓取大概10万到15万条之间,Twitter上是每天5万条中文tweets左右。

好奇一下如果比绝对数量,而不是比百分比,会怎么样, ie. will the trend track each other more ?
千分之几的数量,乘以5万,感觉是几十或者小几百条的样子,样本点不大呢
normal approximation for the binomial will still be fine , but the standard deviation is huge..
回复

使用道具 举报

我的人缘0
 楼主| diamrem 发表于 2013-5-13 09:56:10 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (279)
 
 
1% (4)  踩
小K 发表于 2013-5-12 20:51
haha pat pat

对了,请问微博的API怎么access呢?

跟twitter的挺类似的,另外各个语言应该都有现成的库,拿来用就好了
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:57:26 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
虽然没法做controlled exp 但是有没有可能speculate什么样的话题会热议啊 by analyzing pattern of past hot topics?
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 09:59:21 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
these are fun projects!! by looking at the bottom two plots (look at the green curve) - censorship would be the cause for the flat line for Bo?
回复

使用道具 举报

我的人缘8
小K 发表于 2013-5-13 10:03:04 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (3390)
 
 
4% (160)  踩
话题包括转发,@什么的么?千分之几,也就是15万条围脖里面也就150-600条跟舒淇有关?听上去不多啊。。。
回复

使用道具 举报

我的人缘0
liunx007 发表于 2013-5-13 10:27:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (1)
 
 
0% (0)  踩
楼主你好,我对你这篇文章很感兴趣。我也想做一个类似的微博话题分析,请问你能详细介绍下你提到的stream api工具吗?
回复

使用道具 举报

我的人缘0
肥霸 发表于 2013-7-23 06:42:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
不错不错,很应用
回复

使用道具 举报

我的人缘0
FFUST 发表于 2013-7-23 22:27:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (8)
 
 
0% (0)  踩
真有意思~
回复

使用道具 举报

我的人缘0
chenxianggre 发表于 2013-7-25 10:48:18 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  92% (63)
 
 
7% (5)  踩
看来data science 的工作和我之前想的有所不同啊
资历最老的留学申请文书修改服务:EssayEdge
回复

使用道具 举报

我的人缘0
草鸡蛋 发表于 2013-7-26 10:52:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (12)
 
 
0% (0)  踩
感谢分享
非常好的例子
回复

使用道具 举报

我的人缘0
王了个帅 发表于 2013-8-14 17:48:44 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (9)
 
 
0% (0)  踩
严重学习中
回复

使用道具 举报

我的人缘0
xuhong 发表于 2013-8-14 22:52:05 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (13)
 
 
0% (0)  踩
再一次学习中
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

GMT+8, 2018-8-18 20:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表