查看原文
其他

如何把各类难题变得数据可解?Get与数据科学家聊天的正确姿势

2017-06-23 教你问问题的 大数据文摘

大数据文摘作品,转载要求见文末

原作者 | Alexander Egorenkov

编译 | 张天健,笪洁琼


很多人通常很难问出合适的数据科学问题。这是因为他们还没有弄清楚问题如何用数据解决方案来解决。 数据科学工具起初可能看起来非常有限,但是我们可以将大多数真实世界的问题改成我们数据科学的语言。在一个数据驱动的环境下,如何有效的利用数据科学,如何提出数据科学可以解决的问题非常重要。


我们可以问什么问题?


我们将学习过程分为6个目的,每个目的都有相关问题。 作为数据的科学家,这些问题是我们可以提问,解决,以及分享洞见。

  • 记忆 -何人,何事,何地,或者事情是什么时候发生的?

  • 理解 - 你可以总结出发生了什么?

  • 应用 –如果…那将会发生什么?

  • 分析 - 关键部分是什么以及它们的联系......?

  • 评价- 这是最好的方法吗?

  • 创造-你可以预测在新的情况下会发生什么吗?


可用的工具


(从业人员可能想跳过这段)


数据科学行业里有很多工具,但你可以把它们分解成几个部分。


1)R/Python/SQL/Etc R/Python/SQL等软件


我们可以使用SQL,R,Python等进行数据操作来搜索和汇总数据。

这些软件使我们可以解决“记忆”和“理解”的问题,比如“我的最大用户最后一次交易是什么时候?”


2)假设检验(Hypothesis Testing)


我们只是将一系列数据分类,但这并不意味着我们发现了其中的联系。 假设检验告诉我们我们的数据是否适用于新的情况, 比如:“猫的照片能比狗的照片带来更多流量吗?”


3)情景分析


情景分析在各种条件下分析了许多种可能的未来结果。 我们创造了许多可能的情景,然后预测会发生什么。 “如果我们提高产品的价格会导致怎样的结果?”


4)最优化


最优化是一个巨大的领域,但它通常要求简单,却很难回答,比如最大化和最小化的问题。“什么样的供应路线能降低派送包裹的成本?”


5)增强学习


强化学习观察数据,和实时优化的结果。 “在Flappy Bird游戏中我应该什么时候点击继续?”


6)统计建模与机器学习


因为这些是巨大的领域,可能会比较麻烦 我们来看几个主要的任务:

  • 分类、回归-“有多少…?”“什么类型…?”

  • 特征选取-“哪些变量是有关的?”

  • 降维-“哪些是我的数据中的关键组成部分?”

  • 群集-“我可以将我的数据进行分类吗?”

  • 异常检测-“这个观测数据奇怪吗?”


7)分类与回归


分类和回归回答了“我的数据之间,一个或多个结果之间有关联吗”这样的问题。分类的重点在于预测组,“这是A还是B?”。回归则侧重于数量“结果的多少还是组别的多少”


8)特征选取


特征选取中辨认出数据中的哪些特征是和结果有关的。想像我们要辨认一种水果是苹果还是橙子,我们采用数据特征中的颜色和甜度作为水果的特征。一个特征选取算法可以缩小颜色范围作为有用的辨认,因为苹果和橙子都是甜的。


9)降维


降维需要获取数据,将维数降低了。这就像图像压缩,我们使用更少的信息显示相同的图像。想象我们有关于一次性叉子,刀和盘子销售的数据。降维可能会显示一列一次性餐具的销售情况。我们大概可以问“我销售数据中的关键模式是什么?”


10)群集


群集试图采集数据并将类似的观察数据自动组合在一起。 我们可以组织和处理数据成为几种类型的观察数据。 我们问“我是否有确切类型的客户,或者他们都是独一无二的?”


11)异常检测


异常检测回答观察数据是否属于数据集。 我们大约问道“这个温度读数是正常的还是不正常的?”重要的是,我们经常可以简化这个问题。 异常检测就像是“这是否正常?”的这样分类问题一样。


它们如何结合在一起?



我列出了常用数据科学问题。 每个问题都是与共同的数据科学技术协作的另一种改述。 问题是从最简单的答案到最困难排序的。


1) 记忆 -何人,何事,何地,或者事情是什么时候发生的?


我们通过使用SQL, R, Python等软件进行数据采集和操作来回答问题。

  • 某位用户用什么浏览器浏览这个网站?

我们发现在我们的数据中用户会使用SQL, R, 或Python来收集数据关于曾使用什么浏览器。

  • 那些用户是这么发现这个网站的?

我们发现在我们的数据中用户会使用SQL、R、或者Python语言软件来记录流量来源。


2) 理解 - 你可以总结出发生了什么吗?


我们通过整合或汇总数据回答这类问题。

  • 我的用户倾向于使用什么浏览器?

同样,通过使用SQL, R, or Python软件我们可以从浏览器数据结果中得出用户的数量。


3) 应用-当…时候发生了什么?


我们回答应用问题是需要用我们的结果来概括。假设检验,交叉验证和实验方法是确保归纳的技术。

  • 在太阳下照射的时间与植物的高度两者之间有关系吗?

