一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 143949|回复: 289
收起左侧

[DataScience] Data Scientist 炼成记录-欢迎参与

    [复制链接] |试试Instant~ |关注本帖
小K 发表于 2013-11-20 10:47:27 | 显示全部楼层 |阅读模式

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

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

x
数据科学:简单说就是,不要靠拍脑袋下结论,要以数据为根据,让事实说话。.鏈枃鍘熷垱鑷1point3acres璁哄潧

能力范畴3个词:统计编程表述

. 1point 3acres 璁哄潧
A PhD Data Scientist: Jack of All trades, master of one.
-google 1point3acres


展开说:统计(能探索数据,建模,设计实验),.鏈枃鍘熷垱鑷1point3acres璁哄潧
编程(能取数据,洗数据,至少能Prototype自己的data solution,懂基本大数据工作原理(MapReduce)),.鏈枃鍘熷垱鑷1point3acres璁哄潧
表述(化繁为简,口头Present,书面写报告和论文,作图(静态和web))


简历上(+脑子里)如果有这些:你找工作基本没有问题:
    Ttest, Regression, ANOVA, Logistic Regression, DOE, Machine Learning, Data Mining, MapReduce, SQL, R/Matlab, Python, Java
. 1point 3acres 璁哄潧


. visit 1point3acres.com for more.
=========================================.鐣欏璁哄潧-涓浜-涓夊垎鍦
本文主要针对IT类行业做数据科学 It does not define a data engineer. Rather, it's a close call to a "full-stack data scientist". Master this list and you will not only be able to work for established firms, but startups too.
其他偏重传统行业应用的,应该对表述要求稍高,对其他要求稍低。
面试之前请务必花1周时间学习对方行业的基本内容,wikipedia即可,起码做到熟悉对方行业常用关键字。
如果目的就是有份还可以的工作,请照单子静下心学习。. 1point 3acres 璁哄潧
如果你希望做的很好,三个方面请突出至少一个方面。
要学过来,需要很多时间,如果希望不太费力就做data scientist, OK, dream on!

请不要mark一份学习清单就.Equals(学习任务已经完成了)一样,一起来学起来吧~~~~~~
【墙裂建议贴出你的学习计划,大家一起监督讨论,几位版主有空也会来给建议,坚持下来的有积分奖励】

=========================================

17年我做了一套在线课程,跟大家分享自己的经验,希望对大家有帮助-google 1point3acres
1. Overview (2小时的分享)
    8月第一场2000多人参加,以后考虑不定期重开
2. analytics (8小时课程). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    在 8-9月讲了为期一个月的第一轮,
    12月1-2号会有个加强版,是17年最后一轮了(详情看课程介绍)
3. Experimentation (8小时课程)
    在10-11月讲了为期一个月的第一轮,
    2018年根据需求会有新的offering,敬请关注
4. 其他课程还在开发中,
    有兴趣的同学可以在课程页留言,说明你希望看见的内容和其他建议等

=========================================

如果有不清楚的请多google.

=========================================
差不多一年前看市面工作还是很混杂的样子,今天又翻了翻,估计年底账目清算,很多公司很多新职位出来了,职位要求解析在此. 1point 3acres 璁哄潧
感觉现在data scientist/researcher之类职位针对性更强,能更清楚看出来到底对方需要的是什么样的人:是啥都会一点的,还是会点统计的码农,还是Machine learning,还是优化、logistics 供应链,还是会点编程的统计师。
(data business person 一般不叫data scientist) 主要用SQL产生报表的BI analyst 也不在此列。. From 1point 3acres bbs

学习列表一来是准备面试用,二来本来平时就是要用的。我自己学完的mark as green
=========================================. Waral 鍗氬鏈夋洿澶氭枃绔,
打算把我自己学的一些东西总结在这里欢迎补充。不定期汇总到首楼。
如果你想收藏本帖请点首楼下方的“收藏” -》 确定 -》 然后文章会出现在 “快捷导航”-》收藏里面. 鍥磋鎴戜滑@1point 3 acres
如果没有啥具体内容要补充的,请不必回帖了。想加分的可以加分,不加也无所谓。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
请别问我某校的Data Science项目如何,你三围如何能否上某校。I have no idea. . Waral 鍗氬鏈夋洿澶氭枃绔,

=========================================
基本上是must have:

统计Statistics 统计和机器学习
  hypothesis testing, point/interval estimation
  pvalue, power, (type 1/2 error)
  clt, delta method, derive coef and var(coef) etc . more info on 1point3acres.com
  t-test: assumptions, remedy. 适用问题范围basics listed above 请看这个课 http://onlinestatbook.com/2/index.html
  glm (lm, logistic regression, anova etc):asssumptions, model selection and validation, diagnostics, remedy 适用问题范围
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  times series         Forecast with R
         Time Series Analysis and Its Applications: With R Examples (Springer Texts in Statistics)
         and its Upitt course

  bayesian
         Bayesian for hackers (python)
         Coursera Graphical Model (VERY nicely explained)
         Bayesian reasoning and machine learning book (quite difficult to read)
         入门:A first course in Bayes 一下就看完了,很不错

  longitudinal, mixed model
  doe:all kinds of design, response surface
  (?)survival

Machine Learning        Coursera Andrew Ng
    stanford Statistical Learning (Tibshrani & Hastie)
        -- 本书还出了一个本科版,着重动手实践,大量R, very easy to read. recommend starting from here.
    Caltech那个learning from Data我没能跟下来Please, make sure you know your logistic regression inside and out!

Deep Learning:
See my separate thread here: http://www.1point3acres.com/bbs/ ... 1&extra=#pid2601595
Learn recommender system
Learn some NLP
Make sure you KNOW how things work, not just how to call a certain package in a certain language!!!

Experimental Design / Causal Inference
This is somewhat a niche area. But as a DS, you will most likely deal with some AB tests, if you are with a reputable internet company. It is not just using some tool to compute power for a chisquare test or t-test. Be sure you know the difference between observational study and designed experiment. Be sure you know when to use which. Students from biostat/epi background will have an edge here. If you are able to handle very complex expt design, then you are opening many doors -- think multi-sided Marketplace and interfering subjects (Uber/Lyft, airbnb, eBay), Social network (Snap/FB/Linkedin) problems, think about problems that can't cleanly randomize users (opt-in, marketing campaign, mobile app feature roll out).

Optimization & MoreIntro to linear programming https://www.math.ucla.edu/~tom/LP.pdf Good and easy read.. 1point3acres.com/bbs
See see.stanford for additional courses on convex opt. .鐣欏璁哄潧-涓浜-涓夊垎鍦
Prof. Ferguson also has some good reading material on game theory https://www.math.ucla.edu/~tom/Game_Theory/
Udacity Intro to AI is a great course (also one of the very first MOOC in this world) that connects the many concepts together, including particle filters, Kalman filter, HMM etc.

