ImageQ大数据—如何解决一个问题像一个数据科学家(2)
发布时间:2016-08-26 14:51:10
发布时间:2016-08-26 14:51:10
原文作者:杰森Brownlee
在2010年,来自美国的数据科学家希拉里·梅森和克里斯·威金斯是最先提出了OSEMN的概念,并形容它是更有利于数据科学家分类和完善工作。
在今天的文章里,我们将通过数据的问题来仔细研究OSEMN的过程。
图片由 美国陆军RDECOM 版权
OSEMN读法与possum” 和 “awesome”相近,是一个缩写(即Obtain, Scrub, Explore, Model, and iNterpret),代表获取数据、清洗数据、探索数据、模型数据和解释数据等一系列过程。
这是一个数据科学家最为熟悉的工作清单流程。但是作者也指出,没有任何一名数据科学家是完全精通这些流程中所有项目的专家。
除了作为清单流程之外,在数据科学家用机器学习工具处理大数据时,OSEMN可以用作正在使用机器学习工具数据问题的计划蓝图。
从这个过程中,作者也指出,修改数据适用于“O”(获取数据)和“S”(擦洗数据),而机器学习适用于“E”(探索数据)和“M”(模型数据),而且数据科学需要的是所有原理的综合。
接下来,我们跟随作者的角度来了解具体OSEMN流程中的每项步骤的关键。
作者指出,数据收集中通过人工进行获取的效率及规模远远达不到需求,我们必须学会如何自动获取所需要的数据。
(人工获取是指对数据文件进行复制和粘贴。)
作者建议尝试采用一系列工具使用,然后选择出最适合手头的工作的工具。他们指出,unix命令行工具,SQL数据库、web抓取、Python 和shell scripts等脚本处理方式。
最后,作者指出,在API对于你的组织是内部的或者是公用的时,使用API来访问数据十分具有重要性, 通常数据存在于JSON和Python脚本语言就可以使数据检索容易得多。
通常我们获得的数据是十分混乱的。
真实的数据具有矛盾性、有的数据缺少价值或有的数据存在各种其他形式的缺失。 如果是从比较复杂的数据源获取数据,那么,它可能需要进行进一步清理。 甚至即时是干净的数据也可能需要后续处理来确保统一和一致性。
作者指出,数据清洗是处理数据问题工作中重要的一部分,良好的数据清洗可以帮助实现最优化的结果。
“一个干净数据的简单分析,将比杂乱和不规则数据的复杂分析更有效率”
作者建议使用部分比较有效且简单的命令行工具,如sed、awk、grep、Python和Perl脚本语言。
探索数据,在这种情况下指的是探索性数据分析。
探索性数据分析的主要特点是:
1.研究从原始数据入手,完全以实际数据为依据。
2.分析方法从实际出发,不以某种理论为依据。
3.分析工具简单直观,更易于普及。
列举对于探索数据几条可能有效的方法:
∙ 命令行工具等检查数据更多,更少,头,尾等等。
∙ 利用直方图来更简洁直观展示个人属性数据的分布规律
∙ 互相成对的直方图绘制属性,强调人际关系和离群值
∙ 降维还原法用于创建数据的低维图和模型
∙ 集群公开自然分组数据
对于一个给定的数据问题,模型精准度往往是终极目标。 这意味着大多数预测模型选择的滤波器模型。
(通常的“最佳”模型是最具预测性的模型)
通常我们的目标是使用一个模型预测和解释。 可定量评价预测,而解释是更温和和定性。
一个模型的预测精度可以通过如何评估它对于不可见的数据执行性来判断。 它可以使用交叉验证等方法来评估。
计算处理的目的是了解,而不是数字——理查德·汉明
举一个手写数字识别的例子。 他们指出,这个问题并没有一个理论模型的每一个数字,而是一种机制来区分数字。
这个例子强调了问题预测关注点与模型解释可能不是一样的。 事实上,他们甚至可能会互相冲突。 一个复杂模型可以更准确的预测,但项数的数目与数据的转换可以更好的帮助理解,为什么在领域差不多的情况下才能做出特定的预测。
模型的预测能力是由其泛化能力所决定的。 作者认为模型的解释能力是其有能力建议下一步要执行的实验。
作者指出,在选择一个模型来平衡预测和可解释性模型时有三个关键问题:
∙ 选择一个好的表示方法,因为你获得的数据的形式,大部分数据是混乱的。
∙ 选择好的特性,就是您所选择的数据模型的代表属性
∙ 选择一个好的假设空间,使得了这些模型和数据转变成你需要的。
在这篇文章中你会发现是希拉里·梅森和克里斯•威金斯提出的OSEMN的概念。
OSEMN代表获取,清洗,探索,模型,和解释。那么我们更进一步的通过以下这个图,来看怎么样才能做一个数据科学家?