面试干货!21个必知数据科学面试题和答案part2(12-21)

本文为数盟原创译文,欢迎转载,注明出处“数盟社区”即可

这里是第二部分,就从我给大家准备的“特别提问”开始吧。

作者 Gregory Piatetsky, KDnuggets.

 

特别提问:解释什么是过拟合,你如何控制它

这个问题不是20问里面的,但是可能是最关键的一问来帮助你分辨真假数据科学家!

回答者:Gregory Piatetsky

 

过拟合是指(机器)学习到了因偶然造成并且不能被后续研究复制的的虚假结果。

 

我们经常看到报纸上的报道推翻之前的研究发现,像鸡蛋不再对你的健康有害,或饱和脂肪与心脏病无关。这个问题在我们看来是很多研究人员,特别是社会科学或医学领域的,经常犯下的数据挖掘的基本错误——过度拟合数据。

 

研究人员了测试太多假设而没有适当的统计控制,所以他们会碰巧发现一些有趣的事情和报告。不足为奇的是,下一次的效果,由于(至少一部分是)偶然原因,将不再明显或不存在。

 

这些研究实践缺陷被确定,由约翰·p·a·埃尼迪斯的在他的里程碑式的论文《为什么大多数发表的研究成果是错误的》(《公共科学图书馆·医学》杂志,2005年)中发表出来。埃尼迪斯发现,结果往往是被夸大的或不能被复制。在他的论文中,他提出了统计证据,事实上大多数声称的研究成果都是虚假的。

 

埃尼迪斯指出,为了使研究结果是可靠的,它应该有:

大型的样本和大量的结果

测试关系的数量更多,选择更少

在设计,定义,结果和分析模式几个方面有更大的灵活性

最小化偏差,依资金预算和其他因素考量(包括该科学领域的普及程度)

 

不幸的是,这些规则常常被违反,导致了很多不能再现的结果。例如,标准普尔500指数被发现与孟加拉国的黄油生产密切相关(从1981年至1993年)(这里是PDF)

面试干货!21个必知数据科学面试题和答案part2(12-21)_第1张图片

若想看到更多有趣的(包括完全虚假)的结果,您可以使用一些工具,如谷歌的correlate或Tyler Vigen的Spurious correlations。

 

可以使用几种方法来避免数据过拟合

试着寻找最简单的假设

正规化(为复杂性添加一种处罚)

随机测试(使变量随机化,在这个数据上试试你的方法——如果它发现完全相同的结果,肯定有哪里出错了)

嵌套交叉验证(在某种程度上做特征选择,然后在交叉验证外层运行整个方法)

调整错误发现率

使用2015年提出的一个突破方法——可重复使用的保持法

好的数据科学是对世界理解的前沿科学,数据科学家的责任是避免过度拟合数据,并教育公众和媒体关于错误数据分析的危险性。

 

另请参阅

数据挖掘和数据科学的大缺陷:过度拟合

一个避免过度拟合的超级想法: 在自适应数据分析中可重复使用的保持法

可重复使用的保持法克服过度拟合:保护自适应数据分析的有效性

11种过度拟合的“聪明方法”以及如何避免它们

标签:过度拟合

 

Q12. 举例说明如何使用实验设计回答有关用户行为的问题。

回答者:Bhavya Geethika. 

步骤1.制定研究问题

页面加载时间对用户满意度评级的影响有哪些?

 

步骤2.确定变量

我们确定原因和结果。独立变量——页面加载时间,非独立变量——用户满意评级

 

步骤3.生成假说

减少页面下载时间能够影响到用户对一个网页的满意度评级。在这里,我们分析的因素是页面加载时间。

图12.一个有缺陷的实验设计(漫画)

 

步骤4.确定实验设计

我们考量实验的复杂性,也就是说改变一个因素或多个因素,同时在这种情况下,我们用阶乘设计(2^k设计)。选择设计也是基于目标的类型(比较、筛选、响应面)和许多其他因素。