统计软件Statistical Computing: R/Matlab/Python. SAS(?)
    R and Matlab 基本被业界认为是等同的。不过Matlab is not free, Octave is free 但是不是那么好用。请考虑自学R。反正你会Matlab 的话pick up R 也就分分钟的事情。
    如果其他语言一个都不会,只会SAS Base/Stat,并且你也不想学其他的,那也许数据科学不适合你。如果你非要用SAS不可,请你至少写过macro。SAS的确在大数据的建模里面非常有用,但是跟其他行业差距较大,如果组里其他人都是R/Py/Java 你跟他们交流起来会异常困难。另外软件很贵,很多地方未必愿意买。
    注意,我说的是,会SAS是好事,但是不能仅仅只会SAS.
    Python: Data Analysis with Python (book), pandas
    R: data.table, or plyr, lubridate, reshape2, build a R package, there are now lots of such courses on both udacity and coursera. Start from any.
        know how to get data from any source (DB, web, xml, plain text, etc). visit 1point3acres.com for more.
EDA (exploratory) - Descriptive stats udacity. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Inference - udacity
Plot/explain
read code from your favorite packages



-----------------------------------------------------
编程 : A compiled language, and a scripting language
Python
    我比较偏好Udacity一遍教一遍做quiz 的方式,光做题不讲(codecademy)我自己好像学不清楚
    Udacity CS101
    Udacity CS 215 (Algorithm, 比Coursera Princeton and Stanford要简单,快速过一遍不错)
    Udacity (Peter Norvig) CS212 Design of a Computer Program 非常好,强烈推荐

Java 数据结构和算法. visit 1point3acres.com for more.
1. Udacity java (这门课我花了40小时学完)适合连什么是函数什么是赋值都不知道的人。
2. Data structure 数据结构建议必学       python: Problem Solving with Algorithms and Data Structures)
  Java:  Berkeley 61B http://www.cs.berkeley.edu/~jrs/61b/
        教材是Head First Java & Data Structures and Algorithms in Java,
       my progress bar: week 5, lab1, hw1.
3. Algorithm:                  Udacity Algo in Python 比较laid back,如果不太希望费劲,可以上这个课,不过还是严肃点好。。。
Java Coursera Algo I&II (Princeton),如果对这个话题有兴趣,
                  不限语言 Stanford Algo I&II也很好,两者不可相互代替。
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
很少会有人学的第一门语言是C#,所以C#还真没有什么特别入门的书,不推荐。如果没从前没学C, java, C++直接看C#的书简直无法理解
C++比较难,对data scientist 来说应用也没有java广。当然如果你是大牛,plz当我没说。

Design pattern:地里同学推荐的:
http://courses.caveofprogramming ... ns-and-architecture
https://www.youtube.com/playlist?list=PLF206E906175C7E07

根据我组里面试别人,和我在其他地方面试,量化一下:数科的编程到底需要什么水平?
我假定你有了上述其他的全部功底,除非职位特别强调是统计师,或者叫Data scientist, statistics/analytics,并且职位说明里面对代码完全一带而过,你都可以假设,是需要一些代码能力的 。
具体水平是:
IT公司数科:Leetcode Medium要可做。所以,刷题吧。
传统公司:不知道

如果你是码农出身,或者做更偏向data engineer的,要求会更高

涉及知识点包括并且不限于:
     浮点溢出
     边界情况考虑
     改进MapReduce算法(beyond brute force)
     如果涉及大数据,对时间复杂度要求会比较高     Binary search, and be prepared to talk about complexity
     very basic DFS/BFS
     reservoir sampling
     string manipulation. more info on 1point3acres.com
     if DP dynamic programming is ever asked, it will be very basic
     basic data structures
Most likely you don't need leetcode hard
-- 其他我想起来了慢慢补

顺手学掉的小零碎:
Regex (a couple of hours) http://deerchao.net/tutorials/regex/regex.htm



SQL (a week) http://www.w3schools.com/sql/    Coursera: Intro to DB


SQL 面试要考到什么程度?
如果JD是DS, 我自己没见过特别特别恶心的,但是肯定需要懂
JOIN 比 subquery 快.鐣欏璁哄潧-涓浜-涓夊垎鍦
COUNT DISTINCT
WHERE
GROUP BY
HAVING 什么的
advanced: 需要懂 windowing function
随便google一个准备sql面试的link 都有这些信息

SQL必须是面试过程中最没有悬念的一段了

大数据:
. 鍥磋鎴戜滑@1point 3 acres
MapReduce: some knowledge    Udacity series:    http://blog.udacity.com/2013/11/sebastian-thrun-launching-our-data.html)    
Coursera: intro to Data Science  
    Coursera: Big data and web intelligence
    learning by doing --- yes! wrote my very first reducer for real life projects!    MongoDB (udacity) (NOSQL).鐣欏璁哄潧-涓浜-涓夊垎鍦

Spark/Scala - try this book: Advanced Analytics with Spark (very doable and easy to follow, superb examples)
Scala推荐 Coursera: functional programming in scala - 超级好. more info on 1point3acres.com


Spark MOOC http://www.1point3acres.com/bbs/thread-135600-2-1.html
Book: Learning spark

. 1point 3acres 璁哄潧Basic Engineering: https://see.stanford.edu/CourseIt also has great content on optimization, which is harder to find elsewhere.
. 1point 3acres 璁哄潧
If your want to be a DS for IT firms, then Maybe:
   jquery/ajax (start from codecademy very simple js and jquery intro, then find books) w3c school one is also really good.
-----------------------------------------------------
web services   get basic idea of how browsers work (udacity - Website Performance Optimization)
   udacity web development (build a blog) (40 hours). from: 1point3acres.com/bbs
-----------------------------------------------------
SE. From 1point 3acres bbs
   Software Development Life Cycles (udacity, mostly videos, as a quick intro only), amazingly, this one filled lots of holes in my knowledge base. Highly recommend
   Also a book is mentioned here, worth a quick flip through, unfortunately, no ebook that I found works. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts-Refactoring_ Improving the Design of Existing Code. from: 1point3acres.com/bbs

-- this is helpful not only for working in IT, but helps overall coding style/efficiency as well. Wished I'd known earlier.
-----------------------------------------------------
Linux
   Many servers are in linux. at least familiarize yourself with the command line stuff. There's a not so good course on edx.
Basic shell script or similar. from: 1point3acres.com/bbs
jq, sed, awk
-----------------------------------------------------
综合/分析/表述/软技能
    软技能难以表述,
技巧不是最重要,想清楚再开口才是关键。突然发现我导师的lab页面竟然是用这些问题开头,深感心有戚戚。
. From 1point 3acres bbs

化繁为简,高屋建瓴的表达能力:hide complex formula/engineering details,尽量传达big picture
    个人经验是,习得这些能力最好的办法是:去讲,不要自顾自的讲话,请随时关注听众是否听懂,鼓励对方马上提问,回答问题要选取符合对方背景的关键字,而不是“自己熟悉”的关键字。不要用缩写,小范围术语。多讲清楚intuition,少堆积公式。
    1. 教一门自己专业的入门课,e.g 统计学生,去给其他专业的人讲入门统计,例子:请给完全不懂统计的人讲,什么是pvalue, power, false positive, randomization, inference etc.
    2. Consulting - 有些学校会有这种session,别觉得浪费时间,去把别人讲懂,去看看别人用你的专业技术做什么问题,他们的思路跟你哪里不同,你如何理解他们,如何让他们理解你。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
    3. 做presentation - 不要像专业学术会议上那样去讲,要向给别人上101课那样讲。讲的目的,不是展示你的专业多么复杂深奥,不是为了impress others with your techinal prowess,而是让对方懂,最终听取你的建议。
    Data Journalism (course, starting early 2014) --- it was not as good as I expected. I do not recommend it.
