【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

以什么姿势进入 DataMining 会少走弯路?

  • 2016-05-11
  • 本文字数:3067 字

    阅读完需:约 10 分钟

  • 画外音:看过身边花 1w+ 大洋报培训班,周末夜里坚持学习的同学;面过硕士、博士甚至留学交换生,但结果总不尽如人意;现如今堪比前端一样浑浊的算法领域,让人担忧。

  • 承认一点,每个人都在进步,每个人都走过弯路,曾几某时,自己也一腔热血的写过一篇文章,后来分享了出来 “神爱众人,于是带来 Python” 。目前来看,那篇文章写得并不好,感兴趣的可以去看看。

  • 前不久,给公司同事做算法培训时候,说了自己在算法领域的四点信仰,可以和看官一起分享:

信仰 1:不以具体业务场景出发,不考虑大数据并发实现的数据挖掘,都在耍流氓;

信仰 2:知其然,晓其所以然,万变不离其宗,必定变化莫测,这正是算法魅力;

信仰 3:在 DataMining 领域,不做两种人。一种是工具人,一种是研究者;

信仰 4:拥有健康、丰满的数据,业务场景建模已经成功 90% 以上了;

  • 余下的内容,也将对上面四点分别做阐述,附带案例说明:

学会考虑业务场景建模,多思考大数据并发下的实现:

案例 1:一些网络授课,每当提起分类算法,最常用的典型二分类是男性和女性判别

a. 普遍的讲解流程,介绍各种分类算法,DT、LR、NB 和 SVM等等;
b. 接下来,考虑用户一些基础的网站行为数据,平均访问时长、nick、浏览 page、每日 pv 等等;
c. 最后,带入数据,套用模型,个别还会考虑清洗数据,一切就 Over

一堂简单网络授课,也许不能面面俱到,

但也绝对不能错误的引导 DM(数据挖掘)的核心要领。比如:

让学习者认为算法是整个数据挖掘的核心?数据挖掘就是随便找到数据套用模型,甚至工具包就 OK 了?

很多很多不恰当的思想灌输,正是让现如今算法行业鱼龙混杂,我也不是批判者,也不是熬鸡汤人。我会这样简单去介绍,二分类场景下的男性和女性判别:

Step1:Where 在哪个行业下的用户性别判断的场景需求?(比如:电商行业)

Step2:Why 需要去分析用户性别?(现如今,在资金有限的情况下 [广告费,站外流量和短信等等],精准化营销的需求越来越强烈,同时用户体验也会是至关重要,如何做到千人千面?如何提高整个平台,或者商家店铺的成交转化率、用户回购率和用户粘度?甚至如何给每个用户展示他所想看到的宝贝详情页?这些的这些,都是需要对用户,乃至店铺、商品和品牌进行画像,构建标签体系,其中就包括用户性别!)

