10天100小时学数据科学,我推荐你这样学!

有位网友在 Quora 提问,并补充说「我有10天空闲时间,每天想花十个小时学习数据科学入门知识,应该学点什么呢?谢谢」伯乐在线摘编了 Roman Trusov 的回复,非常值得新手参考


哥们我太羡慕你了,不是谁都有像你这样的机会的
10天100小时的学习时间里应该分配给尽量多样化的知识

这也算是一大笔投资,所以应当严肃对待,根据学出来的结果可以把拿到实习 offer 之类的当做目标


说实话,我不觉得学习在线课程对你这次的学习有什么用,上课也不过就能给你点成就感罢了


如果你有不错的数学和编程基础,那么直接上手写代码、跑数据、看结果,比上在线课程有意思得多


那可是一百个小时呀!如果你真能在接下来十天的一百个小时里尽自己最大的努力学习,就能学到世界级专家所需知识的百分之一


时间紧任务重,你,准备好了嘛? 库和算法的内部实现之类的将来有得是时间学,你现在还用不上


我下面列出的任务量巨大,需要你全身心投入,目标是让你能够广泛地接触到这个领域的一些主要工具


第一天和第二天 下载 StackExchange 的公开数据:下载链接在此(需梯子) 处理数据需要关系数据库管理系统,第一天大概要干这些: 安装 MySQL 配置好后把上面下载的数据导入数据库 阅读 SQL 基础知识


花点时间做几个小练习题来熟悉数据操作

比如说,写个能够抽取所有满足下面条件的提问的脚本:提问是关于 Python 和 SQL的、回答多于三个、最佳回答的作者在这两个主题下拥有大于十个被选中的回答


你有可能会发现脚本性能有问题
阅读 SQL 索引知识,了解哈希和排序等
修改上面的脚本让它能立刻马上跑出结果
写个能处理上面查询语句的 Python 类
这就需要学习 Python MySQL driver

你需要一个工具,能帮助你从数据库中抽取数据并且能把它们以比较方便的形式呈现出来


虽不清楚题主底子怎么样,但我觉得上面的任务即使对菜鸟来说也是完全能够完成的


你只要有些基础的 Python 知识就足够了

第二天可以用来了解用 pandas 来读取数据,以及用 numpy 来对数值型数据进行操作


这些库的文档看起来页数多很吓人,但不用都读

只要学会导入 CSV 文件、添加提取数据列、合并两个数据库这些操作就行了


第三天 虽然实际工作中通常都是在整个数据库上做查询,但学习如何在小量级的数据做操作并且得到有意义的结果也是相当重要的


比如说,可以试着从整个数据集中自己随机抽取一些数据,然后把它们的得分的分布和整个数据集上的得分分布做比较


现在可以再进一步了

虽然手握整个 Stack Exchange 的数据库,但是因为我对 StackOverflow 里面的数据比较熟悉一点,下面只会用到 StackOverflow 的数据


我能想到的一个有意思的练习:根据时间看编程语言的流行程度

为什么这个练习有用呢? 如何抽取与仅仅编程语言本身有关的提问而不抽取只与技术有关的提问呢?(比如我想要和 Python 语法有关的提问,而不想要那种问如何在 Django 中用 MangoDB 的提问) 提问的标签数量非常大,为了最后将结果可视化需要谨慎挑选输入数据 可以学习到至少一个可视化框架 可以生成很多美图 会做上面的例子,自然而然就可以探寻更多数据里有意思的属性了


学会问问题是一个很重要的能力

第四天和第五天 数据科学家曾被评为“21 世纪最性感的职业”


你知道还有什么很性感么?图论哦! 问题标签之间是如何联系在一起的?是否能仅仅用 Stack Overflow 上的回答就构建一个和技术有关的图?该选哪个标准来计算两个标签有多相似?图的可视化该如何做?试 Gephi 了吗? 都做好了之后,需要给上面生成的图添加描述


仅仅一张图本身能提供的价值有限,你需要一直盯着它看,直到理解它背后所代表的意义


学习聚类算法 (至少要学 k-means 和 DBSCAN)和 K 近邻算法


要是愿意钻研的话,还可以试试各种图论算法,算图的各项指标

建议使用 networkx 这个库和 scikit-learn 库里的一些相关部分,这些库能大大简化任务的难度


做这个有什么用? 可以接触到不同格式的数据,比如 CSV, GEPHI, 边的集合等


K-means 是一个有用的算法,学了不吃亏,以后用得上 研究数据的时候,发掘有意义的聚类是最重要的任务之一 可以根据自己的情况在这两天之中分配任务


我会推荐头一天玩玩 networkx 和 Gephi

第二天我会做聚类分析,因为做聚类的时候会有一些有挑战的问题,比如你需要思考:到底该用怎样的向量来表示问题标签才能保留它们之间的距离呢?! 第六天 到了第六天应该已经基本明白数据库部分了