. more info on 1point3acres.com

作图,静态的最好能会ggplot (a few hours), 动态的d3,如果你会javascript, also great!, 推荐读
     Nathan Yau: books visualize this & Data points, and his flowing data blog. 1point 3acres 璁哄潧
     for d3: Interactive Data Visualization for the Web . free online tutorial by author: http://alignedleft.com/tutorials/d3/about 真的没那么难
    作图是否好看并不是关键所在,选用合适的图标来帮助解释道理才比较重要
html (a few hours, w3c)
css (a few hours, w3c), or codecademy, or the d3 book mentioned above
javascript (codecademy as a start, a book to follow later)

Rcharts/highcharts
Udacity现在也有一门新开的vis课了
.鐣欏璁哄潧-涓浜-涓夊垎鍦
Prototype your data products:
    mean stack. https://thinkster.io/angulartutorial/mean-stack-tutorial/
    起码把AngularJS学了,这个不光做数科有用。
    R open CPU. R Shiny (limited usage with free version).     If you are not into Angular, try the flask+React stack, 上手的确很快
  (关于flask, udacity有课,react自学即可,可以参考udacity 关于components的课)
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
虽然我们不是要做前段开发,但是看起来也得至少有个半吊子前段,请学习这MM的经验,超赞 http://www.1point3acres.com/bbs/thread-104335-1-1.html
. Waral 鍗氬鏈夋洿澶氭枃绔,Design:  (optional but nice to know) 如果没有兴趣请至少看(组合起来好看的颜色)  如果你有兴趣让图好看,请花一个周末翻看这几本:
    1. Before and After. 1point 3acres 璁哄潧
    2. Nondesigner's design book
    3. Don't make me think
    4. The Wall Street Journal Guide to Information Graphics. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

Research/publication:
    sharelatex (invite enough users to get free versioning) /writelatex.com
    Go to conferences, see what people are working on. Read their papers.
    如果你想找某些类型的工作,上linkedin找到组员,泛读他们的paper
. from: 1point3acres.com/bbs
Domain Knowledge: google/wikipedia is your friend

=========================================
整体思路:
    Doing Data science (book).1point3acres缃
    Data Science in Business
=========================================.1point3acres缃
other 一些我感觉不太费时间但是会有用的小东西
   excel, power pivot etc
   科普类的书:(都很简单易读)

大数据到底是啥???Big Data: A Revolution That Will Transform How We Live, Work, and Think
和很近似的一本 《Automate This: How Algorithms Took Over Our Markets, Our Jobs, and the World
随便翻翻就好了
然后当然还有Nate Silver 《The Signal and the Noise: Why So Many Predictions Fail-but Some Don't
=========================================. From 1point 3acres bbs
Case study:  Twitter data analytics http://tweettracker.fulton.asu.edu/tda/
=========================================
有人推荐的 MS  data science 学习curriculum  http://datasciencemasters.org/
=========================================
大家给我推荐的帮助整理思路,用正确的方式做事的工具:It's more important than you think!!
http://software-carpentry.org/lessons.html
coursera reproducible research,学转knitr,不要copy paste anything

Udacity Git Course (最好,没有之一)
============================
最后,没有什么比亲自干活和得到feedback更有用。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
数据科学是一种 apprenticeship model,找合适的人带着做事,成长会很快。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
.1point3acres缃


. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷













评分

66

查看全部评分

本帖被以下淘专辑推荐:

earlgrey 发表于 2016-3-10 12:04:23 | 显示全部楼层
li3939108 发表于 2016-3-4 15:00
K姐你好,本人ECE(CE track) PhD,coding基础还可以,底层到应用层啥都知道一点,自己拿Ruby on Rails写 ...
. from: 1point3acres.com/bbs
Casella and Berger打基础很好,不过对于找工作准备面试不太够

All of Statistics 这本书也是master level统计课的教程,里面的topic更多一些,也更现代一点,当然不是所有topic都有用

linear regression, DOE, ML 的问题都有可能出现. From 1point 3acres bbs
既然你还在学校,可以找找学校这方面的课,看看有没有时间去蹭课,他们用的什么教科书
这些课我在学校都上过,复习用的都是以前的课本

ML: 可以搜 stanford cs 229, 那组notes写的还挺清楚

评分

2

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2017-10-6 23:38:50 | 显示全部楼层
已经pivot away from DS

最近看的一些内容其实已经不是DS了,我也不敢说就已经“学到头"了,但是感觉深度上再去努力ROI就不大了,而个人对广度现在更有兴趣些

1。
深度学习,多少学到能跟别人瞎聊的程度,下面需要hands on做点项目玩
Ng那个课比较浅但是经验部分还可以
在等fast ai的pytorch
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
另外有帖子总结DL。

. more info on 1point3acres.com
2 infra 、系统设计
往码农的系统设计方向靠拢.1point3acres缃
工作里面还是有蛮多参与做数据系统的机会. more info on 1point3acres.com
广大数据科学的同学,请珍惜这种机会。很多时候码农年轻的时候不太能参与到设计的,数据类因为很多是新东西而是legacy code,反而很年轻的时候就可以参与到设计。. Waral 鍗氬鏈夋洿澶氭枃绔,

信息很多但是毕竟杂。最近开始看某书,以后会总结。-google 1point3acres

3 代码和软工基础
多多少少能写但是始终没有顺溜到有什么需求就随手能实现,不惧的程度。
很希望还是能走过这个坎。

有点疑虑刷题并不能解决我的困惑。但是也没有找到更好的办法,也没有找到特别喜欢的项目想亲手做。.鐣欏璁哄潧-涓浜-涓夊垎鍦

信息很多了轮不到我去收。

4 软技能.1point3acres缃

信息很多了轮不到我去收。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2017-10-18 21:52:09 | 显示全部楼层
已经pivot away from DS
强化学习和优化 (AI)
优化的TBD
-google 1point3acres
强化学习:
Udacity那个intro AI 不错但是动手部分有点少
另外那个深度一点的课程不缴费完全做不了作业但是讲的还可以
Berkeley: CS188 Artificial Intelligence (edx)录像在youtube都有

这个里面有很多其他好资料 http://rll.berkeley.edu/deeprlcourse/
怕不见了先抄来这里. from: 1point3acres.com/bbs
CS189 or equivalent is a prerequisite for the course. This course will assume some familiarity with reinforcement learning, numerical optimization and machine learning. Students who are not familiar with the concepts below are encouraged to brush up using the references provided right below this list. We’ll review this material in class, but it will be rather cursory.
  • Reinforcement learning and MDPs
    • Definition of MDPs
    • Exact algorithms: policy and value iteration
    • Search algorithms
  • Numerical Optimization
    • gradient descent, stochastic gradient descent
    • backpropagation algorithm. From 1point 3acres bbs
  • Machine Learning
    • Classification and regression problems: what loss functions are used, how to fit linear and nonlinear models
    • Training/test error, overfitting.
For introductory material on RL and MDPs, see
For introductory material on machine learning and neural networks, see
Related MaterialsJohn's lecture series at MLSS
  • Lecture 1: intro, derivative free optimization
  • Lecture 2: score function gradient estimation and policy gradients
  • Lecture 3: actor critic methods
  • Lecture 4: trust region and natural gradient methods, open problems
CoursesRelevant TextbooksMisc Links