在这里我们也确定包含参与者/参与者之间及二者混合模型。如,有两个版本的页面,一个版本的购买按钮(行动呼吁)在左边,另一个版本的在右边。

包含参与者设计——所有用户组看到两个版本

参与者之间设计——一组用户看到版本A,娶她用户组看到版本B。

 

步骤5.开发实验任务和过程:

详细描述实验的步骤、用于测量用户行为的工具,并制定目标和成功标准。收集有关用户参与度的定性数据,以便统计分析。

 

步骤6.确定操作步骤和测量标准

操作:一个因素的级别将被控制,其他的将用于操作,我们还要确定行为上的标准:

在提示和行为发生之间的持续时间(用户点击购买了产品花了多长时间)。

频率-行为发生的次数(用户点击次数的一个给定的页面在一个时间)

持续-特定行为持续时间(添加所有产品的时间)

程度-行为发生时的强烈的冲动(用户购买商品有多快)

 

步骤7:分析结果

识别用户行为数据,假说成立,或根据观察结果反驳例子:用户满意度评级与页面加载时间的比重是多少。

 

Q13“长”数据和“宽”数据有什么不同之处?

回答者:Gregory Piatetsky

在大多数数据挖掘/数据科学应用记录(行)比特性(列)更多——这些数据有时被称为“高”(或“长”)的数据。

 

在某些应用程序中,如基因组学和生物信息学,你可能只有一个小数量的记录(病人),如100,或许是20000为每个病人的观察。为了“高”工作数据的标准方法将导致过度拟合数据,所以需要特殊的方法。

面试干货!21个必知数据科学面试题和答案part2(12-21)_第2张图片

图13.对于高数据和宽数据不同的方法,与表示稀疏筛查确切数据简化,by Jieping Ye。

问题不仅仅是重塑数据(这里是有用的R包),还要避免假阳性,通过减少特征找到最相关的数据。

套索等方法减少特性和稀疏覆盖在统计学习:套索和概括,由Hastie Tibshirani,Wainwright。(你可以免费下载PDF的书)索等方法减少特性,在“统计学习稀疏”中很好地包含了:《套索和概括》by Hastie, Tibshirani, and Wainwright(你可以免费下载PDF的书)

 

 

Q14你用什么方法确定一篇文章(比如报纸上的)中公布的统计数字是错误的或者是为了支持作者观点,而不是关于某主题正确全面的事实信息?

一个简单的规则,由Zack Lipton建议的:如果一些统计数据发表在报纸上,那么它们是错的。这里有一个更严重的答案,来自Anmol Rajpurohit:每一个媒体组织都有目标受众。这个选择很大地影响着决策,如这篇文章的发布、如何缩写一篇文章,一篇文章强调的哪一部分,如何叙述一个给定的事件等。

确定发表任何文章统计的有效性,第一个步骤是检查出版机构和它的目标受众。即使是相同的新闻涉及的统计数据,你会注意到它的出版非常不同,在福克斯新闻、《华尔街日报》、ACM/IEEE期刊都不一样。因此,数据科学家很聪明的知道在哪里获取消息(以及从来源来判断事件的可信度!)。

面试干货!21个必知数据科学面试题和答案part2(12-21)_第3张图片

图14a:福克斯新闻上的一个误导性条形图的例子

面试干货!21个必知数据科学面试题和答案part2(12-21)_第4张图片

图14b:如何客观地呈现相同的数据 来自5 Ways to Avoid Being Fooled By Statistics

作者经常试图隐藏他们研究中的不足,通过精明的讲故事和省略重要细节,跳到提出诱人的错误见解。因此,用拇指法则确定文章包含误导统计推断,就是检查这篇文章是否包含了统计方法,和统计方法相关的选择上的细节限制。找一些关键词如“样本”“误差”等等。虽然关于什么样的样本大小或误差是合适的没有完美的答案,但这些属性一定要在阅读结果的时候牢记。

 

