数据挖掘数据处理中小技巧.ppt_第1页
数据挖掘数据处理中小技巧.ppt_第2页
数据挖掘数据处理中小技巧.ppt_第3页
数据挖掘数据处理中小技巧.ppt_第4页
数据挖掘数据处理中小技巧.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Traps and Tips in Data Mining Developement,主要内容,开发过程中对于新手常见又容易忽略的小问题,表面好还不够,基础也很重要,相关问题,查询的逻辑正确性 查询性能 数据挖掘操作问题 工具小问题 等等,失败乃成功之母 但. Only a fool learns from his own mistakes. The wise man learns from the mistakes of others. Otto von Bismarck,(All examples are real; just dont take it personally. ),查询的逻

2、辑问题,join错误 分清Inner/left/right/full JOIN,弄清应用场景。 三个或以上表FULL JOIN的时候要更小心。 Join的表有重复号码 历史表、转品牌、多维表等 如果两个要JOIN的表表有重复号码,生成的表就叉乘出更多重复号码 尽量先Aggregate再join,保持粒度一致,sel a.c_usr_nbr,b.si_b_brnd_cd,count(distinct a.c_b_area_cd)as area_cnr from pmarttemp. tmp_usr_toll_b_area_200901 a left join pmart.TB_MID_FRD_I

3、NFO200901 b on a.c_usr_nbr=b.c_usr_nbr group by 1,2,Traps,查询的逻辑问题,被除数为0: a/(b+0.0001) 只有在b=0的时候才适用 Coalesce(a/nullifzero(b), y) b=0时用y作为结果 整数相除 integer/integer - integer 在算比率时会出问题。101000 必须先转为float类型,Traps,查询的性能问题,现象:慢、skewed。通过TM监控。 常见原因:Primary Index(PI)的问题。 建新表时没有指定PI,结果将month作为PI了 Bad PI (not sp

4、ecified), skew 大表不是按PI关联(交往圈表) 关联条件错误 没写关联条件!或漏了(倒如缺了月份的关联条件),Traps,查询的性能问题,Optimizer不能找出最好的运行方案 通过explain查看运行方案 用Collect stat,让数据的新状况告诉Optimizer 中止有问题的脚本 如果用perl运行,ctrl-c只是中止了perl,bteq脚本仍在运行。要将窗口关掉,才能完全中止。,Traps,查询性能问题,JOIN和Aggregation 先Join再 aggregate vs. 先agrregate再join sel a.c_usr_nbr,b.si_b_brn

5、d_cd,count(distinct a.c_b_area_cd)as area_cnt from pmarttemp. tmp_usr_toll_b_area_200901 a left join pmart.TB_MID_FRD_INFO200901 b on a.c_usr_nbr=b.c_usr_nbr group by 1,2 运筹:理清计算过程,为多次使用的中间数据建立临时表,不用重复计算。,Traps,逻辑清晰的程序运行效率也通常高,数据处理性能问题,尽量不要随意Insert, update, delete 慢、资源多、拖累其它作业。(日志资源很有效) cancel后要roll

6、back,也会影响很大。有时搞到要将整个表废掉。 基本上不要update 改变C编程的思维 i=0; if (长途) i+; a+=i; X 不适用于DW编程 DW思维:使用 sum(case when .end) 考虑用Partitioned Primary Index(PPI)优化insert/delete Union vs. union all Union 需要进行重复记录检查,慢 如果可预知是没重复记录的,则用union all(不作重复检查)。例如几个地市的数据集合并。,Traps,数据处理性能问题,同步执行,效率更高 Insert into t . ;insert into t .

7、 对同一个表的多条delete/insert/update在同一步运行时会得到优化,速度比分开时快很多。 (SQL Assistant里要点并发执行按钮) 全表删除用 delete from t all,Tips,注意分号的位置,在下一个insert的行首,数据挖掘的问题,Z-score(标准化) 在Variable Transformation模块中 消除数据不同月份间的季节性差异。 消除量纲。 如果一个变量可能是全0(根据月份不同而变),则可能出错除以0错误。 解决:将score代码取出来,全部变量进行替换: (a-avg)/stdev - zeroifnull (a-avg) / nul

8、lifzero (stdev),Tips,数据挖掘的问题,NULL值处理 在分析算法中,包括NULL值的记录会被删除。 注意:许多变量中NULL值是有意义。比如没有相应的话单时,会产生NULL值变量,其实是表示“0” 最好在生成数据集里就用zeroifnull(.)进行替换。 异常值处理 例如排除消费量最大的10条记录。,Traps,模型投产的问题,注意:脚本需要每个月都运行 保存每次运行的结果,以便评估和跟踪。 不要把以前的数据覆盖掉。 尽量不要依赖以前的数据。例如。 名单数据抽取后进行检查 使用TWM的value和Statitics模块,检查名单的取值是否合理 缺失值?异常值? 搞反了取得

9、是最不会流失的用户? 变量的均值是否合理,流失名单用户的ARPU是否偏低。,Traps,工具的问题,字符集 大部分表是uft-8,小部分是ascii。 字段Title的字符集多数是ascii。 最好建两个ODBC数据源。如果中文看不到,就切换。自己建新表尽量用utf-8,Traps,工具的问题,BTEQ脚本 块注释 字段注释 .Goto and .label:分块化,断点运行。 .set maxerror 1 .set errorlevel 3803 severity 0 -忽略表已存在错误 古怪错误的应对 * Failure 3704 ? (A3X) is not a valid Terad

10、ata SQL token. - 是否将标点或字符输成中文全角? 缺“;”,引号不匹配,会导致”end of file unexpected”,Tips,工具的问题,TWM 需要使用asc字符集,否则会不能正确识别数据类型(字段前的小方块应该是绿色的,红色就问题) (新版TWM不知有没有这个问题) Project 里的analysis可以复制、粘贴,便于在之前的工作上作调整。 第一次用TWM时先把metadata等配置好,建了project后再改就不能保存结果。,Tips,工具的问题,常用的EXCEL技术 公式 绘图:所有的图、格式设置。 透视图 贴进PPT里时,用“选择性粘贴”,EMF格式,

11、这样PPT文件较小。,Tips,工作习惯,Trackability 版本控制: Team (VSS):写comment,告许别人变更原因和改动的地方。 个人 (Me: SVN) 邮件 filename_20090701_v2 ,并在邮件中说明变更的地方 Word,使用“修订”模式,记录变更 PPTEXCEL 使用标注。 统一的命名习惯 工作计划 工作日志: 挖掘过程中有许多试验,之间的代码和参数差异很小。将有意义的中间步骤和结果记录下来,便于日后查看,或与别人交接。,Tips,工作习惯,“Nothing is certain but Death and Taxes.” 如果不确定,就要查文档或问别人,特别是业务问题 常用的工具,凭感觉和试验可能会出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论