0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

假设不懂数据科学,如何解决问题?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-10-10 09:09 次阅读

编者按:MIT博士、Salesforce前SVP、数据科学家Rama Ramakrishnan提醒,在从事数据科学项目时,养成首先创建基线的良好习惯,迅速交付价值,避免自我欺骗。

准备解决一个数据科学问题时,你可能很想单刀直入,直接开始创建模型。

别这么做。首先创建一个常识基线。

常识基线是指,假设你不懂数据科学,你会如何解决这个问题。假设你对监督学习、无监督学习、聚类、深度学习之类一无所知。现在问问你自己,如何解决手头的问题?

对于经验丰富的从业者而言,首先创建常识基线是常规操作。

他们会首先思考数据和问题,发展某种关于什么能使解决方案更好的直觉,以及考虑一些需要避免的地方。他们会和商业终端用户讨论,这些用户之前可能通过手工方式解决这个问题。

有经验的从业者会告诉你,常识基线不仅实现起来很简单,而且常常难以打败。即使数据科学模型确实战胜了这些基线,优势也可能很小。

直销邮件

让我们来看三个例子,从一个直销的例子开始。

你为一家服装零售商工作,手头有一个顾客数据库,其中包括了去年从你处买过东西的每个顾客的信息

你希望给一些顾客发邮件,宣传最新的春装,预算可以支持给数据库中的100000名顾客发送邮件。

你应该选择哪100000个呢?

你大概已经在打算创建一个训练集和一个测试集,并训练一些监督学习模型了。也许是随机森林或梯度提升。甚至是深度学习。

这些都是很强大的模型,你的工具箱也应该常备这些。但是,先问自己一个问题:“如果这些方法都不存在,我必须靠自己的小聪明解决这个问题,那么我该如何挑选出这100000个顾客?”

常识告诉你,应该选择那些最忠诚的顾客,毕竟,他们是最可能对邮件感兴趣的人。(不过,其实这个问题也可以从增量建模(Uplift Modeling)的角度考虑,可能不管你发不发邮件,最忠诚的顾客总是倾向于到你这儿买东西,反而是给不那么忠诚的顾客发邮件,增量更高。)

那么,你将如何衡量忠诚度呢?直观地说,忠诚顾客倾向于多购买,多花钱。所以你可以计算每位顾客去年在你那里花了多少钱,到你那里买过多少次东西?

如此计算之后,查看下结果,你会发现它很好地描述了忠诚度。但是你也注意到,这样会选中那些在上半年很忠诚、下半年“失踪”的客户。

通过查看顾客在你处的最近购买情况,可以修正这一问题。如果花费和购买频率相似,那么昨天在你处买东西的顾客,价值比11个月前购买过的顾客要高。

总结一下,你为每位顾客计算:

过去12个月在你处的花销

过去12个月在你处发生的交易数量

上一次交易到现在有几周

你可以基于上面的三个测度排序顾客列表:

测度转换为10分制(十分位)

选中其中的前100000名顾客。

恭喜!你刚刚发现的是价值很高的RFM(Recency-Frequency-Monetary)启发式算法,直销领域久经考验的主力算法。

万一你好奇R、F、M中哪个最重要,据研究R最重要。

RFM方法易于创建,易于解释,易于使用。最妙的是,它出人意料地有效。有经验的直销从业者会告诉你,即使当更复杂的模型战胜RFM的时候,两者之间的差距也比你想象的要小得多,让你怀疑是否有必要构建复杂模型。

推荐系统

接下来,我们来看一个推荐系统的例子。

你工作的服装零售商有一家电商网站,需要你创建产品推荐区域,该区域将显示在首页上。

服装推荐需要个性化——如果访问者之前访问过你的站点,你需要基于历史数据推荐符合他们口味的商品

有些书整本都在讨论这一主题,而GitHub上也有许多专门为此开发的库。你是不是应该直接开始应用矩阵分解(点击阅读)?

到了一定时候你大概应该尝试下矩阵分解,但刚开始你不应该直接应用矩阵分解。你首先应该创建一个常识基线。

向访问者展示相关商品的最简单的方案是什么?

畅销商品!

是的,它们并不是个性化的。但是畅销商品之所以是畅销商品,正是因为有足够的访问者购买了它们。所以从这个意义上说,很大可能至少相当一部分访问者会对这些商品感兴趣,即使这些商品并不是根据访问者的兴趣定制的。

