|
是否要抽样Qing 20061108 有一天,跟搞挖掘的人开会,谈起抽样。我们目前大多数模型都没有抽样,对外的口径,是相信机器、相信数据库的处理能力,对上亿的数据处理不费力气。对内的,很让人惭愧地,是抽样这门技术不太好掌握。 在计算机硬件成本本来就不高的情况是没有必要抽样的,如果把数据挖掘比喻成从矿石中找黄金的话,没有抽样到的部分中可能就含有大大的黄黄的东西。很多东西我们挖不出来,是目前技术不够,自己的本事不到家,就像小日本会买中国的矿渣一样,我们没办法利用的资源他们能有办法利用起来。 何德琳 20061109 对于绝大多数驻内存算法,在以G为单位的数据上挖掘抽样是个很好的办法啊。我现在搞贝叶斯推理和分类也用到gibbs抽样。 qing兄的这句话: 挖掘模型建的好坏,量化的指标是一个方面,更重要的,还是要从模型中得出可以理解的业务规则,最好是原来没有想到的业务规则。是的,后者更重要 我最欣赏。我现在还呆在实验室,每天折腾各种算法,改进改进再改进,将老美的算法原型改进,比它的复杂度低,就能发文章。现在搞贝叶斯网络学习算法,老美90年代初整出几个非常绝妙的网络结构学习算法,现在搞贝叶斯的人就是一个劲改进算法。来TTNN久了,老觉得改进这些学习算法有意义吗,搞出一个改进算法,用20年前的 alarm数据集一验证,比前人能多学习一条正确的边,少一条错误的边,就是一个好算法,能发文章,但从来没去真正研究alarm数据集中各个变量的含义,变量之间的因果关系,这完全背离了DM的真正含义。 所以啊,挖掘模型的好坏还是能从数据中挖出什么,DMer必须要随时理解数据,不能脱离数据来mining, 否则就算算法再优,结果是没什么意义的。 frankwansunny20061112 >hunter说到“应该抽样,快速得到结果,然后分析用户所选择的结果(引入lift之外的指标),用结果反推参数,然后用这些参数对全库进行挖掘”。 hunter 你能说得再具体点吗,你是说的用户流失预测一类的分类预测吗?针对流失预测是要抽样的,因为处理的是非平衡数据,两个类别的数量相差很悬殊,不抽样得不出规则。 rasu 20061116 我很推崇抽样得.原因是: 1.我个人觉得抽样一定得比例(特别对现在得电信行业得海量数据)是可以和全量具有相同得分布得,可以代表全量所具有得个性或隐含在数据中得特征. 2.另外QING兄说的lift值的问题,我觉的是这样的.我们一般在建训练模型时才使用抽样样本.而在验证时可以使用全量(当然要去掉已经抽样的样本了,也可以用不是一个月份的全量样本),这样就没有lift问题.其实我觉得你说的lift值不高的问题,应该是对训练样本进行平衡後出现的.举例来说:比如为了建立流失模型,使用决策树建模.但为了能建立理想的模型,我们常对训练模型进行平衡.象比较常用的流失比非流失为1:1或1:3等.这样,如果看这些训练样本得出的模型,lift值最高才能达到:2或4.所以我觉得lift是和你样本中事件的百分比有关的.不同的百分比,去比较lift值应该是没有意义的. 3.frankwansunny说的"没有抽样到的部分中可能就含有大大的黄黄的东西".这样的观点我也是不赞同的.举例来说:如果你有100万客户,你不抽样可以得到一个有100左右的分群,平且这个分群有显著的特征.那么我想问,你能对这100个客户做些什么呢?他们到底是不是金子呢?(当然我觉得欺诈应该排除我的这个想法).我们对这100个客户去发展一项新业务?这样效率太低了些吧.另外最重要的是如果这100个是小概率事件,是随机的(象数学中的随机参差).这些小概率事件下次还会发生吗? 4.另外抽样可以大大减少分析数据和训练模型的时间.是我们能很快的对变量进行探索性变量分析,有可能求一些衍生变量.特别是对变量个说比较多的,我们要挑选一些重要的变量.这样在一定的样本下,我们也可以调整模型的不同参数,甚至使用不同的建模型的方法,直到得到理想的模型. 所以我比较赞同使用抽样方法. 责编:姜玲 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
热门博文 |
|