这些年,在数据挖掘项目中踩的“坑”

数据挖掘项目是一个涉及的环节也比较多,而且高度依赖数据的项目。所以在其中一个过程中遇到点坑,简直太正常不过了。
需求不明确是第一大坑。需求不明确会把后面的分析方向完全带沟沟里面去,也容易被迫接受一些不可能完成的挖掘目标和商业目标。不过这种一般只会发生在一个公司刚开始有这个岗位的时候,随着项目的增加,后面大家普遍就知道数据挖掘的极限了,也知道数据挖掘任务所存在的风险了,便不会提出不可能完成的目标了。说一个曾经被带沟沟里去的需求。有一次接到领导说做一个需求,要找出影响用户忠诚度的关键因子,然后我吭哧吭哧的提取数要求,等数据,写分析报告,确认了几个关键因子,然后去见客户才发现人家提的是影响高端用户粘性的因子。范围都不对,大受打击。此处避坑方式,可以去接触一线客户的时候,不要退缩,一定要了解他们的真实想法,不要被口口相传后带歪了,然后白干了。
数据本身质量问题是第二大坑。大部分生产系统收集的数据都不是专门为做挖掘而做的,基本都是为直接盈利而存在的,所以也就只有直接影响到市场营销的指标最可靠。别的辅助指标,只能说质量实在一般。我们提出的上百个指标,真正能用的有20来个就不错了。除了数据在记录的时候可能发生的错误问题,还可能是数据精度/偏倚和准确率,数据不一致,数据遗漏,数据离群点,数据重复等问题。没别的避坑方式,只能是尽可能多的了解系统的基础数据,搜集各方信息,在想法设法的提高数据质量的基础上发散思维生成更多分析维度,然后尽人事知天命!
取数过程中发生的数据问题是第三大坑。尤其记得刚毕业那年,还是个小透明的时候。有一次做一个甲方的挖掘项目,因为第二天要交付(取数周期长耽误了工期),一伙人拿着乱七八糟的数据分析到凌晨3点,结果发现一个关键ID都弄错了,导致全部数据都没法用。那种想死的心情,那种想杀人的心情。也给我们一个血的教训,千万不要因为信任某个人或者项目时间紧而放弃认真检查数据。数据有问题就只能打回去重整,就算是时间紧也没办法。不过话说回来,本来从各个数据仓库取数就是个又杂又累的苦活,好一点的取数人员只是犯的傻逼错误少一些。有些逻辑上考虑不全是正常的。而且他们对于数据的指标含义什么的,不像我们这么敏感,他们也是要在短时间内完成任务。所以此处的避坑方式其实也很简单,那就是检查数据!检查数据!检查数据!!!
如果说前面的三大坑还算是可以填满的,那么接下来要说的超级大坑靠我们普通小辈基本填不满的。那就是能否得到实权人物的支持。说到底,数据挖掘到现在为止,还只是个锦上添花的事业。对于广大身处各种生产问题无法自拔的一线人员和实权领导,是不会有时间和精力来做这些锦上添花的事情的。因此项目经常因为这样或那样的问题延期或者拒绝上线。总的来说,数据挖掘的理论和技术都发展的比较成熟了。但是受现阶段采集数据和系统建设的影响,要真正达到高级应用阶段还有一段距离。现在更多的是停留在数据分析和数据可视化阶段。
做项目就是这样,克服困难完成任务才是重点。处理问题才能体现我们的价值嘛。如果项目顺利什么问题都没有不就变成了搞科研了吗?

原文地址:https://www.cnblogs.com/xiaotangqiu/p/9484157.html

时间: 2024-11-06 09:43:08

这些年,在数据挖掘项目中踩的“坑”的相关文章

2019爬虫项目总结——我在项目中踩的那些坑

