不会直接把200个特征直接放到模型中去进行训练,而是会用一些方法,从这200个特征中挑选一些出来,放进模型,形成训练集数据。
1、分箱
所谓分箱,就是通过某些分类标准,将数据集进行某维度若干数据的合并,比如身高范围可以是150~180,若分组是厘米,则有30组。若才用距离为5的分箱,150 ~ 155为一组,共六祖。若如此,可以将数据波动影响减少。不会因为一个用户增长了1cm就变成一个完全不同的人。
#等距分箱
import pandas as pd
pd.cut([1,2,3,4,5,6,7,8,9,0],bins=3).value_counts()
pd.cut([1,2,3,4,5,6,7,8,9,0],bins=3,labels=['A','B','C']).value_counts()
#等频分箱
import numpy as np
data = np.random.randint(10,100,size=(30,))
pd.qcut(data,q=5).value_counts()
2、WOE
WOE的全称是“Weight of Evidence”,即证据权重。WOE是对原始特征的一种编码方式。
WOE = 这个组中正例样本占整个样本中正例样本的比例 / 这个组中负例样本占整个样本中负例样本的比例 然后求ln
3、IV
不懂,补明白。 以后填坑。