此外,不管怎么说,你都需要准备好显示畅销商品,毕竟你需要向没有数据的初次访问者展示一些东西。

选中畅销商品很简单。确定一个时间窗口(最近24小时、最近7天、……),确定一项测度(利润、访问量、……),确定计算周期(每小时、每日、……),编写查询请求并加以自动化。

并且你可以调整这一基线,稍稍加上一点个性化。比如说,如果记住了访问者上次访问站点浏览的商品类别,那么你可以直接从这一具体类别中选出畅销商品(而不是选出所有类别的畅销商品),在推荐区域展示。例如,上次访问时浏览过女装类别的访问者,可以向她展示畅销女装。

需要澄清的是,上面描述的“调整”涉及开发工作,因为你需要“记住”不同访问会话的信息。但是,如果你计划创建、交付基于模型的个性化推荐,那么这些收集信息的开发工作是免不了的。

定价优化

最后一个例子是零售定价优化。

作为一个服装零售商,你贩卖季节性商品——例如,毛衣——在季节末,需要清库存,以便为下一季的商品留出空间。服装业对此的标准做法是减价促销。

如果折扣太小,最后时刻你将不得不以废品回收的价格出清积压的季节性商品。如果折扣太大,季节性商品会很快售罄,但是你损失了赚取更多金钱的机会。

在服装行业,平衡这两者的艺术称为清仓优化或减价优化。

有大量关于如何使用数据科学技术建模和求解这一问题的文献(例如,牛津价格管理手册的第25章,利益申明:这书是我写的)。但是让我们首先考虑下如何创建一个常识基线。

想象一下,手头有100单位的毛衣,这一季还有4周。每周可以调一次价,也就是说你有4次出手调整的机会。

你应该从本周就开始减价吗?

好吧,首先考虑下,你觉得如果维持价格不变,下面4周可以卖掉多少单位毛衣?

我们如何估计这一数值?最简单的做法是看看上一周卖了多少。

假定上一周卖了15单位。如果接下来4周和上一周情况差不多,那么我们将卖出60单位,到了季节末会积压40单位。

不妙。明显需要减价。

零售商有时使用折扣阶梯,八折、七折、六折……最简单的做法是首先迈上折扣阶梯的第一阶,也就是下周开始八折促销。

快进一周。比方说卖掉了20单位,剩下80单位和3周。假设剩下3周维持相同的卖出率(例如,20单位每周),总共将卖出60单位,季节末仍将积压20单位。所以你需要在折扣阶梯上往下走一阶,下周开始增加促销力度,改为七折出售。

以此类推,在每周重复以上策略,直到季节末。

取决于卖出率对折扣的响应程度,不同的商品可能遵循不同的折扣路径。比如,相比下图中的商品A,商品B需要更大力度的折扣刺激。

这一常识基线可以通过非常简单的if-then逻辑实现。和上面的个性化推荐例子一样,我们也可加以调整(例如,之前我们直接使用上一周的销售单位数“预测”未来几周的销售量,但是我们也可以转而使用前几周的平均销售量)。

搞定了基线之后,你可以勇往直前,释放数据科学的全部火力。但是不管你做了什么,都需要将所得结果与基线进行比较,从而精确地评估工作的回报。

结语

在很多问题上,古老的二八法则仍然适用。常识基线经常能够让你以很快的速度取得80%的价值。

随着越来越多数据科学技术的应用,你将看到更高的价值,但价值增长的速度越来越慢。取决于具体情况,你当然可以决定使用一个复杂方案榨取最后一点价值。不过你应该在很清楚增加的成本和收益的前提下才这么做。

常识基线能从根本上保护你避免理查德·费曼提到的著名危险:

首要原则是,你千万不能愚弄自己,最容易被愚弄的人是你自己。

创建数据科学模型可能是一个非常享受的过程,你很容易哄骗自己,你所创建的复杂、倾注了很多心血、精心调整的模型(从成本/收益角度上而言)更好,而实际上并没有那么好。

常识基线能够迅速交付价值,也能避免自我欺骗。请养成首先创建基线的好习惯。

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

    关注

    73

    文章

    5463

    浏览量

    120881
  • 数据科学
    +关注

    关注

    0

    文章

    164

    浏览量

    10039