2019刚出校门,初到公司,最大的成就是完成了一个全球抓取数据的系统!简单介绍一下这个项目的实现思路以及在项目中踩过的坑,随时告诫自己以后尽量避免! 历时一个半月还多几天,终于通过交付测试了!项目是从全球范围内,通过Google,Bing,雅虎来抓取数据,由于服务器不是特别的好,并且考虑到会有很多的脏数据,我们在实现的时候并没有将数据入库,想要将数据进行持久化的保存,可以使用导出的方式将数据以电子表格的方式导出来! 难点一: 项目经历了一次大的改版,将整个的抓取流程做了一次很大的改动.我们在抓取

使用vue cli开发项目中遇到的坑

一.部署文件 使用vue cli 开发项目,执行npm run build命令生成dist静态文件,将dist文件包放到服务器中即可. 刚接触webpack,不知道怎么部署前端文件,原以为需要将app文件上传,在 inux上安装node,以及npm install 一系列的包,捣鼓了很久,发现只需要执行 npm run build 将源码打包成一个静态文        文件即可,上传静态文件dist,将 controller指向index.html. 二.跨域问题 实行前后端分离,使用vue i

django使用过程的中踩的坑

1.django的request参数其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将这些信息封装成了 HttpRequest 对象,该对象由 HttpRequest 类创建.每一个请求都会生成一个 HttpRequest 对象,django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 request 参数承接这个对象 简而言之就是我们可以用这个方法从前台取到各种数据,比如cookies,表单的参数等 2.django的sql操作 table.objec

golang 学习过程中踩的坑

目录 [他人总结] 首字母大写才是对外可见的 包的初始化函数顺序问题 DB 连接泄漏问题 err 常用写法 goroutine 内的变量 指针可能是 nil 多层 map 未初始化 [他人总结] https://chai2010.cn/advanced-go-programming-book/appendix/appendix-a-trap.html http://km.oa.com/group/16106/articles/show/304264 首字母大写才是对外可见的 需要首字母大写才是对

项目中的那些事---踩过的数据库坑

今天来说一下我在做项目时踩到的postgresql数据库的坑....... 数据库:postgresql 工具:Navicat 诱因:设置数据库表的主键为自动增长 之前做项目时数据库是别人设计的,我只操作数据库表.今天在navicat工具中创建数据表时想让主键(id)自动增长,就将id的类型设置成int2,因为我见别人的表中自动增长的字段类型都是int2, 不料在插入数据时却提示主键为空(主键一般都是非空),如下所示: 我就纳闷了,为什么别人设置成int2可以自动增长,我就不行.于是经过一番百度

记录某项目中的踩坑与解决(持续更新)

前言 最近参加了某个比赛, 我所选的赛题就是个类似知乎这样的安卓app,由于着手近一个月了,踩了不少坑,之前没怎么记录,估计事后也会忘记干净. 因此特开一帖,在此记录下相关的坑. 记录 写完某个Recyclerview的item布局和相关适配器后, 然后展示的时候, 发现显示出来的Item数量小于List中绑定的数据量: 首先是检查了一遍适配器中的逻辑,发现没啥问题.然后在onCreateViewHolder中打log,发现只创建了两次就没了(而实际应该创建6次). 最后百度才发现是外面的Scr

最近项目中使用Spring data jpa 踩过的坑

最近在做一个有关OA项目中使用spring data JPA 操作数据库,结果遇到了补个不可思议的麻烦.困惑了好久. 首先看一下问题吧,这就是当时测试"设置角色时,需要首先删除该用户已经拥有的角色时"报错如下图: 一开始遇到这个问题 并没有感觉到有多大问题,后来就找了几个小时还是没有结果....后来在网上搜了好多还是没有找到结果...这时的自己就崩溃了,于是就去网上 搜索有关spring data jpa 相关Insert 和delete 及update的等操作问题,结果一眼就看到了问

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直

【Fine原创】JMeter分布式测试中踩过的那些坑

最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案. 关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客: http://www.cnblogs.com/fnng/archive/2012/