模型流程梳理和总结v0

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

For Weekly Knowledge Share
1 Overview :流程工具类文档和产出可下载类存储在两个地方
2 建模流程梳理:侧重特征工程中的数据清洗
3 工具使用:侧重H2O和预测结果导出

【过程在附录的Reference】


一、特征工程

1 构建特征库 - 踩坑大户

1.1 探数据源

粒度 X 计算周期 X distinct level X 主要字段 X 历史数据
粒度:一个切片存储静态还是动态、连续时间的数据;
计算周期:月初、月末、日更、周更、月更、三月更;
distinct level:决定去重或取数逻辑,需小心单日和累计。
历史数据:考虑所有数据源时间窗是否匹配,以及数据是否需填充。

-- 常用
show partitions;
desc;
-- distinct level
select mon,count(cust_no) as cnt1,count(distinct cust_no) as cnt2,count(cust_no)-count(distinct cust_no) as cnt_diff -- 从大到小排
from 
group by 1;

-- 时间窗匹配
-- 月末
where dt in 
('20220131'
,'20211231','20211130','20211031','20210930','20210831','20210731'
,'20210630','20210531','20210430','20210331','20210228','20210131'
,'20201231','20201130','20201031','20200930','20200831','20200731'
,'20200630','20200531','20200430','20200331','20200229','20200131')
-- 月初
where dt in ('20220101','20211201','20211101'
,'20211001','20210901','20210801','20210701','20210601','20210501'
,'20210401','20210301','20210201','20210101','20201201','20201101'
,'20201001','20200901','20200801','20200701','20200601','20200501'
,'20200401','20200301','20200201','20200101') 
-- 月末
where dt in ('202201','202112','202111','202110','202109','202108','202107'
,'202106','202105','202104','202103','202102','202101','202012','202011'
,'202010','202009','202008','202007','202006','202005','202004','202003','202002','202001')
-- 错月匹配
select from_unixtime(unix_timestamp('202203','yyyyMM'),'yyyy-MM-dd'),add_months(from_unixtime(unix_timestamp('202202','yyyyMM'),'yyyy-MM-dd'),1)

1.2 衍生字段

-- 年龄,date_diff用spark2跑
,floor(datediff(concat(substr(dt,1,4),'-',substr(dt,5,2),'-',substr(dt,7,2)),concat(substr(con_birth_dt,1,4),'-',substr(con_birth_dt,5,2),'-',substr(con_birth_dt,7,2)))/365.25) as age
-- 提取月份判断下月需生日提醒 
,case when substr(dt,5,2) = substr(add_months(from_unixtime(unix_timestamp(con_birth_dt,'yyyyMMdd'),'yyyy-MM-dd'),-1),6,2) then 1 else 0 end as birth_remind

1.3 输出

建模过程中梳理了10个特征主题,包括客户demo、资产潜力、线上APP行为相关、信用卡、活动量名单、大盘环境等。库表和过程细节保存在REF【20220301特征工程总结】,Ethel 【数据字典】和Evey【10 sheets】码值和可用字段特别赞。

2 变量筛选 - 踩坑中户

所有可用字段取出 -》 字段能不能用?(是否空值多?正反馈空值多?是否有全量客户?)

2.0 翻石头 - Heavy Work

var group by月份可观察到数据异常情况【eg:去年7月管户数量骤降,产品购买数据不全】(不推荐)

2.1 Variable Profiling包 - 解放双手

这个包之前邮件有发出分享code和产出。生成的HTML文件提供空变量检测、分布图、以及相关性测试,但仅支持单变量,不支持变量交叉,或变量和Y交叉。

1)variable profiling

环境说明【spark v2.4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值