原文标题:数据科学项目的第一步:创建常识基线

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [4.1]--4.1数据科学流程(1)

    数据科学
    jf_75936199
    发布于 :2023年04月05日 00:33:44

    [4.2]--4.2数据科学流程(2)

    数据科学
    jf_75936199
    发布于 :2023年04月05日 00:35:23

    [5.1]--5.1数据科学技术体系框架

    数据科学
    jf_75936199
    发布于 :2023年04月05日 00:37:14

    Python数据科学速查表

    Python数据科学速查表
    发表于 11-25 21:18

    思考驱动创新,创新驱动发展:基于假设(Assumption)的思考技术

    的推理能力,以战术,来支撑战略。【本文內容】1. 创新的源头:假设(Assumption)&假定(Hypothesis) 无论在商业决策上、产品设计方面或科学技术上,假设性的想法,都扮演非常重要
    发表于 12-21 10:23

    如何培养<龍傳人>的科学创新思考技术

    前言我提出一项假设科学创新能力式微的原因是:缺乏假设性思考习惯。于是提出一项激发创新的策略:推广溯因推理(Abductive),培养下一代习惯于假设性思维。
    发表于 12-28 09:45

    S32K144 lpuart1收不到slave IC的响应数据何解决?

    大家好,我使用 S32K144 LPUART1 模块通过 CAN 收发器向从 IC 发送控制命令,从 IC 响应数据到 MCU,MCU 无法接收响应数据(0x7A,0XC7 和 0x81),我按照演示项目配置 lpuart,但是测试结果是一样的。我不知道原因以及如
    发表于 03-21 06:32

    基于椭圆假设的电子罗盘误差补偿方法

    研究了一种智能电子罗盘的误差补偿问题。把误差的形成过程假设为从圆到椭圆的变化过程(椭圆假设) ,其逆过程就是误差补偿的过程。研究了基于椭圆假设求解误差系数算法和误差
    发表于 06-22 11:55 41次下载

    编程能力是一种解决问题的能力

    编程能力是一种解决问题的能力。如果问题没能被很好地解决,知道再多也没用。 编程能力是一种运用机器解决问题的能力。首先是要判断问题在什么程度上可被机器解决,比如理论计算机科学会告诉我们什么可做
    发表于 10-12 10:52 0次下载

    10年后,数据科学家会像当年的网管一样,成为历史吗?

    3年后,更高级别的工具将越来越多地减少对基础技术的专业知识的要求。这些工具的不仅简化了数据科学家的工作流程、提升了工作效率,更重要的是降低了入行门槛,及时没学过数据科学的人,
    的头像 发表于 03-05 08:45 2598次阅读

    什么是科学假设?什么是统计假设?什么又是机器学习假设呢?

    说的专业些,这个叫做函数逼近。就是说我们想找到一个接近于我们目标函数(我们假设它存在)的方程,可以满足在问题定义域里所有观测结果都可以从输入映射到输出结果。
    的头像 发表于 03-16 10:02 7734次阅读

    什么是数据科学数据科学的入门教程说明

    本文档的主要内容详细介绍的是什么是数据科学数据科学的入门教程说明
    发表于 04-10 08:00 1次下载
    什么是<b class='flag-5'>数据</b><b class='flag-5'>科学</b>?<b class='flag-5'>数据</b><b class='flag-5'>科学</b>的入门教程说明

    企业如何解数据科学家短缺详细方法什么

     随着企业以数据为中心的文化,以做出决策和规划,数据科学家对全球企业的重要性日益增加。但是企业无法足够快地聘请数据科学家,因为合格候选人仍然
    的头像 发表于 04-18 10:31 3438次阅读

    假设检验|第六章:原假设和备择假设

    从t检验到回归分析,甚至是DOE中,大家都可以看到P值的身影。P值对于很多朋友来说,可以说是又爱又恨。而在我看来,要想准确地使用P值,我们首先要理解两个概念:原假设和备择假设。 P值与原假设 利用
    的头像 发表于 11-07 15:44 3916次阅读

    傅里叶变换有多伟大?傅里叶变换告诉我们如何解决问题

    傅里叶变换有多伟大?傅里叶变换告诉我们如何解决问题  傅里叶变换是一种数学工具,它可以将一个函数分解成一系列振幅和相位的频率,这些频率在某些领域 (如信号处理、图像处理和物理学等)中被广泛
    的头像 发表于 09-07 16:14 849次阅读