然而文本还没有接触过,只会算字数不算(此处有冷冷的一语双关)


今天应该用来简单学点文本分析

学学潜在语义索引就够了,所有需要的东西在 scikit-learn 库里都有,还需要用一些 SQL


一般的流程是: 选出想用的数据 用 scikit 来抽取文本特征 (建议用 scikit 里的 TF-IDF Vectorizer) 给文本加标签


你可以做一个简单的练习:根据回答的文本来预测它会得多少分
这里文本的得分就是它的标签,TF-IDF 可以作为特征向量
最好是能用 numpy 格式来为每个假设准备一个数据集

比如: 一个用来预测回答的得分 对回答按主题分类 (可以选择二十种编程语言的一些回答作为样本) 一定要注意搜集到的数据集要清理干净,你要确切地知道里面都有些什么


说起来简单做起来难
第七、八、九天 前一天中已经得到了干净的数据集

假设一个用于分类一个用于预测(在第五天时已经学过它们的区别了)


在这几天(译者注:原文写的第五天应是笔误)该集中学习回归模型了


scikit 库里提供了很全面的工具
应该上手试试下面提到的方法里至少三种: 线性模型
线性模型的种类浩如烟海

首先要比较它们的性能,然后读读最好的线性模型的相关知识,了解不同模型的区别


提示:好好学学 ElasticNet 回归

如果你数学还行的话可以读读 Bishop 的《模式识别与机器学习》 一书


书里很好地讲解了 ElasticNet 回归模型好用的原因
如果没时间的话可以不看
回归树
KNN 回归
KNN 通常很好用,不要瞧不起这些简单的方法
集成学习模型如随机森林和自适应增强学习

学习的主要目标并不是立刻变成这些算法的专家,而应该先跑起来代码,好用了之后然后再问问题


同样的方法也适用于分类问题
思考应该用什么指标才能衡量结果的好坏

假设要建立一个给新闻排序的智能信息平台,该如何评估它的好坏呢? 对所有的模型做交叉验证是必不可少的


阅读 k 折(k-fold)交叉验证有关内容,研究如何用 scikit 来做 k 折交叉验证,然后对所有你之前建立过的模型都做一遍交叉验证


第十天 既然你想做一个数据科学家,这次经历不能落下它最有意思的部分,那就是展示结果


无论你想选什么样的形式来展示它们都无所谓(将来很难有这样自由选择展示形式的机会了)


无论是半学术论文形式、PPT 展示、博客文章,还是一个手机 app 都可以,任君选择


把你的故事分享给大家

写写你在数据集里发现了什么、都做了些什么假设,分析假设能否成立的原因、简单描述下用到的算法、用简洁明了的形式来展示交叉验证的结果等,并且一定要多多放些图表


这部分无论做到什么程度都不算用力过猛

我保证,如果你真能做一个好的展示并且展示给自己的伯乐看,入门 offer 指日可待


【补注】:Roman Trusov 的这个回答有 760+ 顶,并且有不少评价非常高的评论


伯小乐摘编几个: Muhammed Hussain:我没有回答题主的问题,但看到这个回复后,我决定从工作中抽出 10 天来学习


Sethu Iyer:哇!从没想过 10 天能如此高效! TEJAS SARMA:现在我知道暑假头 10 天能做什么了


Parisa Rai:读完这个回答,我是多么希望自己还是一个初学者呀


我认为,除了那些只有 10 天空闲时间的童鞋,每个初学者都可以按答主的建议来


Anastasia Kukanova:你知道还有什么很性感么?这个回答! 本文由 伯乐在线 – XiaoxiaoLi 翻译,黄利民 校稿


英文出处:Roman Trusov

本文链接:http://python.jobbole.com/85704/ 关于数据科学的十本好书 1. Python Machine Learning Python 是建议数据科学家应该学习的最顶尖的语言,掌握这种技能协商薪水时能得到更多


对任何数据科学家,特别是有抱负的数据科学家,或想要把 Python 作为技能掌握的开发者而言,这本书就是你的必读书目


这本书将帮助读者利用学习深度学习、数据整理、可视化数据的 Python 开源文库


它还能提供学习策略和实践,从而改善、优化机器学习系统和算法

作者:Sebastian Raschka 价格:Kindle 版 22.39 美元,纸质版 40.47 美元 2. Data Analyti cs Made Accessible 这本书为读者提供了数据分析的整体概况,所以对于想要在此领域学习更多的人,或是对需要一本初级读物并理解相关技术如何工作的经理人来说,它都是一本好书


这本书在每章开篇提供了小案例研究,并为数据挖掘技术和平台提供了一个整体概览


这本书也为了解 R 统计分析平台提供辅导

