蚊章汇 - Vik Paruchuri
type: channel
link: https://linuxcn.bwsl.wang/author/439/
description: Vik Paruchuri
items: 构建你的数据科学作品集：用数据讲故事
items: 构建你的数据科学作品集：机器学习项目

构建你的数据科学作品集：用数据讲故事
type: item
date: 2017-10-23T05:01:00+08:00
description: 这是如何建立 数据科学作品集 Data Science Portfolio 系列文章中的第一篇。如果你喜欢这篇文章并且想知道此系列的下一篇文章何时发表，你可以在页面底部订阅。数据科学公司们在决定雇佣一个人时越来越看重其作品集。其中一个原因就是 作品集 portfolio 是分析一个人真实技能的最好方式。好消息是，作品集是完全可以被你掌控的。如果你在其上投入了一些工作，你就能够做出一个令那些公司印象深刻的作品集结果。建立一个高质量作品集的第一步就是知道展示什么技能。那些公司们主要希望数据科学工作者拥有的技能，或者说他们主要希望作品集所展示的技能是：表达能力合作能力专业技能解释数据的能力有目标和有积极性的任何一个好的作品集都由多个工程构成，每一个工程都会展示 1-2 个上面所说的点。这是涵盖了“如何完成一个完整的数据科学作品集”系列文章的第一篇。在这篇文章中，我们将会涵括如何完成你的第一项数据科学作品集工程，并且对此进行有效的解释。在最后，你将会得到一个帮助展示你表达能力和解释数据能力的工程。用数据讲故事数据科学是表达的基础。你将会在数据中发现一些观点，并且找出一个高效的方式来向他人表达这些，之后向他们展示你所开展的课题。数据科学最关键的手法之一就是能够用数据讲述一个清晰的故事。一个清晰的故事能够使你的观点更加引人注目，并且能使别人理解你的想法。数据科学中的故事是一个讲述你发现了什么，你怎么发现它的，并且它意味着什么的故事。例如假使发现你公司的收入相对去年减少了百分之二十。这并不能够确定原因，你可能需要和其它人沟通为什么收入会减少，并且在尝试修复它。用数据讲故事主要包含：理解并确定上下文从多角度发掘使用有趣的表示方法使用多种数据来源一致的表述用来讲述数据的故事最有效率的工具就是 Jupyter notebook。如果你不熟悉，此处有一个好的教程。Jupyter notebook 允许你交互式的发掘数据，并且将你的结果分享到多个网站，包括 Github。分享你的结果有助于合作研究和其他人拓展你的分析。在这篇文章中，我们将使用 Jupyter notebook，以及 Pandas 和 matplotlib 这样的 Python 库。为你的数据科学工程选择一个主题建立一个工程的第一步就是决定你的主题。你要让你的主题是你兴趣所在，有动力去挖掘。进行数据挖掘时，为了完成而完成和有兴趣完成的区别是很明显的。这个步骤是值得花费时间的，所以确保你找到了你真正感兴趣的东西。一个寻找主题的好方法就是浏览不同的数据集并且寻找感兴趣的部分。这里有一些作为起点的好的网站：Data.gov - 包含了政府数据。/r/datasets – 一个有着上百个有趣数据集的 reddit 板块。Awesome datasets – 一个数据集的列表，位于 Github 上。17 个找到数据集的地方 – 这篇博文列出了 17 个数据集，每个都包含了示例数据集。真实世界中的数据科学，你经常无法找到可以浏览的合适的单个数据集。你可能需要聚合多个独立的数据源，或者做数量庞大的数据清理。如果该主题非常吸引你，这是值得这样做的，并且也能更好的展示你的技能。关于这篇文章的主题，我们将使用纽约市公立学校的数据，我们可以在这里找到它。选择主题这对于项目全程来说是十分重要的。因为主题能很好的限制项目的范围，并且它能够使我们知道它可以被完成。比起一个没有足够动力完成的工程来说，添加到一个完成的工程更加容易。所以，我们将关注高中的学术评估测试，伴随着多种人口统计和它们的其它数据。关于学习评估测试， 或者说 SAT，是美国高中生申请大学前的测试。大学在做判定时将考虑该成绩，所以高分是十分重要的。考试分为三个阶段，每个阶段总分为 800。全部分数为 2400（即使这个前后更改了几次，在数据中总分还是 2400）。高中经常通过平均 SAT分数进行排名，并且 SAT 是评判高中有多好的标准。因为由关于 SAT 分数对于美国中某些种族群体是不公平的，所以对纽约市这个数据做分析能够对 SAT 的公平性有些许帮助。我们在这里有 SAT 成绩的数据集，并且在这里有包含了每所高中的信息的数据集。这些将构成我们的工程的基础，但是我们将加入更多的信息来创建有趣的分析。补充数据如果你已经有了一个很好的主题，拓展其它可以提升主题或者更深入挖掘数据的的数据集是一个好的选择。在前期十分适合做这些工作，你将会有尽可能多的数据来构建你的工程。数据越少意味着你会太早的放弃了你的工程。在本项目中，在包含人口统计信息和测试成绩的网站上有一些相关的数据集。这些是我们将会用到的所有数据集：学校 SAT 成绩 – 纽约市每所高中的 SAT 成绩。学校出勤情况 – 纽约市每所学校的出勤信息。数学成绩 – 纽约市每所学校的数学成绩。班级规模…