首先,一篇可靠的文章必须没有任何未经证实的主张。所有的观点必须有过去的研究的支持。否则,必须明确将其区分为“意见”,而不是一个观点。其次,仅仅因为一篇文章是著名的研究论文,并不意味着它是使用适当的研究方向的论文。这可以通过阅读这些称为研究论文“全部”,和独立判断他们的相关文章来验证。最后,虽然最终结果可能看起来是最有趣的部分,但是通常是致命地跳过了细节研究方法(和发现错误、偏差等)。

 

理想情况下,我希望所有这类文章都发表他们的基础研究数据方法。这样,文章可以实现真正的可信,每个人都可以自由分析数据和应用研究方法,自己得出结果。

 

Q15解释Edward Tufte“图表垃圾”的概念。

回答者:Gregory Piatetsky

图标垃圾指的是所有的图表和图形视觉元素没有充分理解表示在图上的信息,或者没有引起观看者对这个信息的注意。

图标垃圾这个术语是由Edward Tufte在他1983年的书《定量信息的视觉显示》里提出的。

面试干货!21个必知数据科学面试题和答案part2(12-21)_第5张图片

图15所示。Tufte写道:“一种无意的Necker错觉,两个平面翻转到前面。一些金字塔隐藏其他;一个变量(愚蠢的金字塔的堆叠深度)没有标签或规模。”

面试干货!21个必知数据科学面试题和答案part2(12-21)_第6张图片

图标垃圾的更现代的例子,很难理解excel使用者画出的柱状图,因为“工人”和“起重机”掩盖了他们。

这种装饰的问题是,他们迫使读者更加困难而非必要地去发现数据的含义。

 

Q16你会如何筛查异常值?如果发现它会怎样处理?

回答者:Bhavya Geethika.

筛选异常值的方法有z-scores, modified z-score, box plots, Grubb’s test,Tietjen-Moore测试指数平滑法,Kimber测试指数分布和移动窗口滤波算法。然而比较详细的两个方法是:
Inter Quartile Range
An outlier is a point of data that lies over 1.5 IQRs below the first quartile (Q1) or above third quartile (Q3) in a given data set.

  • High = (Q3) + 1.5 IQR
  • Low = (Q1) – 1.5 IQR

Tukey Method

It uses interquartile range to filter very large or very small numbers. It is practically the same method as above except that it uses the concept of “fences”. The two values of fences are:

  • Low outliers = Q1 – 1.5(Q3 – Q1) = Q1 – 1.5(IQR)
  • High outliers = Q3 + 1.5(Q3 – Q1) = Q3 + 1.5(IQR)

在这个区域外的任何值都是异常值

当你发现异常值时,你不应该不对它进行一个定性评估就删除它,因为这样你改变了数据,使其不再纯粹。重要的是要在理解分析的背景下或者说重要的是“为什么的问题——为什么异常值不同于其他数据点?”

这个原因是至关重要的。如果归因于异常值错误,你可能把它排除,但如果他们意味着一种新趋势、模式或显示一个有价值的深度数据,你应该保留它。

 

 

Q17如何使用极值理论、蒙特卡洛模拟或其他数学统计(或别的什么)正确估计非常罕见事件的可能性?

回答者:Matthew Mayo.

极值理论(EVT)侧重于罕见的事件和极端,而不是经典的统计方法,集中的平均行为。EVT的州有3种分布模型的极端数据点所需要的一组随机观察一些地理分布:Gumble,f,和威布尔分布,也称为极值分布(EVD)1、2和3分别。

EVT的状态,如果你从一个给定的生成N数据集分布,然后创建一个新的数据集只包含这些N的最大值的数据集,这种新的数据集只会准确地描述了EVD分布之一:耿贝尔,f,或者威布尔。广义极值分布(GEV),然后,一个模型结合3 EVT模型以及EVD模型。

知道模型用于建模数据,我们可以使用模型来适应数据,然后评估。一旦发现最好的拟合模型,分析其执行,包括计算的可能性。

 

Q18推荐引擎是什么?它如何工作?

回答者:Gregory Piatetsky