回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2017-10-18 21:58:07 | 显示全部楼层
已经pivot away from DS 之 data infra/data system
下阶段看的一个话题已经不是data science /analytics范畴了,但是也不是随便一个SWE就知道的范畴,因为主要还是跟数据相关,仍然放在这个版了,这个贴跟之前发的都不一样,不建议DS的人盲跟。如果你属于业务导向,business导向的,完全不需要看这些。analyst也完全不需要看。=================
Why?
. From 1point 3acres bbs
在DS、DA这个领域玩了好一阵子以后,感觉除了DL其他基本上可以做到融会贯通了,希望技术上有更宽的发展,因为感觉更深的深挖,好像能跳槽的地方就一只手能数过来并且还不一定想去了。If I dig any deeper, I may be cornering myself into a narrow niche with few patrons..鏈枃鍘熷垱鑷1point3acres璁哄潧
Also I have always been interested in seeing connections between things..1point3acres缃

具体应用上,最大的感受是,常常方法并不一定需要多深,真正的hurdle 常常是一地鸡毛的事情,比如上游数据质量,速度,下游数据应用在业务上的场景,速度(?)什么的。
学学周围码农在干什么,有助于合作,有助于参与数据系统设计,有助于设计别人没有想到的系统和使用场景 -- 周围懂数据和业务使用的人,他们经常完全不懂系统和实现,而懂系统和实现的人,可能没有谁比我更懂数据的了。。。。中间这个gap也影响到一些做事方式。To bridge the gap 应该是很有趣的。

先占个座,学习过程中会继续发心得和总结


回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2017-10-18 22:49:11 | 显示全部楼层
转眼这个帖子已经快四年老了,几点update

- DS unicorn已成真. 鍥磋鎴戜滑@1point 3 acres

当年写这个帖子的时候,有说法是DS三条腿:编程,统计和domain,很少有人能三条都强。venn diagram中间那一块被认为不存在,是unicorn. 如今这个状态已经改变。已经有新的一批人才被培养出来。他们可能有MS/BS in CS 然后去读一个stat/OR phd,但是导师来自两个系,或者EE PhD出身,要码能码,要推公式能推公式。或者单独在quantitative领域出身(统计,数学,物理,econ,IEOR)但是业余达成不错的码水平。
. From 1point 3acres bbs
而Domain这件事,无非是兴趣,坚持和积累的问题。跟前两条并不冲突,一般工作个几年就有了。

- 领域逐渐成熟和分化
. 1point 3acres 璁哄潧. 1point 3acres 璁哄潧
DS仍然是一个新兴领域,但是很多大公司的数据文化开始形成。从前说DS没人知道你具体是analyst还是ML eng。但是现在,如果你是G家QA,大家能猜到你估计是统计大拿但是不见得会编程,深度不错广度未知;如果你是FB product analyst,大家会认为你平常一般写SQL和沟通较多,产品感觉不错,但是统计深度不见得深,基本不会码,基本不会机器学习;如果你在L家做ML,你的title更大的可能是software engineer而不是DS;其他很多家也有类似说法。
. From 1point 3acres bbs
不同出身的人,在一个个新鲜的科技公司里面占据了早期位置,导致了不同公司完全不同的数据文化。有的公司虽然叫DS但是基本做的仍然是DA的活,有的公司明确区分DS和DA并在薪酬和发展空间上完全区别对待。

- 行业的一些个人理解
.鏈枃鍘熷垱鑷1point3acres璁哄潧
大体上,DS行业仍然会有不错的发展,但是我预计越来越会实现码农和数据的分化。DA算是比较清晰定义了。但是目前市面上号称做数据产品的人,整体滥竽充数的仍然是大多数,凭着年轻和热情随随便便设计一个产品,看起来都work但是其实数字错的离谱的例子,哪怕在很大的新兴公司内,也比比皆是,甚至可能是主流。这方面,大厂可能比新厂领先上好几年甚至10几年。

这些缺陷多来自早期团队主力人员经验的缺乏,和数据产品的复杂性+难以甄别。跟一般软件产品不一样,看起来好像work,但是其实差了十万八千里的例子非常常见。. 鍥磋鎴戜滑@1point 3 acres
如果使用人都不知道需要去检查结果对不对,和要如何去检查结果对不对,自然缺乏对质量的重视和鉴定能力。他们经常也不懂得appreciate别人的经验,也无法理解这些差别会对业务造成多大的影响。
-google 1point3acres当然没人愿意承认现成系统里面存在这么严重的问题,因此在需要改进的时候还是逃避为主。

解决办法要么是一开始就花大价钱请好专家,(对于新公司,这个真不一定合适)
现在出现的新公司经常并不是技术导向,而是产品,设计,运营等导向,这种情况下,技术专家未必愿意早早进去,而且早期也的确并不需要over engineer。. 鍥磋鎴戜滑@1point 3 acres
但是至少需要保证能记得早期做的trade off,在找好product market fit后,需要定期revisit当初的tradeoff,这个时候的解决办法,只能是勇于换血。. From 1point 3acres bbs

大胆的一些预测:未来有做系统的,但是越来越多的系统会是个data intensive系统。目前鱼龙混杂,质量参差不齐的情况会慢慢得到改善,但是会经历有很大的浪费和痛苦。DA 类似business于技术层面的API,仍然会存在,暂时无法想象能用AI取代。DA和码农之间会存在一些精通数据系统的专家architect,负责设计符合业务的数据intensive产品,这些architect会精通数据系统自身的特性,并且善于在业务需求和系统可靠性之间找平衡。DA的薪酬会与另外两种人拉开距离,但是在business方向完全可以有很好的发展。

今年的TFX和鲲鹏已经展示出比较完备的机器学习系统。除了传统监督学习之外的很多如今需要各家单独开发的基础数据工具,未来几年会成为缺省自带状态。其中有些是我自己每换一家公司就教别人一次,零零星星有公司做,但是离拿来就可用还有相当大从差距,很多不小的公司仍然做成一坨的内容包括:

- 可靠的数据平台,从定义和产生log到存储,ETL,etc
   目前这部分还ad hoc到匪夷所思的地步
- 自动的多种质量检测(TFX里面号称有很多)
   目前不存在,基本是靠人品和手工检查
- mobile rollout 平台
   FB和U有,G估计也有
- (AI controlled deployment): monitoring and anomaly detection, 自动休正,alert 反馈
   有几家有,无general 系统
- real time/streaming analytics system 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    有,但是不是plug and play的,需要大量domain knowledge 才能正确setup和使用. 1point 3acres 璁哄潧
- end to end实验平台
    貌似没有深度结合产品的,optimizely只有前端。一直疑惑为什么MS EXP不单独spin off开公司
- 自动insight finding, 自学习的系统代替许多如今的手工操作
    没有自动系统,GA里的是个还不错的开端但是coverage 远不够. From 1point 3acres bbs
- intuitive 的visual analytics 涵盖无法自动提取的信息,帮助人肉眼识别
    不知道,不熟. From 1point 3acres bbs
- 足够flexible的ML 平台
    有点了
- 监督学习高效获取label的系统
    没有,可以做
- 根据业务场景强化学习和优化的系统.鐣欏璁哄潧-涓浜-涓夊垎鍦
   貌似难以generalize。。。这就是目前的holy grail了, general AI