这是一个回归问题,Y = f(X). Y代表植物的高度,f代表表示俘获关系的任意模型,X是植物的阳光照射时长。

  • 这个空调会在未来三年后会失效:是或否?

这是一个分类问题,Y = f(X). Y = {失败, 没有失败}. F 代表俘获关系的任意模型. X 是记录空调故障历史记录和相关特征的数据.

  • 这个图像是哪种动物?

这也是个分类问题,Y = f(x), 有时叫做 多类分类问题。Y = {狗,猫,马,其他}. f代表任意模型。数据, X,将图像编码成表格形式的图像。

  • 那位顾客会不会购买?

这是一个分类问题Y=f(X), Y = {买, 不买}. X是有关顾客购买习惯的数据。许多算法能够给你的概率归入一个特定的类。

  • 这是银行交易欺诈吗?

这是一个分类问题Y=f(x). Y = {欺诈,不欺诈}. X 是银行交易数据. 异常检测也可以解决这个问题。即使没有过去的数据来分辨伪劣标签,异常检测也可能会起作用,但这是一个困难的问题。


4) 分析-关键部分是哪些和它们的关系..?


回答并分析问题,你可以将数据打破并查找方式。特征选取,降维和群集是关键工具。

  • 最能预测电力需求是什么因素?

这是特征选择的回归问题,Y = f(X)。 Y =需要的电量。 f代表俘获您的数据和所需电力之间关系的任何模型。 X可能是价格,温度,季节,地区和诸多特征量。 我们需要找到最重要的因素来使用特征选择来减少不能预测电力需求的因素。

  • 苹果和橘子之间的主要差异是什么?

这是特征选取的分类问题,Y = f(X)。 Y = {苹果,橘子}。 f表示俘获数据关系的任何模型。 X具有诸如高度,重量,颜色,味道和韧性等许多特征。 特征选取找到区分苹果和橘子的最佳特征。

  • 我的暖通空调系统中的哪组传感器往往会随着(和反对)彼此而变化?

这是属于群集问题,因为我们将类似的传感器彼此组合。 我们使用传感器将数据组织为行和“读取时间”作为列。

  • 我的暖通空调系统中的什么传感器组合将最好地显示系统的整体健康状况?

这是降维问题。 我们收集了大量数据,并将其转化为一些关键的绩效指标。既然这样,我们组织数据关于不同的传感器作为不同的列。

  • 哪些观众喜欢同样的电影?

有点奇怪,因为我们尝试分组类似的用户和类似的电影。 这是典型的推荐引擎。 我们也可以编写一个更简单的应用程序,“这个用户会喜欢这组电影吗”甚至更简单的说“这个用户喜欢这部电影吗”?

  • 成功的CEO的共同点是什么?

起初这似乎属于分组问题。 但如果你在字里行间仔细分析就会得到关键的差异。 所有成功的CEO要吃饭,所有不成功的CEO也都要吃饭。 我们对预测成功的结果更感兴趣。


5) 评估 - 这是最好的途径吗?


如果需要回答“评估” 类问题,您需要将您的数据背景推断成复杂的假设情况下。

  • 我们可以通过不同的产品定价来更好地节约资金吗?

这可以归属于情景分析。 我们提出了几种定价方案,然后使用模型预测其影响。 这可能涉及到分类,回归和批判性思维。


6)创建 - 您可以预测在新条件下会发生什么事情吗?


 “创建”问题要求您创建新的最佳解决方案。

  • 我的送货车应该采取什么路线?

这是众所周知的优化问题。 主要标准是尽量减少花费在燃料上的资金,并同时及时交付所有物品。

  • 我们应该在哪里设置新的位置?

在这里,我们需要根据具体标准进行优化。简单的一项是利润最大化,但在现实中,需要更多的去考虑。编写优化是我们需要能够评估的位置。 这需要我们回到应用,分析和评估阶段。

  • 我应该把这个广告在网页上的何处,以便观众是最有可能点击它的?

您可以将其写为优化,但会有更好的选择。 在廉价的移动广告周围并看看它如何执行。 这意味着我们可以尝试,而不是提前做决定。 尝试定位广告和测试其有效性。 您甚至可以通过A / B测试或强化学习自动化此过程。


  • 我的自动冷却和加热系统是否应该将温度调节到更高,更低,还是保持不变?

这是强化学习应用非常好的领域。 您的冷却系统可以根据输入的数据进行调整,如电价,时间,您的偏好。


有一句话:“当我们有锤子时,一切都将被当作是钉子”。

这样是不行的。我们应该先问对问题。被我们使用的数据和工具搞的晕头转向,而使我们忘记了也许还可以解决更广泛的问题。


从简单到困难都是连续的数据问题,提出许多小问题,持续进步,最终会引导你获得从未想到的深刻见解。


原文链接:https://medium.com/towards-data-science/how-to-ask-questions-data-science-can-solve-e073d6a06236#.k7qe9lixw

阅读原文了解更多!


关于转载


如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

志愿者介绍

回复“志愿者”加入我们

往期精彩文章


点击图片阅读

爬虫还在用Python?我与Node.js不得不说的故事



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存