高级实训第四周周报

本周工作

 

本周主要还是数据预处理与特征选择部分,相比之前简单地用平均值填充数值类数据,用众数填充类别类数据并使用全部特征,我对数据分门别类进行了更细致的处理,并舍弃了一些不必要的或暂时较难利用的特征。

首先,除了object类的数据为类别类数据外,有些数值类数据的取值个数都比较有限,且取值集中在几个数值上(例如n0),此时采用均值填充缺失值可能并不是一个很好的选择,可以把它当作类型属性。对一些80万条目中只有几个的取值,可以把它们合并为一类(相当于others),这样可以有效减少取值数(同时对其意义没有太大影响),这对诸如决策树的一些模型有积极意义,可有效减少分叉数,提高模型泛化能力。

对于policyCode,其取值只有1个值,这样的特征显然无助于提升模型的区分能力(比如对决策树模型,其熵增益为0),因此予以舍弃。类似地,对n11和n12,其值偏斜过于严重,近似于只有1个值的情况,同样舍弃。(applicationType偏斜也比较严重,但相对好一些,且加不加对准确率影响很小,为降低复杂性也没有将其包含在特征集内)

经验证,subGrade中包含grade信息,即存在数据冗余,因此可舍弃grade,只用subGrade即可。这类类型上的冗余比较容易发现,而连续特征也可能存在冗余,不过这比较难检测,需要对其相关性进行分析(有可能还不只是两个特征间的关系),我目前还没有做到这一步。

对于连续值,对噪声进行检测和处理可有效提升模型泛化性能(类似之前将取值很少的类别归为一类)。对正态分布,偏离均值3个标准差以上的点即可被认为是噪声,而事实上这些连续属性分布都与正态分布很不相同,导致采用这种方法检测很多特征会有50%的点以上被归为噪声,如果将偏离3个标准差的都归为等于3个标准差,将显著改变数据分布,从而破坏其蕴含的有效信息。根据特征的实际意义,一些显著大于其他值的“噪声”是有其合理性的,比如有些人的年收入非常高,且这与其偿债能力有很大关系,不应对其数值进行过度处理。从这个角度,等深分箱是一个相对更合理的选择。

经过上述处理,采用原来的KNN模型并保持参数不变,模型性能有明显提升,而换用决策树模型,还可再小幅提升其性能(但要舍弃很多连续特征及分布偏斜的类别特征),本周结果如下(相比两周前0.6262有明显提升):

 

下周展望

 

首先,完善连续特征与类别特征间的转换,以使更多特征可被有效地用于KNN、决策树、线性回归等模型中。同时探索一些更高级、复杂的模型,以提高预测的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值