数据科学家遇到的常见挑战及方法

电子说

1.3w人已加入

描述

作为数据科学家,我在很多公司工作过,也遇到了很多问题和挑战。事实上,很多人都会经历这些挑战,就不同情况而言,也会有多种可行的解决方案。我将谈谈我曾面临的一些最常见或最困难的挑战。

业务问题描述不当

只要有一个工作人员出错,你就会面临这个挑战。数据科学专家的主要工作之一就是做业务问题描述——这也就是起初使用数据科学的原因。

实际上,多数情况下描述不是某个数据科学专家自己,而是整个团队。团队里通常包括利益相关者,比如产品经理。但是,团队内可能出现技术脱节,任一方都可能对业务问题描述不当。

产品经理可能会说:“我们要提更多建议,大家才能买的更多”,而数据科学专家可能会说:“向大家推荐产品的时候,超过80%的情况下我们要有95%的把握。”

这两种问题描述总体来讲都很好,但都不够细化,或者只是勾勒出了问题的轮廓。问题描述是要从中找出解决方案,但是本身并不是解决方案。

以下是一个更好的业务问题描述问题的例子:“顾客平均每个订单只买一件东西”。

就是这么简单。一开始双方都想方设法将描述复杂化,但现在这样更高效。虽然没有解决方案,但人人都能看懂这种直接、通俗易懂的描述。

示例描述说明一件东西不够,那么解决方案可能就是如何让顾客更可能买一件以上的东西。一种数据科学解决方案就是使用机器学习推荐系统。在工作中不要好高骛远,而要专注于眼下的实际问题,这很重要。

数据失衡

任何真正与数据打交道的人大多都会遇到数据失衡的问题。比如,遇到分类问题时使用逻辑回归给新数据赋值0或1。目标变量预计0和1各占50%的可能。然而,结果完全出乎预料。

如果试着将一种新动物归类为狗或者猫,就需要猫狗各1000列的训练数据。这样,模型才足够辨别二者的不同之处。如果训练数据中猫有1900只,狗只有100只,那么就可能产生误解,认为多数新动物都是猫,这是个很常见的问题。

可能的解决方案是使用其他补强少数部分的机器学习算法,或者创建新的综合数据。有一种技术叫不均衡学习(imbalanced-learn),可以采用下列具体方法进行过采样:

ADASYN算法(Adaptive Synthetic,自适应综合过采样)

BorderlineSMOTE算法

KMeansSMOTE算法

RandomOverSampler算法

SMOTNC算法

SVMSMOTE算法(Nominal andContinuous)

这些过采样方法都非常有效,而且能解决数据不均衡问题。还有很多方法,比如欠采样、二者相结合、组合法、Keras和TensorFlow的批量生成器。下面是过采样操作的示例:

画一幅二维视图

绘制已知数据点

选择一个已知点

找出最邻近点

在邻近点与原始数据点之间画一条线

然后随机将大头针丢在这些线上

这就是新合成的过采样数据

像RandomForest之类的一些机器算法函数库的参数要指定均衡数据也很简单。

过拟合

构建的数据科学模型将训练数据解析的太透彻就会出现过拟合问题。模型接收了训练数据中的详细信息,也包括数据中的噪音,所以过于具体,而这在预测新的真实数据时是无用的,结果模型就无法做出正确推断和归纳。模型的目的是处理好未见过的数据,所以要想办法找到能处理好新数据的解决办法并付诸使用。

交叉验证

移除重复或相似特点

及早停止

正则化

集成法

非参数机器学习算法

使用更多数据训练

特征不足

制定业务问题描述之后,通常还需要开始寻找数据,然后形成自己的特点,输入到数据科学模型中作为训练数据。对公司数据表了解的越多,就会发现还可以以其它纵列为新特征。不过,一开始特征有限的问题还有另一种解决办法。

构建当前度量的统计数据。例如,一般具有“每位用户点击量”特征,就会停止。但也可以从如下某一纵列中创建新的度量:

每位用户的平均点击量

每位用户的众数点击量

每位用户75%百分位数点击量

还有很多不同方式来描述该特征的范围。

版本控制

数据科学家非常习惯独自工作,喜欢对同一个重点项目创建20个不同版本的Jupyter Notebook。我们约定好了命名,但第二天就忘记了。然后,一切变得一团糟。但其实还有更好的方式——那就是Git和GitHub。

Git

GitHub

如果数量较少的话,还有其它自制办法,比如用特殊数字方法(例:Notebook1,Notebook2)创建新版本。

这些工具可以通过创建区别于主干/代码库的独立分支,帮你形成自己的代码变化。然后就可以创建一个拉取请求来比较代码变化,在获得他人认可后并入原件。如此一来,你就不仅是在创建代码评审,而且还允许大家注意到并更加了解你的特定代码。

如你所见,数据科学家会面临很多挑战,我所谈到的只是冰山一角。但这些问题是我经历最多的,我认为应该重点讨论的。希望我的方法能帮你顺利解决这些问题。
责编AJX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分