构建你的数据科学作品集：机器学习项目
type: item
date: 2016-10-28T18:21:55+08:00
description: 这是这个系列发布的第三篇关于如何构建数据 科学作品集 （ Data Science Portfolio ） 的文章。如果你喜欢这个系列并且想继续关注，你可以在订阅页面的底部找到链接。数据科学公司在决定雇佣时越来越关注你在数据科学方面的 作品集 （ Portfolio ） 。这其中的一个原因是，这样的作品集是判断某人的实际技能的最好的方法。好消息是构建这样的作品集完全要看你自己。只要你在这方面付出了努力，你一定可以取得让这些公司钦佩的作品集。构建高质量的作品集的第一步就是知道需要什么技能。公司想要在数据科学方面拥有的、他们希望你能够运用的主要技能有：沟通能力协作能力技术能力数据推理能力动机和主动性任何好的作品集都由多个项目表现出来，其中每个都能够表现出以上一到两点。这是本系列的第三篇，本系列我们主要讲包括如何打造面面俱到的数据科学作品集。在这一篇中，我们主要涵盖了如何构建组成你的作品集的第二个项目，以及如何创建一个端对端的机器学习项目。在最后，我们将拥有一个展示你的数据推理能力和技术能力的项目。如果你想看一下的话，这里有一个完整的例子。一个端到端的项目作为一个数据科学家，有时候你会拿到一个数据集并被问如何用它来讲故事。在这个时候，沟通就是非常重要的，你需要用它来完成这个事情。像我们在前一篇文章中用过的，类似 Jupyter notebook 这样的工具，将对你非常有帮助。在这里你能找到一些可以用的报告或者总结文档。不管怎样，有时候你会被要求创建一个具有操作价值的项目。具有操作价值的项目将直接影响到公司的日常业务，它会使用不止一次，经常是许多人使用。这个任务可能像这样 “创建一个算法来预测周转率”或者“创建一个模型来自动对我们的文章打标签”。在这种情况下，技术能力比讲故事更重要。你必须能够得到一个数据集，并且理解它，然后创建脚本处理该数据。这个脚本要运行的很快，占用系统资源很小。通常它可能要运行很多次，脚本的可使用性也很重要，并不仅仅是一个演示版。可使用性是指整合进操作流程，并且甚至是是面向用户的。端对端项目的主要组成部分:理解背景浏览数据并找出细微差别创建结构化项目，那样比较容易整合进操作流程运行速度快、占用系统资源小的高性能代码写好安装和使用文档以便其他人用为了有效的创建这种类型的项目，我们可能需要处理多个文件。强烈推荐使用 Atom 这样的文本编辑器或者 PyCharm 这样的 IDE。这些工具允许你在文件间跳转，编辑不同类型的文件，例如 markdown 文件，Python 文件，和 csv 文件等等。结构化你的项目还利于版本控制，并上传一个类似 Github 这样的协作开发工具上也很有用。Github 上的这个项目在这一节中我们将使用 Pandas 和 scikit-learn 这样的库，我们还将大量用到 Pandas DataFrames，它使得 python 读取和处理表格数据更加方便。找到好的数据集为一个端到端的作品集项目的找到好的数据集很难。在内存和性能的限制下，数据集需要尽量的大。它还需要是实际有用的。例如，这个数据集，它包含有美国院校的录取标准、毕业率以及毕业以后的收入，是个很好的可以讲故事的数据集。但是，不管你如何看待这个数据，很显然它不适合创建端到端的项目。比如，你能告诉人们他们去了这些大学以后的未来收入，但是这个快速检索却并不足够呈现出你的技术能力。你还能找出院校的招生标准和更高的收入相关，但是这更像是常理而不是你的技术结论。这里还有内存和性能约束的问题，比如你有几千兆的数据，而且当你需要找到一些差异时，就需要对数据集一遍遍运行算法。一个好的可操作的数据集可以让你构建一系列脚本来转换数据、动态地回答问题。一个很好的例子是股票价格数据集，当股市关闭时，就会给算法提供新的数据。这可以让你预测明天的股价，甚至预测收益。这不是讲故事，它带来的是真金白银。一些找到数据集的好地方：/r/datasets – 有上百的有趣数据的 subreddit（Reddit 是国外一个社交新闻站点，subreddit 指该论坛下的各不同版块）。Google Public Datasets – 通过 Google BigQuery 使用的公开数据集。Awesome datasets – 一个数据集列表，放在 Github 上。当你查看这些数据集时，想一下人们想要在这些数据集中得到什么答案，哪怕这些问题只想过一次（“房价是如何与标准普尔 500 指数关联的?”），或者更进一步（“你能预测股市吗?”）。这里的关键是更进一步地找出问题，并且用相同的代码在不同输入（不同的数据）上运行多次。对于本文的目标，我们来看一下 房利美 （ Fannie Mae ） 贷款数据。房利美是一家在美国的政府赞助的企业抵押贷款公司，它从其他银行购买按揭贷款，…