Step3:What 如何去分析用户性别?(在数据挖掘中,特征选取不当,模型构建不当,都会容易引起 **[欠拟合] 和 [过拟合],因此在电商行业的用户性别分析,首先明确一个概念区别(用户网站性别和用户线下性别),顾名思义,一个是用户真实性别,一个是用户在网站的行为性别,而真正对我们有意义的,当然是后者。因此,在考虑用户性别分析特征时,核心要素是考虑用户在平台购买过的类目行为(每款商品在设计之初,都会明确目标群体)。
但是,毕竟会存在
很多用户是新用户 **,这也正是模型的冷启动问题。如果你认为算法是最厉害的,到这里,你会无能为力;但如果你够了解业务,了解数据,你会观察到用户的收货姓名(但,注意,经验表明,每一个电商购物用户,都可能会存在多个收货姓名 ? 甚至存在非姓名的收货姓名?剩下深入的细节,需要建模之处进行合理把控的)

Step4:When 什么时候去分析用户?(通过上面的分析,想必已经够清楚了,模型构建一定要场景化,也必然场景细分,也有就用户细分!这里主要分三类,a. 新用户,b. 购买行为数在一定范围内?c. 高频购买行为用户?

Step5:How 去分析用户性别?(整个二分类场景,模型被我放在最后,希望学习数据挖掘的同学,对于业务和算法的分量,要在心目中有分寸。这里会考虑冷启动模型、分类算法(比如朴素贝叶斯)和符号模型的组合。这里灌输一个思想:模型 != 单算法,而是由多算法 + 一系列规则逻辑组合而成)

[总结]:一堂课程,还是花了很多培训费,即使不能阐述太多,但我想,如果通过上述方式,会不会更恰当呢?

案例 2:很多学者不考虑大数据并发的实现,玩习惯性的单机版时间久了,很难走出这道坎。比如很多人用协同过滤,考虑过大数据量下大矩阵相乘的实现?

知其然,晓其所以然,万变不离其宗,必定变化莫测:

案例 3:很多使用算法,甚至数据清洗方式的同学,更多是将知道的方法组合在一起,认为这就是数据挖掘?

我想,这也许还是

网络课程给学习者带来的诟病吧!

因为课程上已经千篇一律的讲述了数据挖掘的流程体系,所以学习者都会这样做:
a. 业务场景需求出现:不假思索就采取能想到的特征变量;
b. 不考虑数据清洗,不考虑归一化,无量纲化处理,甚至异常和缺失值,就直接进入模型;
c. 不了解具体某一个算法的原理性,一味的用各种工具包,甚至扯上了 Spark,R,Mahout 和 python 等等,输入数据就 OK 了;
…很多很多,毕竟我不是批判者,我只是希望大家能够做一件正确的事,再正确做好这件事!

如果换做我,我会这样思考!

Step1:业务需求出现时,多向专业运营人员了解业务背景,结合自己理解,确定初步的特征变量,观察数据分布;

Step2:考虑异常值和缺失值处理(这些都是观察数据找到的思路),甚至结合数据分布,采取合适的无量纲化处理方式, 甚至一定程度上降维;

Step3:结合业务场景建模,用户群体细分,确定模型选择,以及所选算法,比如 NB(朴素贝叶斯)。

Step4:需要深入了解朴素贝叶斯的原理,知道优势和不足,甚至优化方向(比如:取 Log、加平滑曲线等)

[总结] 这里只是一个大概的思路,如果课堂时间允许情况下,用具体二分类(性别判别)的案例分析流程,这样学生能够领悟到更透彻。而不是一味的就那几步数据挖掘步骤!

在 DataMining 领域,不做两种人。一种是工具人,一种是研究者:

做数据挖掘,如果真正热爱这个行业,并希望落实想法,不推荐大家做以上两类人,工具人和研究者
[工具人]:面试过很多人,(这里谈离线批处理)基本都是 Python(很多面试者被豆瓣电影评分的案例害得不浅啊!),很多一味追潮流,也整一个 Spark 来调包,认为就是懂数据挖掘了,甚至 Mahout 和 R 等等;
PS:我曾经反问一位面试者,如果让你招人,你会愿意选择,只会用包,缺乏思考怎么去用?为什么这样用?甚至如何改进和组合的人? 显而易见,面试者的答案是不会招这样的人!
我这里不是批判工具如何不好,曾经大学,我也只是会用 Matlab、Spss,甚至 Lingo。毕业初期,也只是会用 Python 和 R 等。我主要说的是,优秀的模型,不单单是某一个算法能够解决的,其中还包括很多组合算法和逻辑规则。单独的使用工具,结合业务的个性化需求会得不到很好满足,甚至如果让你调优算法,一方面你缺乏算法原理的理解,另一方面,你修改源码的也会很费脑、费神啊!
[总结]:技术没什么吸引人的,它的魅力在于服务业务,通过业务发展来驱动技术提高。这里推荐 MapReduce!

[研究者] 这类人,不过多讨论,毕竟这个社会是需要这样一类人存在的,我也很佩服他们。 我前面说的前提是,如果真正热爱大数据下的数据挖掘,并落实想法,还是直接作为一个实践者吧!

拥有健康、丰满的数据,业务场景建模已经成功 90% 以上了

越到最后,阐述的理由会更少。因为,该说的都已经说了!只想劝各位数据挖掘爱好者、实践者或工作者.好的模型,不是用了如此 NB 的算法模型,而是优秀的泛化能力,而具备泛化能力的模型,缺乏良好的数据源,会是一棵长不大的树苗的;
Google 的阿法狗如此厉害,和它完备、真实和健康的数据源密不可分的!

本文已获作者授权转载,作者:汪榕,专注电商数据挖掘,数据化运营方面。

阅读原文


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-11 19:002306

评论

发布
暂无评论
发现更多内容

设计模式—代理模式以及动态代理的实现

Linux服务器开发

c++ 设计模式 后端开发 Linux服务器开发 Linux后台开发

怎么搭建在线帮助页面

小炮

帮助中心

USB DDK助你轻松实现HarmonyOS USB驱动开发

HarmonyOS开发者

HarmonyOS 驱动框架

代码评审的最佳解决方案

阿里云云效

云计算 阿里云 敏捷开发 代码管理 代码评审

NFT游戏NFT数字藏品交易系统搭建开发

薇電13242772558

NFT

数字孪生PaaS平台WDP4.3正式发布!三大升级,让开发更简单

Meta 小元

云原生 智慧城市 数字孪生

一文读懂并发与并行

潘大壮

并发编程 多线程 并行 并发’ #java

利用云效创建代码仓库,免费还方便

阿里云云效

git 云计算 阿里云 代码仓库 Codeup

架构实战营作业一

热猫

架构

共享自助洗车店加盟需要投资多少

共享电单车厂家

共享自助洗车 自助洗车机 自助洗车

共享洗车机设备多少钱一台?贵不贵

共享电单车厂家

共享洗车机设备 自助洗车机多少钱 自助洗车机价格

瞄准程序员招聘痛点,ShowMeBug让面试代码操作可“回放”

ShowMeBug

适创科技以云仿真平台,支持“中国智造”升级

阿里云弹性计算

仿真 高性能计算 EHPC 神龙架构 CAE

全托管云原生 MQTT 消息服务 EMQX Cloud 版本更新,助力开展更加安全灵活的物联网业务

EMQ映云科技

物联网 IoT mqtt emq 3月月更

CPP进阶:迭代器失效

正向成长

迭代器失效

阿里巴巴代码规约检测&Java 代码规约扫描

阿里云云效

阿里巴巴 阿里云 代码扫描 #java 代码规约检测

fastposter v2.6.2 发布 程序员专属海报生成器

物有本末

Vue 海报 Pillow 海报生成器 电商海报

如何实现一个支持分级数据统计的增强型透视图

明道云

加盟24小时共享自助洗车怎么样?

共享电单车厂家

自助洗车机 自助洗车 24小时共享自助洗车 24小时无人自助洗车 自助洗车加盟

恒源云(GpuShare)_无监督的QG方法

恒源云

自然语言处理 深度学习

科技向善,“以人为本”将掷地有声!

鼎道智联

Flink Next:Beyond Stream Processing

Apache Flink

大数据 flink 编程 流计算 实时计算

车载运行小程序,快速打造智慧汽车应用生态

Speedoooo

车联网 物联网 智慧终端 智慧汽车 车载小程序

直播预告|FeatureStore Meetup V2

星策开源社区

人工智能 大数据 开源 特征平台 MLOps

面试题笔记

Clarke

活动报名|3DCAT实时渲染云行业生态合作系列沙龙之“云XR如何赋能虚拟仿真实验教学”线上活动邀您参会

3DCAT实时渲染

虚拟仿真 实时渲染

24小时自助洗车店加盟靠谱吗

共享电单车厂家

自助洗车机 自助洗车 24小时无人自助洗车 自助洗车加盟 24小时自助洗车店

澳鹏数据标注平台MatrixGo加速人工智能落地

澳鹏Appen

人工智能 数据标注 训练数据

TDesign 更新周报(2022年3月第4周)

TDesign

共享24小时自助洗车加盟你看好吗

共享电单车厂家

自助洗车 共享洗车 24小时无人洗车 共享自助洗车机

企业如何实现在线客服功能?

小炮

在线客服

以什么姿势进入DataMining会少走弯路?_语言 & 开发_汪榕_InfoQ精选文章