BNP Paribas Cardif Claims Management
2月20日:
查看任务介绍,二分类问题,评价标准logloss
下载数据
2月21~27日:
查看数据组成,标识分类变量、离散变量、连续变量。
发现连续数据有大量非随机空缺(占总量一半),主要集中在v2相关与v8相关列
根据空缺相关性,可将feature分为6组:
g1-v8相关列,g2-v2相关列,g3-与v2v8均不相关的稀疏列,g4-无缺值连续变量,gd-离散变量,gc-分类变量
标签样本不均衡,约75%的y==1,25%的y==0
查看相关性。
2月28日~3月3日:
考虑对缺值数据(feature稀疏样本)进行模型,因feature较少,实现将较快。
对分类变量one-hot赋值。
尝试logistic、linearSVC(no dual)拟合效果较差,大量标签为预测为1类,几乎不出现0类预测
尝试kernelSVC,样本数太大,核矩阵过慢
尝试较浅层Random Forest,同样无法有效辨识类0
尝试xgb,极简易调参后,对feature稀疏样本4-folds cv约0.450,在lb上表现估计约0.457上下
(现在看来有过拟合的嫌疑,因为对v56等多值分类变量进行了过细的处理)
进一步探索:
1、大规模多模型调参
2、对分类变量的one-hot进行处理,如使用logistic regression、navie bayes等,聚合成一个新的feature
3、对模型进行average或者logistic regression处理
4、对某些明显有相关性的categorical-one-hot进行单列处理,消除ordinal假设
5、尝试k-means,和KNN(需考虑如何消除量纲影响)
对稀疏特征的样本,尝试以下的做法
1、连续变量+离散变量+序列化分类变量
2、连续变量+离散变量+序列化分类变量+特殊单列序列化one_hot
3、连续变量+离散变量+序列化分类变量+全体单列序列化one_hot后logistic系数
4、连续变量+离散变量+伯努利序列化分类变量+特殊单列序列化one_hot+全体单列序列化one_hot后logistic系数
3月29日
伯努利化+特殊单列one_hot有一定作用,logistic系数似乎反而没起到什么影响(在gbdt中),可能参数调得不好
调参结束,et和xgc模型基本在5 folds的前提下能达到0.459xx的cv
上交LB后得分0.458xx
然而对6个模型简单平均后,其得分仅有0.456xx,未达到预期目的
看讨论区排行前列的人说,创造了上千个特征进行训练,并且使用一些"secret tweaks"使得训练时间为30min,10folds
(laptop配置8核,16g内存,40g交换内存)这个时间太令人震惊!看结束后对方是否会有一个完整的方法分享
下一步考虑的事情:要在自己的模型上完善,一个是对稀疏的部分再进行细致稳定的调参, 把稀疏的模型结果代入到whole data的模型中
另外,考虑logistic feature是否真的不管用,要不要也试一下linear feature或者linear SVC feature呢?
还有,对方创造的上千个特征,很可能就是在稀疏样本仅有的那几个特征中得出的,看看到时候能不能大规模搞些特征出来。
BNP Paribas Cardif Claims Management的更多相关文章
- Java 7 中 NIO.2 的使用——文件递归操作
众所周知,递归编程是一项有争议的技术,因为它需要大量的内存,但是它能简化一些编程任务.基本上,一个递归操作都是程序调用自己传递参数修改的值或者参数传递到当前的程序循环中.递归编程通常用来计算阶乘斐波那 ...
- 7 Exciting Uses of Machine Learning in FinTech
https://rubygarage.org/blog/machine-learning-in-fintech Machine learning (ML) has moved from the per ...
- Creating Custom Connector Sending Claims with SharePoint 2013
from:http://blogs.msdn.com/b/security_trimming_in_sharepoint_2013/archive/2012/10/29/creating-custom ...
- MySQL vs. MongoDB: Choosing a Data Management Solution
原文地址:http://www.javacodegeeks.com/2015/07/mysql-vs-mongodb.html 1. Introduction It would be fair to ...
- Java Memory Management(1)
Java Memory Management, with its built-in garbage collection, is one of the language’s finest achiev ...
- SharePoint Adventures : Using Claims with Reporting Services
Cannot convert claims identity to a windows token. This may be due to user not logging in using win ...
- Low overhead memory space management
Methods, apparatus, and systems, including computer programs encoded on a computer storage medium, m ...
- Operating system management of address-translation-related data structures and hardware lookasides
An approach is provided in a hypervised computer system where a page table request is at an operatin ...
- Lock-less buffer management scheme for telecommunication network applications
A buffer management mechanism in a multi-core processor for use on a modem in a telecommunications n ...
随机推荐
- FFT与NTT专题
先不管旋转操作,考虑化简这个差异值 $$begin{aligned}sum_{i=1}^n(x_i-y_i-c)^2&=sum_{i=1}^n(x_i-y_i)^2+nc^2-2csum_{i ...
- unittest(22)- p2p项目实战(2)-http_request
# 2. http_request.py import requests from learn_logging_5.write_log_class import MyLog my_logger = M ...
- Python---4字符串与编码
字符编码 字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个 ...
- C#利用反射调用PB编译的COM组件
问题: 1.根据COM组件的ProgID,得到COM组件公开的类型 2.创建COM组件提供的类型的对象 3.调用执行方法 正确姿势 C#利用反射调用(后期绑定)PB编译的COM组件 C#调用COM组件 ...
- Python 零基础入门
Python 零基础入门 1.1 Python介绍 Python 是一门优雅且健壮的面向对象解释型计算机程序编程语言,具有面向对象.可升级.可扩展.可移植 语法简洁清晰易学.易读写.易维护.健壮性.通 ...
- Python开发(三):字符编码,文件操作,函数
一:三级菜单 If len(choice) == continue # 判断输入的是否为空,为空就跳出这次循环进行下次循环, exit(“bye”) :退出程序显示,bye 二:编码 最早的编码是as ...
- tomcat启动出现问题,有待解决
三月 15, 2017 2:23:41 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule ...
- SPA那点事
前端猿一天不学习就没饭吃了,后端猿三天不学习仍旧有白米饭摆于桌前.IT行业的快速发展一直在推动着前端技术栈在不断地更新换代,前端的发展成了互联网时代的一个缩影.而单页面应用的发展给前端猿分了一杯羹. ...
- element ui table render-header自定义表头信息使用
在使用vue自定义组件内容过程之中,我们绝大多数情况下都是通过预先写好不同的html模板,再通过props传入不同的值来渲染不同的模板.例如我们需要实现一个<v-title size='1'&g ...
- 线程(Thread)的四种停止方式
1.正常的程序启动,停止 2.使用退出标记,一般程序在run()方法后,线程会正常结束.但是有一些伺服线程还在运行,他们运行时间较长,只有当外部条件满足时,他们才会停止.实现如下: public cl ...