一亩三分地现在已聚集一大批数据方面的talent,相信大家的经历就可以较完备的map out 常见公司的数据文化,帮助大家跳槽的时候能有清晰的选择。


回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2017-11-12 00:59:21 | 显示全部楼层
最近接触的一些神书:
Sutton Reinforcement learning
Bengio/goodfellow的deep learning
Data intensive applications
Linkedin的recommender system
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
学不完的焦虑,只能是不去多想,天天争取看一点。恩。这样。
回复 支持 1 反对 0

使用道具 举报

 楼主| 小K 发表于 2017-11-25 16:17:44 | 显示全部楼层
学不完的焦虑里面,整出了一丢丢眉目的样子

1. learn to rank / recsys / bayesian / opt.1point3acres缃
就是传统计算机专业会学,但是统计系似乎没有教太多的部分:
之前那些书都是神书,就是个人看书速度不太行,听video做quiz比较合适我.鐣欏璁哄潧-涓浜-涓夊垎鍦
目前coursera上有一批这种内容,打算还是咬牙上了算了,不然永远是个不明不白,没有懂的很透彻。

优化那部分不知道够不够,如果不够就留到下阶段去弄
还有个定价的课看起来也有趣,也许往经济学方向看看也会有意思

最近的一个项目愣是找econ, 统计,cs, ee, OR, ML 的人都问了一圈,同一些基础的东西,在各个行当有不同的叫法和应用,有趣的要命。

2. data infra/ data sys  /data eng/ building data products
也是神书+coursera上一些课也许可以evaluate
更多是实践,下面一年中肯定会做这些工作

3. deep learning
http://www.1point3acres.com/bbs/thread-200846-1-1.html
Andrew Ng的 intro DL 尤其是course 3, 4, 5 仍然是很值得上的好东西
下面就是打算手工弄下pytorch with fast.ai
肯定能在工作里面找到好应用的,到时候贴出来
回复 支持 反对

使用道具 举报

Zzzed 发表于 2017-8-24 22:51:16 | 显示全部楼层


现在网上MOOC关于Data Science的种类繁多, 选择太多往往无从下手,对于转行的同学总想在最短的时间内获得最容易理解而且实用的知识, 我最为其中之一深有体会,现在就结合我自己的经历说下自己在这方面的心得。
在我看来, Data Science/Analytics 大致需要掌握以下几方面的技能:
.鐣欏璁哄潧-涓浜-涓夊垎鍦
1. SQL, 数据库相关的技能
. 1point3acres.com/bbs这个是所有从事数据分析的第一步:获取数据,而绝大部分的数据储存在数据库中,所以SQL的技能很关键,事实上也是以后也会占用你工作的大部分时间。
SQL不难,但是想要快速熟练的掌握光靠背几个 select, from, where, group by 是远远不够的,最好的联系方法是能一边写一边看得出的结果,从而搞清楚每条语句实际在背后对数据做了什么操作,逻辑是什么。
SQL也是数据分析面试时重点考察的方面,Google, Facebook, Uber, Slack等等这些大的科技公司都会去着重考察,不需要你会很fancy的命令语句,但是会让你利用简单的命令语句去实现很复杂的逻辑关系, 这方面的资源比较入门级的有 SQLZOO 和 W3 School的SQL部分,这两个相对来说好快速上手,而且都是我前面说的可以让你一边写SQL一边看你query出来的结果, 这样会让你对命令语句具体对数据本身做了什么。
进阶的资源有微软在edx上的一门MOOC:Querying with Transact-SQL, 这门课也适用于初学者,不过学习的时间要长一些,因为内容会讲的深一些(比如window function 和 table expression)

2. 统计的基本原理
大部分传统的机器学习的算法来自于统计学,而且统计学的知识也被大量的用在了数据探索阶段(Explanatory Data Analysis) 和工作中各种各样的Statistical Testing上面
这方面就是传统的统计知识,尽量选一些名牌大学的通俗易懂的基础统计课即可。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

3. Data Science/Machine Learning Modeling
这块的课程最多,但也最难选,因为很多课程要么太注重理论,需要有很好的数学基础才能理解,要么就是相对来说太过简单,下面是我觉得蛮好的课程,兼顾了理论深度,理解难度和实践程度。
Udemy: Python for Data Science and Machine Learning Bootcamp
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
这门课的特点是讲解很清晰,信息量很大,讲师既讲了Python编程也讲了些ML的算法知识,不过相对来说不是很深。
Edx: Analytic Edge

如果你是个对理论数学化的东西不大感兴趣,只注重怎么把ML的算法应用在实际中,那这门课是很好的入门课。
这门来自MIT的神课介绍每个算法时都是通过一个相应的现实中真实应用的案例来讲的,而且讲的通俗易懂,全部课程的语言为,也很容易上手
Udacity: Intro to Machine Learning

这门课是Google X 实验室的创始人 Sebastian Thrun (同时也是Udacity的创始人)讲授的,全面的涵盖了主流ML的算法,中间每讲一个新的算法,都会穿插了很多小练习帮助你巩固新学到的知识,而且Sebastian作为业界大牛,对ML的讲解也很清晰直白易懂。. visit 1point3acres.com for more.
Stanford Online:  Statistical Learning
. 鍥磋鎴戜滑@1point 3 acres
如果你想探究ML算法背后的数学理论基础,那这门来自斯坦福的神课就是你的不二选择,虽然课程的数学理论涉及较多,但是只要跟着两位教授(两位大牛,其中一位发明了大名鼎鼎的LASSO Regression)一步步来,还是比较容易懂的,本课程也采用了较易上手的R作为编程语言
以上这些都是Data Science/Analytics 的入门课,欢迎各位大牛继续补充!
当然还有很有名的coursea上的JHU的data science系列,我在这里就不多描述了。.1point3acres缃
希望能帮到你!

回复 支持 4 反对 0

使用道具 举报

七夜雪 发表于 2014-9-13 16:36:02 | 显示全部楼层
本帖最后由 七夜雪 于 2014-9-13 16:38 编辑

