本学习笔记为阿里云天池龙珠计划金融风控训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampfr
学习知识点概要
本次任务的学习内容主要是各种特征工程以及分析方法,包括数据的预处理、数据异常值处理、数据分箱以及特征交互、编码和选择的内容,是与数据进行大量操作的过程
学习内容
(一)数据处理
在这一部分,主要包括数据的预处理、数据异常值处理、数据分箱这三个模块:
首先是数据的预处理,包括对数据缺失值的填充、对时间格式的数据的处理以及如何把对象类型特征转换成数值,第一步还是先把数据进行分类,然后用isnull()查看缺失值,接着使用缺失值填充的几种方法对数据进行填充,函数是fillna(),参数可以对应不同的填充方式;第二步是对时间格式的数据处理,运用to_datetime(),把数据进行格式化;第三步是对类别特征数据进行处理,转化类别数、等级数、0-1编码等是常见的处理模式。
其次是数据的异常值处理,值得注意的是异常值并不是一定会删除,如果异常值出现在真实情况下且有一定规律的,不能把它删掉,检测异常值的方法分为均方差和箱型图
最后是数据分箱,数据分箱的最终目的是使模型更加稳定,使之往我们期望的方向变化,因此数据分箱有着许多优点,这里学习了三种方法,固定宽度分箱floor_divide()、分位数分箱qcut()、卡方分箱及其他分箱方法的尝试
(二)特征交互
一个模型中的特征不可能总是相互独立的,因此会存在特定的特征交互,不仅是特征之间,还有特征之间的衍生,因此特征工程往往会存在特征交互;另外如果出现一些高维的特征,则要使用labelEncode()转换,逻辑回归模型也有单独的特征工程;特征选择也是一个重要的特征工程,它可以通过对特征的选择,简化模型,减少模型评分时间,根据方法的制定依据分为以下三种:Filter、Wrapper (RFE)、Embedded
学习问题与解答
问题:对于labelEncoder()的转换意义是什么,不是很明白?
答:labelEncoder是对目标标签进行编码,值在0到n_class -1之间的sklearn里的一个函数,可用规范化标签,它的属性classes_数组保存了每个类的标签,主要函数fit()用于导入编码数据,这里被编码的是一些高维特征。
学习思考与总结
在对数据大致了解了之后,需要对数据做预处理和一些特征工程,这些预处理和特征工程有助于对数据起到净化和规范作用,是导入模型之前必不可少的一个步骤