自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(336)
  • 收藏
  • 关注

原创 2017.08.16回顾 关于PSI 关于WOE无拒绝推断影响

继续思考woe iv psi 拒绝推断这个我都觉得难以control的问题,好在今天总算有了自己的一些结论和未来尝试方向变量每组好坏比不变,分布变,woe同增同减,影响不大psi没卵用,更应该去关注变量每组的好坏趋势是否有变化拒绝推断我目前暂时不需要,但是这么低的通过率,以后应该会遇到这个问题可以尝试用bad rate在总体中去计算woe或者用bad rate编码,这个可以消除建模集到

2017-08-16 21:01:52 2148 3

原创 2017.08.15回顾

1、IV计算时候前面的系数推导,反正结论一句话,odds固定,样本数越多,IV分量越大2、为什么不能用bad rate去编码,我搜了很多资料但是没得到结果,我也和别人讨论,在群中提问,但目前无人回答3、拒绝推断到底有没有必要,这个有联系到变量分布,PSI等问题,而且现在通过率相当低,下一次迭代模型,有可能看见有个变量并没有区隔度了,因为都是高分段了,区隔自然差,但实际上别人是有区隔度的在总

2017-08-15 21:36:53 455 3

原创 2017.08.14回顾 IV的系数

1、校验了建模数据存在的问题2、阅览了FICO的产品介绍,里面可以窥见一些方法3、SQL拉出新数据集,数据洞察4、思考系统的变量随时间随不同因变量定义的稳定性校验方法,思考了PSI,以及拒绝推断等等相关问题5、在IV的计算过程中前面乘以一个系数(Gi/GT-Bi/BT),固定该组好坏比,后面的WOE就不变,所以在好坏比固定的情况下,该组样本数越多,系数就越大,因为(Gi/GT-Bi

2017-08-14 21:30:40 694

原创 2017.08.11回顾

1、一系列的引擎规则改动,但是有些改动我是很被动的,但是我觉得应该更进一步有主人公意识,不能只是个搬砖的,对于不合理的改动拒不执行,本来这个产品就是自己负责,荣辱共存。在修改过程中并无什么技术难点,但是对整个流程有了一些新的想法,需要以后探讨2、我确认了sklearn的RandonForest用的基分类器是CART,后来我发现sklearn只实现了CART树,但是做了一些优化3、继续抓了几

2017-08-11 18:24:48 338

原创 2017.08.11回顾

1、完成前一天没有写完的回顾,然后相关知识点进行了实践和搜索学习2、和同事讨论,psi和woe变化的研究,进展还可以,我需要去check思考一下,最后精准量化结论3、fork了一个脚本,发现kaggle跑和本地跑结果有差异,不知道是什么情况4、lightGBM参数学习,lightGBM直接支持哑变量似的分隔操作,没有dummy编码,但是在分裂的时候,会考虑1个类和其他类这种分化,主要好

2017-08-11 11:00:06 438

原创 2017.08.09回顾 seaborn两个坐标系 series中mixtype sorted key

1、上午对现有决策引擎做了一些简单修改,没什么技术含量,注意的地方就是条件概率的计算2、继续SQL抓取数据集,没什么技术含量,后来发现中间少抓了几个变量,已经补上,后面还需要check看是否遗漏变量3、有了数据集,又开始耍自己的评分卡工具包,对工具包做了一些修改,美化barplot/修正排序BUG/regroup写成静态方法,过程中发现一些问题,也有一些收获我发现我给int64

2017-08-10 14:10:08 1563

原创 2017.08.08回顾 ensemble

1、ensemble的层次是这样的baseline是常数,是训练集因变量的平均xgb = w1*xgb1 + (1-w1)*xgb2trees = w2*gbm + w3*xgb + (1-w2-w3)*baselinefinal = w4*OLS + (1-w4)*trees作者独立的model也是直接fork别人的,lightgbm/xgb without outliers

2017-08-08 21:13:15 301

原创 2017.08.07回顾

我也不明白为什么,睡觉时间有这么久,但是早上来到办公室状态好差,很困,不知道是不是星期一综合征1、上午带着浓烈的睡意,补全了上周的日志,然后解决了线上系统一个BUG,开始弄数据集,又发现了一些问题2、下午主要是回答邮件的内容,写一些SQL查数据解决对方的疑惑3、linux安装lightGBM很方便,pip install lightgbm,windows安装会报一个编码错误,原因不明

2017-08-07 21:09:47 256

原创 2017.08.04回顾

今天上午主要是解决两个问题,第一个是写SQL抓出tableau的逾期统计,遇到一个通用效率问题,这个解决方法应该也是通用的才可以,还没完全研究透,下午就和商务外出谈合作去了,social能力还有一定提升空间,外出回来到公司,吹了下牛批,继续探讨了下PSI和WOE变化的问题,还未能得到突破,周五最后的时间工作不够专注,效率偏低,一旦用社交工具聊天,效率就会变的十分低下!

2017-08-07 09:56:10 271

原创 2017.08.03回顾

今天的工作比较单纯,就是继续整理建模数据,从中也发现了数据中明显的错误,还有些数值型的错误还需要仔细check,没什么技术含量,今天比较有收获的是还是那个问题:是否变量分布越大,WOE变化也越大?方法是采用模拟的形式,变量分成6类,固定每类的好坏比,固定总样本数,找到满足好坏比,总数约束,整数约束的一共79种分布,这其中33组的WOE唯一,46组WOE存在重复,所以分布变了,WOE不变的概率是

2017-08-07 09:45:14 232

原创 2017.08.02回顾 centos安装anaconda/xgboost linux操作系统信息 top内存CPU notebook注释 feature多

1、centos下安装anaconda,参考http://devopspy.com/python/anaconda-centos-7/wget https://repo.continuum.io/archive/Anaconda2-4.3.0-Linux-x86_64.shbash Anaconda2-4.3.0-Linux-x86_64.sh   #这一步,bash本来就是默

2017-08-02 20:51:25 855

原创 2017.08.01回顾 xgboost get_dummies 尽可能留变量

节奏不要乱,做应该做的事情,一些不应该做的事情需要克制!1、上午就是抓取建模变量,对变量做一些初步encode的工作,集中注意力弄了一上午,应该完成了1/32 、继续zillow数据建模,有几点收获:xgboost的基分类器是CART,但是也可以用线性分类器,booster参数可以设置,似乎还有一个名叫dart的分类器,听朋友说是神经网络相关的整理了所有变量的预处理方法尝试了d

2017-08-02 10:42:48 1333

原创 2017.07.31回顾 LabelEncoder xgb.cv

1、花了少量时间补充上周五的小结2、然后开始继续抄作业kernel去除outliers的方法是用的常数,-0.4和0.4,为什么这样设计,并没有给出说明,这个值是介于2 delta和3 delta之间缺失值处理方面,全部用-1填补对于类型为object的变量,使用了一个sklearn.preprocessing中的LabelEncoder,这个类使用上需要建立一个实例,使用方法很简

2017-07-31 20:25:50 4365

原创 2017.07.28回顾

1、花了大半天的时间前情提要2、各个指标浏览一圈3、继续kaggle zillow的问题,开始尝试去除离群点,采取箱线图的3倍四分位距的方法,排除了极端异常值,然后拟合的时候自己尝试了下xgboost,但是调参失败了,最后得出的值都差不多,后来仿照了别人的调参方法,提交,结果排在了1011位,还需要调整。浏览了一下xgboost的调参指南,有些没涉及到的参数只有一个浅显的印象,还有些参数是

2017-07-31 09:52:38 218

原创 2017.07.27回顾 ET和RT比较 高级切片 argsort barplot(yerr=) xgb.plot_importance

1、一到办公室写了上一日的小结2、昨天帮同事拉进白名单,就只能顺带更新了channel rolling variable,运行良好3、看了下ExtraRandomizedTrees和randomForest的文档,随机森林是有放回的抽样,样本数等于原始样本数,特征数随机子集,结果回归用average,分类用voting(但是sklearn的实现是对probability的average),

2017-07-28 14:32:31 3023

原创 2017.07.26回顾 ggplot初探

昨天的做的事情脉络还比较清晰1、写前一天的小结,主要是总结阿三那骚气的EDA技术,里面着实学到不少东西2、写完第一个记得已经是下午3点过了,开始弄channel的rolling variable上线的事情,也还是老套路了,改SQL/表添加字段/设计权重等3、上午给新同事布置了新的任务,大概讲解了一下表结构4、2做完后,开始继续未完成的EDA,最后部分的EDA用到了ggplot这个函

2017-07-27 10:20:20 313

原创 2017.07.25回顾 骚气EDA研究学习

1、上午主要是开发新的rolling variable,算出woe,明天可以完成2、另外一个主要工作是和新同事交流,关于两个变量分布变化对woe的影响,有一些新的发现,我推翻了昨天自己的猜想,也就是分布变化,woe一定会改变,我发现是能构造出分布改变,但是woe不变的情况,而且分布的变化是能通过卡方检验的,还有就是第二个猜想,分布变化越大,woe变化越大,同事构造的一些数据也说明了不一定成立,

2017-07-26 15:14:19 592

原创 2017.07.24回顾 plt.hist直方图绘制

今天是新的一周的第一天,状态不是很好,还沉浸在周末的喜悦之中,无论好与坏,还是对今天的工作做一个小结吧。1、完成了接口的拆分上线,一些检查和督促工作2、和新人讨论关于两个变量分布变化影响的问题,一个是看了改变前后的变化,实际上14号改变前后变化并不大,看起来像是按比例分配到后面的value上去,但是也有一些轻微的左偏,说明建模数据集的分布和14号之前全量的客户数据分布存在一定的差异,建模的

2017-07-24 21:02:23 4236

原创 2017.07.21回顾 notepad++tab转space df.plot series.value_counts()

1、上午一到办公室就是解决线上的错误问题,主要配合搞了一上午2、上午也帮同事review代码3、写了昨天的小结,内容比较多,在小结中也整理了其他一些获得的新知识4、修复了自己程序的一个BUG5、处理一些公司杂事,一段SQL或一些决定6、和新人交流沟通,关于两个变量的分析问题7、notepad++,edit里面有个功能可以一键转换成把tab转space,日常tab转4空格设置

2017-07-21 18:29:53 446

原创 2017.07.20回顾 xgboost安装 xgboost抄作业

1、上午主要就做rts的逻辑,稍微改了一下PTI的限制逻辑,然后编辑邮件,差不多时间进行提交2、在这中间处理了一个老客户的问题,处理了live_time和work_time疑似BUG的问题,和新人讨论了一些最新的分析结果,其中我对非参检验和参数检验还不是很清楚,需要下来学习,老实说卡方检验的原理,我也只看过一半,应用点到是知道,她新提到的KS检验,我基本不了解3、今天剩余时间主要就是抄作业

2017-07-21 16:12:17 357

原创 2017.07.19回顾

1、今天主要是修改并上线了rolling variable,然后阐述了一些自动化不太便于实现的地方2、模型通过率方面扯了一会儿,写了个SQL,基本和每日邮件中的数据吻合3、上传了昨天修改的iv工具包4、下午开会,反正就是站在真理的一端据理力争5、给新人布置了任务6、看了下kaggle的新赛题感觉今天干的事情比较少啊,效率低了,要加快动作

2017-07-19 19:43:55 178

原创 2017.07.18回顾

0、昨天晚上更新了iv工具包,对数据集X进行检测,对于含有缺失值的字段,将抛出错误,并指出哪些字段存在缺失值,主要还是用之前写的find_na_column函数,这个函数主要就是靠pd.isnull来实现,然后如果存在miss_columns,会抛出错误,这里抛出错误,我起初是想找一个built-in的类来raise,但是发现没有符合我这种错误的,就只好用Exception基类包装,最后一个老的操

2017-07-18 21:02:22 219

原创 2017.07.17回顾

1、今天主要就是忙模型上线的事情,一直拖到下午2点半才真正上线,不知道QA团队在干什么,上线过后出现一些小问题,及时hotfix了,也发现了其他一些需要待修改的东西,整体跑起来不存在大问题,运行良好2、第二个重要的事情就是开会,一些讲解和代码移交3、用做第一个事情的等待时间,研究了下channel和device这两个变量,研究是要做成rolling variable还是进行模型调整,而且这

2017-07-17 19:04:33 198

原创 2017.07.14回顾 ipython魔法命令 浮点数定义 GPL 为什么要WOE编码

1、一些小的工程改动2、建表/增加字段,decimal(9,2)表示一共9位,小数是2位,int(2)不是代表两位数,仍然可以存储大数3、Ipython的console中有一些魔法命令,以%开头,matplotlib就有一个魔法命令%matplotlib qt,后面的参数可以指定显示图像的GUI库,我本身没有pyqt库,我用pip instaall失败,但是用conda install p

2017-07-17 10:10:26 685

原创 2017.07.13回顾 MIC

1、上午主要是做类主产品的新模型决策规则,解决了9F两个字段缺失用什么替代的问题,三种方法,用缺省值替代,用0替代,用开发集woe加权替代,用缺省值不合理,因为缺省值在开发集上有特殊的缺失含义,用0影响整体输出结果的均值等 ,最后用woe均值替代至少整体评分输出均值影响并不大,如若一个自变量如此替代,对总体通过率的估计影响应该不大2、

2017-07-14 09:58:16 230

原创 2017.07.12回顾 python mysql decimal case when漏掉一种情况 mysql字符串参与算术运算

今天继续进行新模型实施的工作1、上午完成了审批金额计算的模块,主要就是涉及到和之前系数转换的问题,反正就是个体力活啦,没什么新的东西2、下午主要是布上knowru,测试,修改各种bug,看看有没有哪个bug的解决可以记录一下mysql-python这个模块抓了一个(mysql数据类型为decimal的字段+mysql数据类型为decimal的字段),这个类型还是decimal,取出

2017-07-12 20:31:11 766

原创 2017.07.11回顾

1、上午补充了小结,然后研究了下香农熵2、今天剩余的时间都是做v7的实施,完善SQL,然后写决策引擎代码,其中有一些构架的思考,最后还是将就了现在的形式,乱是乱,但其实很敏捷,有大量代码可以重用,初步完成了v7的决策引擎代码,还有一些待改进的地方,审批金额计算需要在上个版本基础上修改一下,存储库表需要重新设计,更多的字段需要存储其他没什么新东西,效率较昨天有所提高,还需要减少废操作。

2017-07-11 18:28:00 164

原创 2017.07.06-2017.07.07回顾 信息熵的坑 多重共线性实践

上周最后两天比较忙,没来得及写小结,这里补充一下上周还是忙建模的事情,稳定性上进行一些新的探索,周四还面试了几个人,有些知识不用确实容易忘记,但是有什么办法了,只有一遍一遍去理解,面试别人的时候也不用着急,也不要怕丢人,现场去推理,这样也可以检验对方的水平,就是个探讨,技术上没有什么丢人不丢人

2017-07-11 11:21:27 480 1

原创 2017.07.10回顾

1、3E逻辑2、开会准备,分享3、上午精神状态不佳,打瞌睡4、mysql生产环境SQL以及接口实现思考5、帮同事debug,过程中也学到一些新东西df.values是直接取出来一个ndarray,去掉行索引和列名pd.read_csv和pd.read_excel可以加个参数,知道行索引index=0(索引下标)ndarray只有一种数据类型from sklearn.ut

2017-07-10 20:20:36 189

原创 2017.07.05回顾

1、今天他妈的上午又干了一些没用的事情,去给运营进行一些解释,但是也发现自身模型数据存储的必要性,这个也是急切地打对方脸,现在事情这么多其实没必要这么急切打别人脸,考虑好优先级2、下午就是决策引擎调整的事情3、剩余的时间又开始建模,这次我是很正式的筛选出了模型变量,为了考虑所选自变量的稳定性,我在6个不同的因变量上计算平均iv,筛选出大于0.03的,在时间维度上,我用了我建模正式定义的真正

2017-07-05 20:11:09 203

原创 2017.07.04回顾 dataframe组合 groupby sort to_csv不存index

今天主要是建模的事情,小结一下1、我使用了6种不同的y定义,然后写了一个程序去计算平均iv,这个程序中主要是对pandas的回顾多dataframe的组合,pd.concat((df1,df2,df3,df4,df5,df6),ignore_index=True)默认axis=0,就按行组合,相同的表头会忽略掉,重新起序号,用ignore_index = Truedf的groupb

2017-07-04 20:56:12 3483

原创 2017.07.03回顾 matplotlib作两个y轴图形

今天主要是解决python绘图的问题,基本上是完成了一个可以交付的图形,像这样也就是共用一个x轴,有两个y轴,我参照matplotlib官方的example,写了个定值的demo,然后结合自己的程序,也了一个变量化的,先看看demofig, ax1 = plt.subplots() #生成一个图对象,一个坐标对象#fig.subplots_adjust(left=0.2, right

2017-07-03 21:11:20 987

原创 2017.06.30回顾

1、工程上一些修改事物2、增加变量3、更多变量要求

2017-06-30 17:05:51 199

原创 2017.06.29回顾

中途出门休假几天,实际上还挺累的,不擦防晒霜还会被晒黑,每天要走很多路,昨天回来上班第一天,下面进行一下回顾1、一系列de改进实现工作2、平台一些问题反应3、开会,接近2小时,文档整理4、继续建立新模型,新增自变量,尝试了一些新逾期定义,某些变量存在波动

2017-06-30 09:40:05 187

原创 2017.06.21回顾

1、写了回顾,然后就是检查装饰器的写法,当然我也需要去学习装饰器的写法,其实最简单的理解就是函数某些代码抽象重用,装饰器就是带入被装饰函数,可以装饰多层,但高级的用法,我还需要去熟悉一下2、下午各种工程问题,然后思考了下打合作方脸的方法,各种杂事

2017-06-22 10:13:01 159

原创 2017.06.20回顾

1、上午主要就是写欠的回顾,开小会汇报工作2、完成了合作银行不SA相关问题3、橘子4、下午主要是完成了r3c的逻辑,有些小细节有些麻烦,没什么新东西5、又是开会6、直方图绘制的问题python直方图绘制,主要就是用到matplotlib这个强大的模块,下了个demo,具体的还需要研究由于python相对要复杂一些,开始研究excel,我现在找到的方法excel并没有

2017-06-20 18:28:25 253

原创 2017.06.19回顾

1、在网时长数据相关处理2、继续解决京东问题,写文档,重跑数据,调整cutoff3、纠正同事一些错误4、处理服务器相关问题5、MYSQL的date_format(date,'%Y-%m-%d'),oracle是to_date('2017-06-19','yyyy-mm-dd')6、present value真实含义?这个问题未解决目前睡觉引入了打卡监督机制,效果不错,继续坚

2017-06-20 10:55:33 208

原创 2017.06.15-2016.06.18回顾 loc/iloc/ix dataframe相关 oracle无自增去重 correl

上周最后阶段比较忙,主要是忙jd的数据测试的事情还有就是各种新产品的事情,下面回顾一下这段时间的工作。1、上周四快下班的时候开了一个新产品的会,初步确定了风控策略,但是接近下班的时候又告诉我另外一个新产品需要紧急上线,同时jd的数据到了,草草看了下就下班了2、pandas中loc/iloc/ix区别,loc按行名列名索引,iloc按下标索引(可以切片),ix可以混合前面两种索引方式,df不

2017-06-20 10:37:46 417

原创 2017.06.14回顾 dtype相关 Series平均数 type_of_target

1、Series计算平均数,df[column].mean()2、上午给同事讲了很久的关于验证四变量模型少掉两个变量仍具备有效性的证明,这个过程中也被多次打断3、讲完开始写昨日总结4、ndarray只能有一种数据类型,就是其中每个元素的类型,不能说每一列一个类型5、np.sctypeDict可以查dtype类型dict,有很多不同的表达方法,其实是说的一个类,np.str_和np.

2017-06-15 11:15:14 1049

原创 2017.06.13回顾 series筛选赋值不是deepcopy?

1、在网时长的逻辑重新修正2、桔子的事情已经是停止了3、非银联合作银行的事情开发了一半,被打断4、拒绝疑似欺诈业务员5、开会6、面试7、晚上继续开发那一套python标准评分卡工具箱,就是解决那两个bug,解决了我一晚上series的筛选赋值,是赋值到copy上,但是实际上却赋值成功,昨天和洋神讨论的是这个机制是copy,不保险,并不是deepcopy。另外一个bug是,我

2017-06-14 11:41:00 606

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除