背景:学过C, javascript,不过是本科前两年,基本忘光。MATLAB用的多,少量STATA的经历(不知道这软件自由度这么低学校为啥这么喜欢)。EE PHD+ECON MASTER DOUBLE MAJOR, some experience in econometrics
目标:一年之内学完Python, Java, R, HTML5, Javascript, CSS, Machine Learning, MapReduce, SQL
大方向:Python和Java预计花时间最多,现在开始学习熟练。R不打算花巨多时间,准备有个大概的了解。HTML5系列明年再处理,到时候准备租个网站边学边弄。Machine learning准备用Python来实现(主要看这个帖子:http://blog.renren.com/share/231 ... ose_time=1410188191),会花一定时间。剩下的暂时计划不到。
短期计划(3个月):Python已学习1个月,上了google的课程+小K贴出的算法和数据结构(graph没学完),自己写code把数据结构都实现了一遍(CS同学说主要就学数据结构)。学了recursive programming后花了一天写了个解数独的程序。graph学完后转战<Python for data analysis>,同时开始上手JAVA(用Core Java的书),并用JAVA实现基础数据结构。零碎的时间看看以前C的课件,主要熟悉pointer,然后看一些介绍概念的公开课。
Note: 其实最开始的时候很抵触coding,不过现在无奈coding就像是会开车一样,不知不觉变成了一个必须的技能。data science需要,就连EE的硬件也希望你会,于是我也找不到继续逃避的理由了。SIGH

评分

1

查看全部评分

回复 支持 3 反对 0

使用道具 举报

 楼主| 小K 发表于 2016-12-24 00:12:03 | 显示全部楼层
添加一些关于OR的内容:
我自己也是OR盲,这部分仅供参考. from: 1point3acres.com/bbs
https://www.quora.com/Are-there-good-online-courses-for-Operations-Research

Nikos Makrymanolakis, M.Sc., ph.d (cand.) in the area
Some very good and relevant courses about OR subjects in coursera:

* Discrete Optimization (https://www.coursera.org/course/... ) by Professor Pascal Van Hentenryck
* Algorithms, Part I (https://www.coursera.org/course/... ) by Kevin Wayne and Robert Sedgewick 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
* Algorithms, Part II (https://www.coursera.org/course/... ) by Kevin Wayne and Robert Sedgewick
* Algorithms on Graphs and Trees (https://www.coursera.org/learn/a... ) by Alexander S. Kulikov and Michael Levin
* Algorithms: Design and Analysis, Part 1 (https://www.coursera.org/course/... ) by Tim Roughgarden
* Algorithms: Design and Analysis, Part 2 (https://www.coursera.org/course/... ) by Tim Roughgarden. more info on 1point3acres.com
-google 1point3acres
Most of the algorithms covered in the above section, are OR used algorithms. The discrete optimization course is excellent, focus entirely on optimization (you will love the professor).
-google 1point3acres
Feng Mai, ‎Assistant Professor at Stevens Institute of Technology
. more info on 1point3acres.com
Operations Research is a broad field. For optimization I would recommend

Prof. Stephen Boyd's convex optimization (available on YouTube) and
Prof. Pascal Van Hentenryck's discrete optimization (coursera).
. 1point 3acres 璁哄潧
https://orc.mit.edu/academics/course-offerings
-google 1point3acres
Somewhat older list
http://www.orcomplete.com/internet/enesbilgin/open-courses-on-operations-research
-google 1point3acres
The list from stanford
https://see.stanford.edu/Course

评分

1

查看全部评分

回复 支持 2 反对 0

使用道具 举报

 楼主| 小K 发表于 2015-6-29 11:22:09 | 显示全部楼层
\ (•◡•) /  scala 代码可以开始干正事了!!!!!.鏈枃鍘熷垱鑷1point3acres璁哄潧
回复 支持 1 反对 1

使用道具 举报

 楼主| 小K 发表于 2014-9-3 09:09:23 | 显示全部楼层
吃饭的时候看了一下udacity的software development life cycles这门课,actually非常不错,对于小白来说,填补了知识点上的一些漏洞。
免费课件可能缺少练习,但是介绍了什么是IDE(对啊。。。这种问题。。。。也得有地方讲啊。。。。),正规定义了一些平常听了无数次但是不完全清楚的词(比如scrum)。
回复 支持 1 反对 0

使用道具 举报

wenbo5565 发表于 2017-7-24 13:33:36 | 显示全部楼层
求教学习的问题。 之前读了一个统计的master后再美国工作了1年多,主要在清理数据和用tableau做visualization. 马上准备读第二个master,想加深对machine learning的理解和能力。毕业以后想从事和predictive modeling/machine learning有关的工作。现在的水平是能用python和sklearn等package参加一些kaggle的比赛 最好成绩能达到15%-20%的水平 但是仍然感觉大多数的algorithm是blackbox. 请教该学习或者怎么进步? (之前的统计主要是frequentist的角度,今后准备多修一些Baysian和CS方向的课。请问没有data structure和algorithm的经验适合上那种作业都是数学推导的design and analysis of algo的课么?还是要先修data structure在考虑上design and analysis of algo) 多谢。
回复 支持 1 反对 0

使用道具 举报

iverson1122 发表于 2016-1-27 07:43:05 | 显示全部楼层
mark一下,新人报道,以后常驻k姐的贴了~. From 1point 3acres bbs

EE phd在读,浑浑噩噩快两年,总算最近开始想以后工作的事情了。总结了一下自己的skill set,杂七杂八没一样成体系的。考虑到做的东西跟machine learning沾点边(只是拿别人的模型来用,我能说发了一篇用到svm的paper后半年我才搞清楚svm的工作原理嘛…)而且有一定的兴趣,再加上导师对医学前沿问题的关注远远多于技术层面,于是下定决心自学入门data science。-google 1point3acres

基础方面machine learning常见的模型原理大概都明白,高阶一点的比如PGM有过粗浅的入门(此处有问题,大家觉得ML要学到什么程度呢?概率图模型这种模型,学了之后感觉也基本没用到,就停留在一个“有点印象”的阶段)。统计学上过两门graduate level的统计课,基本的点估计,置信区间,t-test, F-test, ANOVA, PCA, Regression,只能说曾经知道推导过程,现在就大概有个印象,知道在什么情况下用得到… 时间序列分析和贝叶斯没太接触过。算法方面相对比较自信,之前陪女朋友刷算法题的时候自己也偶尔跟着做一下,感觉正式找工作之前突击一下应该还好。会的几个编程语言(java, R, Matlab, Python)基本都只限于刷题/数据分析方面,并没有什么软件/应用开发的经历。数据库/大数据 还有Web方面感觉是自己的最大短板(完全小白)。最近在自学MySQL,学完之后准备看Udacity的hadoop介绍课还有coursera的python 获取web数据这两门课(都是在这个帖子里看到的,感谢K姐~)。

目前情况就这么多。一亩三分地提供的信息太多了,后悔自己没早一年过来看看。大家一起努力!
回复 支持 1 反对 0

使用道具 举报

pureds 发表于 2013-11-24 13:15:42 | 显示全部楼层
多谢分享,确实感到DS/BA之类职位在市场上的定位更加清晰起来,虽说是交叉学科,但短时间内把统计,IT,和商业都熟练或精通是太难了,需要从自身的专业背景出发,做好定位,一步一步来积累。
回复 支持 1 反对 0

使用道具 举报

nibuxing 发表于 2013-11-20 10:49:57 | 显示全部楼层
被K姐抢先了= =我一直也想等我会的再多一点写一篇自己养成的养成记录,不过谢谢K姐的分享,继续努力!希望在不久的将来能有更大的收获。
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-11-27 03:03:33 | 显示全部楼层
bayesian methods for hackers-google 1point3acres
https://github.com/CamDavidsonPi ... Methods-for-Hackers
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-12 09:13:19 | 显示全部楼层
Introduction to Hadoop and MapReduce

https://www.udacity.com/course/ud617
这课上完了。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

讲解比较简单,作业做起来略麻烦,帮助上手笔记在这里:

Install VM as said (use winRAR in windows, 7zip will fail)

next steps:
read this:-google 1point3acres
http://forums.udacity.com/questi ... at-to-do-next#ud617
especally this http://www.youtube.com/watch?v=c_cJKZ4vzhA&t=57. 鍥磋鎴戜滑@1point 3 acres


watch this:. 1point 3acres 璁哄潧
https://www.udacity.com/course/v ... 8873795/m-309382595

the difference between file system on linux and on hdfs!!!!
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
even there's a local file directory called data, still need to create one on hdfs:
.鏈枃鍘熷垱鑷1point3acres璁哄潧
hadoop fs -mkdir data
-google 1point3acres
hadoop fs -ls
Found 1 item
drwxr-xr-x   - training supergroup          0 2013-12-11 17:16 data

then there's a HDFS folder called data.

now put the actual data into HDFS:
hadoop fs -put purchase.txt data (1st purchase.txt is the file on your local Filesystem, 2nd data is HDFS folder)

then you can check you do have this:
hadoop fs -ls data
Found 1 items
-rw-r--r--   1 training supergroup  211312924 2013-12-11 17:17 data/purchases.txt.鐣欏璁哄潧-涓浜-涓夊垎鍦


Run:
hs ../code/mapper.py ../code/reducer_f2.py data/purchases.txt outdata2
packageJobJar: [../code/mapper.py, ../code/reducer_f2.py, /tmp/hadoop-training/hadoop-unjar8573115774818496995/] [] /tmp/streamjob8981780528938293292.jar tmpDir=null
13/12/11 17:33:16 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
13/12/11 17:33:17 WARN snappy.LoadSnappy: Snappy native library is available
13/12/11 17:33:17 INFO snappy.LoadSnappy: Snappy native library loaded
13/12/11 17:33:17 INFO mapred.FileInputFormat: Total input paths to process : 1
-google 1point3acres13/12/11 17:33:17 INFO streaming.StreamJob: getLocalDirs(): [/var/lib/hadoop-hdfs/cache/training/mapred/local]
13/12/11 17:33:17 INFO streaming.StreamJob: Running job: job_201312111650_0004
13/12/11 17:33:17 INFO streaming.StreamJob: To kill this job, run:
13/12/11 17:33:17 INFO streaming.StreamJob: UNDEF/bin/hadoop job  -Dmapred.job.tracker=0.0.0.0:8021 -kill job_201312111650_0004
13/12/11 17:33:17 INFO streaming.StreamJob: Tracking URL: http://0.0.0.0:50030/jobdetails.jsp?jobid=job_201312111650_0004.1point3acres缃
13/12/11 17:33:18 INFO streaming.StreamJob:  map 0%  reduce 0%
13/12/11 17:33:30 INFO streaming.StreamJob:  map 12%  reduce 0%. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
13/12/11 17:33:33 INFO streaming.StreamJob:  map 19%  reduce 0%
13/12/11 17:33:36 INFO streaming.StreamJob:  map 26%  reduce 0%
13/12/11 17:33:40 INFO streaming.StreamJob:  map 32%  reduce 0%
13/12/11 17:33:43 INFO streaming.StreamJob:  map 40%  reduce 0%. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
13/12/11 17:33:46 INFO streaming.StreamJob:  map 47%  reduce 0%
13/12/11 17:33:49 INFO streaming.StreamJob:  map 50%  reduce 0%
13/12/11 17:34:01 INFO streaming.StreamJob:  map 75%  reduce 0%. visit 1point3acres.com for more.
13/12/11 17:34:02 INFO streaming.StreamJob:  map 81%  reduce 17%. 鍥磋鎴戜滑@1point 3 acres
13/12/11 17:34:05 INFO streaming.StreamJob:  map 88%  reduce 17%
13/12/11 17:34:08 INFO streaming.StreamJob:  map 95%  reduce 25%
13/12/11 17:34:11 INFO streaming.StreamJob:  map 100%  reduce 25%
13/12/11 17:34:17 INFO streaming.StreamJob:  map 100%  reduce 69%
13/12/11 17:34:20 INFO streaming.StreamJob:  map 100%  reduce 75%


hadoop fs -cat outdata1/part-00000
Baby      57491808.44
Books      57450757.91

get data out from HDFS to local
ls
code  data
[training@localhost udacity_training]$ mkdir outdata. From 1point 3acres bbs
[training@localhost udacity_training]$ cd outdata/. visit 1point3acres.com for more.
[training@localhost outdata]$ hadoop fs -get outdata2a/part-00000
[training@localhost outdata]$ ls 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
part-00000


For quick tests, make some sample data (I just copied 20 lines from ~/udacity_training/data/purchases.txt). Save it as sampleData.txt in your code directory.

head -40 purchase.txt > sample.txt


Then in a terminal, in the code directory, you can run
./mapper.py <sampleData.txt >mappedData.txt. From 1point 3acres bbs

and then
./reducer.py <mappedData.txt

for me it's more like this:
python ./mapper_f3a.py <../data/sample.txt >../data/mappedData.txt
python ./reducer_f3a.py <../data/mappedData.txt



回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-12 13:23:14 | 显示全部楼层

高分悬赏 udacity Hadoop with python 求debug

Final 作业的最后一题
chained MR

症状如下:
如果我手工把第二步数据下载下来用这个办法跑:可以得到正确结果:. Waral 鍗氬鏈夋洿澶氭枃绔,
python mapper_f23.py <../outdata2/part-00000 >toreducer2; python reducer_f23.py <toreducer2


这个是udacity自己论坛里面教的debug方法,屡试不爽

同样文件,无论是直接读上次MR的结果,还是我下载然后重新上传,都有如下错误:

hs mapper_f23.py reducer_f23.py data/part-00000  outdataF2outc
packageJobJar: [mapper_f23.py, reducer_f23.py, /tmp/hadoop-training/hadoop-unjar3723990990451201080/] [] /tmp/streamjob2507367586069302810.jar tmpDir=null.1point3acres缃
13/12/12 00:20:04 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.-google 1point3acres
13/12/12 00:20:05 WARN snappy.LoadSnappy: Snappy native library is available
13/12/12 00:20:05 INFO snappy.LoadSnappy: Snappy native library loaded
13/12/12 00:20:05 INFO mapred.FileInputFormat: Total input paths to process : 1
13/12/12 00:20:05 INFO streaming.StreamJob: getLocalDirs(): [/var/lib/hadoop-hdfs/cache/training/mapred/local]
13/12/12 00:20:05 INFO streaming.StreamJob: Running job: job_201312111650_0036
13/12/12 00:20:05 INFO streaming.StreamJob: To kill this job, run:
13/12/12 00:20:05 INFO streaming.StreamJob: UNDEF/bin/hadoop job  -Dmapred.job.tracker=0.0.0.0:8021 -kill job_201312111650_0036
13/12/12 00:20:05 INFO streaming.StreamJob: Tracking URL: http://0.0.0.0:50030/jobdetails.jsp?jobid=job_201312111650_0036
13/12/12 00:20:06 INFO streaming.StreamJob:  map 0%  reduce 0%
13/12/12 00:20:11 INFO streaming.StreamJob:  map 100%  reduce 0%
13/12/12 00:20:36 INFO streaming.StreamJob:  map 100%  reduce 100%
13/12/12 00:20:36 INFO streaming.StreamJob: To kill this job, run:
13/12/12 00:20:36 INFO streaming.StreamJob: UNDEF/bin/hadoop job  -Dmapred.job.tracker=0.0.0.0:8021 -kill job_201312111650_0036
13/12/12 00:20:36 INFO streaming.StreamJob: Tracking URL: http://0.0.0.0:50030/jobdetails.jsp?jobid=job_201312111650_0036
13/12/12 00:20:36 ERROR streaming.StreamJob: Job not successful. Error: NA. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
13/12/12 00:20:36 INFO streaming.StreamJob: killJob....鏈枃鍘熷垱鑷1point3acres璁哄潧
Streaming Command Failed!. 1point3acres.com/bbs

回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-12 13:28:44 | 显示全部楼层
两步MR. visit 1point3acres.com for more.

mapper1. just output the filename and 1
reducer1: simple word count reducer

--> output of step 1 MR is (filename, count)
. 1point3acres.com/bbs

mapper2:read output of step1, output (_dummy_, filename, count)
reducer2:get all the keys called _dummy_, get the max of count, output
. 鍥磋鎴戜滑@1point 3 acres
核心也就这么一点点:

    if thisCount > maxcnt:
        maxcnt = thisCount
        maxfile = thisKey

然后就输出了。

我无法想象为什么local run works but hs fail 了
看样子也是跑出来结果了,但是结果无法stream?

这一步到底是试图把什么东西写到什么地方去呢?.鏈枃鍘熷垱鑷1point3acres璁哄潧
13/12/12 00:20:36 ERROR streaming.StreamJob: Job not successful. Error: NA
13/12/12 00:20:36 INFO streaming.StreamJob: killJob...
Streaming Command Failed!
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-12 13:40:27 | 显示全部楼层
holy cow.........

错误是这句话前面不小心加了一个空行
#!/usr/bin/env python

结果就找不到python

error msg not helpful at all
http://stackoverflow.com/questio ... example-not-working
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 04:29:45 | 显示全部楼层
上完了Udacity 很入门的java,基础真的是讲的非常好的
可惜内容稍浅。如果有后续课就好了。
. 鍥磋鎴戜滑@1point 3 acres
暂时下面打算跟Berkeley 61B, 自己看Head first Java. Waral 鍗氬鏈夋洿澶氭枃绔,
http://www.cs.berkeley.edu/~jrs/61b/
http://www.youtube.com/watch?v=Q ... 2A1049C&index=1

Joyce好心share给我课程资料已经几年了,现在才学起,真是惭愧。
回复 支持 反对

使用道具 举报

nibuxing 发表于 2013-12-28 04:58:30 | 显示全部楼层

我也正在跟CS61B,上这门课的话我觉得Head first暂时不用看啦,一开始教授会重新讲一点java基础,还是挺好的。
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 05:00:37 | 显示全部楼层
nibuxing 发表于 2013-12-27 15:58
我也正在跟CS61B,上这门课的话我觉得Head first暂时不用看啦,一开始教授会重新讲一点java基础,还是挺好 ...

head first是这课的教材,我从前看过,因为当时没动手编程,觉得记不牢
老师讲基础就太好了
回复 支持 反对

使用道具 举报

nibuxing 发表于 2013-12-28 05:22:35 | 显示全部楼层
小K 发表于 2013-12-28 05:00
head first是这课的教材,我从前看过,因为当时没动手编程,觉得记不牢-google 1point3acres
老师讲基础就太好了

python方面,我现在会基本语法和一些算法,也就是上完CS101和CS215,但不知道是不是因为我上得不够仔细,用py去网上取数据这方面没有概念,希望K姐能赐教,书或者相关课程。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

第二个问题是,刚来美国四个月,打算开始找实习了,也在慢慢扩充自己的技能,专业是IEOR,并不对口,这对找data scientist方面实习和工作影响大吗。
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 05:27:45 | 显示全部楼层
nibuxing 发表于 2013-12-27 16:22
python方面,我现在会基本语法和一些算法,也就是上完CS101和CS215,但不知道是不是因为我上得不够仔细, ...

咱俩水平看来差不多 :P

scrape data 没书教吧. 1point 3acres 璁哄潧
check "visualize this", python beautiful soup 用法
i just googled some "how to" posts 现在access个API啊什么的貌似还没问题
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 05:28:27 | 显示全部楼层
IEOR做 data scientist 挺对口的
回复 支持 反对

使用道具 举报

nibuxing 发表于 2013-12-28 05:29:38 | 显示全部楼层
小K 发表于 2013-12-28 05:27 . 鍥磋鎴戜滑@1point 3 acres
咱俩水平看来差不多 :P

scrape data 没书教吧

我比K姐你还差得远,还在努力中。谢谢指导。
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 05:45:21 | 显示全部楼层
nibuxing 发表于 2013-12-27 16:29
我比K姐你还差得远,还在努力中。谢谢指导。

我的python的确也就是学了这么几门课 :D

scrape数据,给你个小练习做:
http://www.1point3acres.com/bbs/thread-79211-8-1.html

(exercise on py beautifulsoup and regex)
回复 支持 反对

使用道具 举报

LIIIIIIING 发表于 2013-12-28 11:46:22 | 显示全部楼层
正在上ba的课程,但是觉得需要自己自学的东西太多,这贴正好给我参考用!感谢!
回复 支持 反对

使用道具 举报

EroicaCMCS 发表于 2013-12-28 12:33:29 | 显示全部楼层
本帖最后由 EroicaCMCS 于 2013-12-28 12:39 编辑
小K 发表于 2013-12-28 05:45 . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
我的python的确也就是学了这么几门课 :D

scrape数据,给你个小练习做:

K姐,请教几个抓数据的问题:

1 我抓网页一般用py httplib/urllib2 + regex,没用过beautifulsoup。想问下beautifulsoup的好处是不是仅仅是可以生成一个有结构的对象?还是有其他很好的feature?
感觉自己用regex写抓的很准但是麻烦,用现成的类库又多了太多无用信息了。。

2 遍历一个网站(比如说抓取某个版的所有页面),我只能自己分析底层的post命令的规则(比如说url里面page=1,page=2,etc),还是说有别的更好的方法?
一层一层的爬虫抓太多无用信息了,而自己写每一个网站都略不同又太麻烦了。。。

自己到处看博客学的,走了很多弯路,求指教~~

BTW, thanks for sharing!又发现D3这种好东西!
. 鍥磋鎴戜滑@1point 3 acres
回复 支持 反对

使用道具 举报

 楼主| 小K 发表于 2013-12-28 12:50:33 | 显示全部楼层
同走弯路。
我对scrape web data其实没有太多经验
我想取决于你要抓取什么数据?. 鍥磋鎴戜滑@1point 3 acres
visualize this里面的例子是上天气网站抓取过去今年每天气温,你可以想象抓完后应该是个一列或者至少一个矩阵形状的数据

coursera例子是get twitter data, get location, time etc and do some analysis.鏈枃鍘熷垱鑷1point3acres璁哄潧

楼上说的相互寄贺卡,是需要取出某个regex pattern的楼层和id值然后randomize

不过话说回来这些我自己很少用到,我常做的是去某web app收集的数据里面取出近期数据进行分析或者读写,比如我常用的效率软件rtm, toggl gmail gcal, douban,这些都有现成api 比较容易弄整齐。

以我目前的程度,说不清两者区别叫什么。。。= =

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

EroicaCMCS 发表于 2013-12-28 13:41:02 | 显示全部楼层
本帖最后由 EroicaCMCS 于 2013-12-28 13:47 编辑 .鐣欏璁哄潧-涓浜-涓夊垎鍦
小K 发表于 2013-12-28 12:50
同走弯路。
我对scrape web data其实没有太多经验
我想取决于你要抓取什么数据?

有api就很方便了
最近抓的是学校的选课数据 还有体育数据(sina,opta). visit 1point3acres.com for more.
这些都没有api的T^T。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

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

custom counter

GMT+8, 2017-12-17 04:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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