作者:Anil Maheshwari 价格:9.99 美元 3. Dat a Smart: Using Data Science to Transform Information Into Insight 这本书是由 MailChimp.com 首席数据科学家撰写,集中论述了如何用微软 Excel 从数据中获得洞见,所以不要期待在这本书中学到 R 语言、Hadoop 或是 Apache Spark


但是在这本书里你将学到如何掌握 Excel 从而在数据设定中得到更多信息


作者: John W. Foreman 价格:Kindle 版 22.99 美元,纸质版 27.99 美元 4. Da ta Science For Business 本书是基于纽约大学 MBA 课程编写而成,作者也是教授这一课程的讲者之一


它介绍了数据科学的基础、并引导读者获取从数据中寻找商业价值需要的「数据分析思维(data-analytics thinking)」


本书探讨了如何以数据挖掘技术和数据使用来获得竞争优势

作者:Foster Provost 、 Tom Fawcett 价格:Kindle 版 21.49 美元,纸质版 37.99 美元 5. Hadoop: The Definitive Guide 想要学习 Hadoop?那这本书就是你需要的


这是出版于 2015 年的第四版

本版专门使用了 Haddop 2 并增加了新的章节描述 YARN 和 Hadoop 相关项目,比如  Parquet、Flume、Crunch、Spark


另外,本书覆盖了 Hadoop 的基础内容,MapReduce、HDFS 和 YARN


也阐述了如何建立并维护在这三个基本成分上运行 Haddop 集群


本书讨论的其他主要技术包括 Pig、Hive、Crunch、HBase 和 ZooKeeper 等


作者:Tom White 价格:Kindle 版 24.99 美元,纸质版 32.62 美元 6. R Cookbook 这本指南提供了使用 R 语言快速进行数据分析的方法


它包含了 200 多个关于这一开源语言(统计学家们的首选)的方法


本书的书评员也是第一次接触 R,并将这本书描述为为他们节省了大量时间的具有实践意义的入门指南和参考工具


作者:Paul Teetor 价格:Kindle 版 24.99 美元,纸质版 32.62 美元 7. Storytell ing With Data 如果你不能用受众群体觉得有趣的方式呈现给大家,那从数据中发现的关键点还有意义吗?这种把信息放到语境当中的技能也是非常有价值的能力


这本书就在以下三点上提供了窍门:如何将受众的注意力引导到最重要的数据点,如何用恰当的可视化方法交流数据,如何用故事化的方法将信息传递给受众


作者:Cole Nussbaumer Knaflic 价格:Kindle 版 20.79 美元,纸质版 22.44 美元 8. Learning Spark Hadoop 已然成为大数据的同义词了,然而 Spark 却是一个让大数据工程发展更快的新型的、热门技术


每一系列大数据书集都会包含一本关于 Spark 的书,而这一本则是由 Spark 的开发人员撰写的


这本书涵盖了分布式数据集、内存式缓存、交互式 shell 和像 Spark SQL 和 MLib 那样的嵌入式文库,以及连接像 HDFS、Hive、JSON 和 S3的数据资源


作者:Holden Karau,Andy Konwinski,Patrick Wendell 和 Matei Zaharia 价格:Kindle 版 21.49 美元,纸质版 34.26 美元 9. Weapons Of Math Destruction: How Big Data Increases Inequality And Threatens Democracy 这不是一本指导用书或入门书


相反,这本书关注的是:因为每个人都由同一套规则评判,算法能否通过将人类从计算中解放出来,从而让世界更加公平


但是作者也指出,对立方才是正确的

本书由前华尔街数量分析专家撰写,将带你了解算法性质的未来对文化和经济的影响


作者就我们现有的模式展开讨论,他认为这个模式是不透明的,未校准的,无可抗衡的


甚至他们是错
而且他坚持这些模式会增强歧视

举例来说,如果一个穷学生因为他的邮政编码信息显示他风险太高(还贷能力弱),那他就无法得到贷款(译者:国外银行卡会登记邮编,所以可以通过查询邮编来得知相应的信用记录),随后他将无法得到这个能将他带离贫困的教育机会


作者:Cathy O’Neil 价格:Kindle 版 13.99 美元,精装版 18.50 美元 10. Building Data Science Teams 这是一本由美国白宫国家科学与技术政策办公室的首席数据科学家撰写的免费电子书


本书阐释了技能、观点、工具和他认为成功定位数据科学团队的流程


作者 DJ Patil 将他作为 Linkedin 数据科学团队架构师的经历带到本书当中,描述了成为数据科学家的四个重要资质和建立「数据驱动(data driven)」组织意味着什么


作者:DJ Patil 价格:免费 PS: 亲爱滴小伙伴们,【 淘数宝网 】已上线,在学习之余, 推广、投稿都能赚钱 !还有海量资源共享,点击下方 阅读 原文 体验一下吧!!!



发表回复