Duncan's Blog

ccx

金融建模比赛记录

数据处理

对于A训练集(有标签):

  • 1.数据分散在四个文件内,train_behavior,train_ccx,train_consumer,train_target,各个数据文件的解释大赛excel表格中已有.
  • 2.需要根据ccx_id将每个文件中的数据进行聚合, 聚合之前可以先在每个文件中提取特征.
  • 对于每个文件内
  • train_behavior(基础信息+行为数据):一共2270维特征,对其中(1)唯一值列去除—共去除23列;(2)对于缺失90%值的列进行去除;(3)对于包含空值且只有两种值的列进行去除;(类别值的列:’var3’, u’var4’, u’var5’, u’var6’, u’var11’, u’var12’, u’var13’, u’var14’, u’var15’, u’var18’, u’var19)。最终得到336维特征(3)去除时间列(2列)
  • train_consumer(消费数据): 用户的消费记录,提取了\
  • train_ccx(查询记录):用户的查询记录,提取了”查询次数”以及categorical列的次数

初步结果(模型都是默认参数)

features/models(AUC) lightgbm lr gbdt
behavior 0.588 0.566 0.578
behavior+consuming 0.626 0.563 0.581
behavior+consuming+ccx 0.639 0.592 0.603

对于B训练集(无标签)

该问题属于半监督学习,半监督学习分为纯半监督学习直推学习.

  • 纯半监督学习:是将未标记数据和有标记数据都作为训练集来训练,得到模型,来预测待测数据
  • 直推学习:是将未标记数据作为需要预测的对象,通过有标记数据进行训练,来预测.

解决思路:

  • 1.聚类将A和B合并聚为两类,用该聚类簇中A标签投票标记B(否决)
  • 2.自训练方法,先训练A得到一个分类模型,然后通过分类模型分类B,将置信度高的进行标记,然后加入训练集,训练->标记置信度高的,迭代.(尝试)
分享