现在我们很熟悉Netflix——“你可能感兴趣的电影”或亚马逊——购买了X产品的客户还购买了Y的推荐。

你可能感兴趣的电影

这样的系统被称为推荐引擎或广泛推荐系统。

他们通常以下两种方式之一产生推荐:使用协作或基于内容的过滤。

基于用户的协同过滤方法构建一个模型过去的行为(以前购买物品,电影观看和评级等)并使用当前和其他用户所做的决定。然后使用这个模型来预测(或评级)用户可能感兴趣的项目。

基于内容的过滤方法使用一个项目的特点推荐额外的具有类似属性的物品。这些方法往往结合混合推荐系统。

这是一个比较,当这两种方法用于两个流行音乐推荐系统——Last.fm 和 Pandora Radio。(以系统推荐条目为例)

Last.fm创建一个“站”推荐的歌曲通过观察乐队和个人定期跟踪用户听和比较这些听其他用户的行为。最后一次。fm会跟踪不出现在用户的图书馆,但通常是由其他有相似兴趣的用户。这种方法充分利用了用户的行为,它是一个协同过滤技术。

Pandora用一首歌的属性或艺术家(400年的一个子集属性提供的音乐基因工程)以设定具有类似属性的“站”,播放音乐。用户的反馈用来提炼的结果,排除用户“不喜欢”特定的歌曲的某些属性和强调用户“喜欢”的歌的其他属性。这是一个基于内容的方法。

这里有一些很好的介绍Introduction to Recommendation Engines by Dataconomy 和an overview of building a Collaborative Filtering Recommendation Engine by Toptal。关于推荐系统的最新研究,点击ACM RecSys会议。

 

Q19解释什么是假阳性和假阴性。为什么区分它们非常重要?

回答者:Gregory Piatetsky

在二进制分类(或医疗测试)中,假阳性是当一个算法(或测试)满足的条件,在现实中不满足。假阴性是当一个算法(或测试)表明不满足一个条件,但实际上它是存在的。

在统计中,假设检验出假阳性,也被称为第一类误差和假阴性- II型错误。

区分和治疗不同的假阳性和假阴性显然是非常重要的,因为这些错误的成本不一样。

例如,如果一个测试测出严重疾病是假阳性(测试说有疾病,但人是健康的),然后通过一个额外的测试将会确定正确的诊断。然而,如果测试结果是假阴性(测试说健康,但是人有疾病),然后患者可能会因此死去。

 

Q20你使用什么工具进行可视化?你对Tableau/R/SAS(用来作图)有何看法?如何有效地在一幅图表(或一个视频)中表示五个维度?

回答者:Gregory Piatetsky

有很多优秀的数据可视化工具。R,Python,Tableau和Excel数据科学家是最常用的。

这里是有用的KDnuggets资源:

可视化和数据挖掘软件

Python可视化工具的概述

21个基本数据可视化工具

前30名的社交网络分析和可视化工具

标签:数据可视化

有很多方法可以比二维图更好。第三维度可以显示一个三维散点图,可以旋转。您可以操控颜色、材质、形状、大小。动画可以有效地用于显示时间维度(随时间变化)。

这是一个很好的例子。

面试干货!21个必知数据科学面试题和答案part2(12-21)_第7张图片

图20:五维虹膜数据的散点图,尺寸:花萼长度;颜色:萼片宽;形状:类;x-column:花瓣长度;y-column:花瓣宽度。

从5个以上的维度,一种方法是平行坐标,由Alfred Inselberg首先提出。

图20 b:平行坐标里的虹膜数据

另请参阅

Quora:高维数据可视化的最好方法是什么?

乔治·格林斯和他的同事们在High-Dimensional Visualizations 的开创性工作。

当然,当你有很多的维度的时候,最好是先减少维度或特征。

原文链接:http://www.kdnuggets.com/2016/02/21-data-science-interview-questions-answers-part2.html

你可能感兴趣的:(面试干货!21个必知数据科学面试题和答案part2(12-21))