量化金融原理与实践第5章 特征工程.pptx

量化金融原理与实践第5章 特征工程.pptx

第5章特征工程特征工程是指寻找能够准确刻画建模对象的特征并用于建模,准确的特征可以降低构建模型的难度,提高模型的质量。

特征工程概述特征工程的定义与意义特征工程是指寻找能够准确刻画建模对象的特征并用于建模,准确的特征可以降低构建模型的难度,提高模型的质量。特征工程的组成部分第一部分:寻找能够准确刻画建模对象的特征从数据集中直接获取准确刻画建模对象的特征对现有特征进行组合、衍生和交互,创建新特征第二部分:对特征值进行优化实施途径使用数学工具进行特征的量化分析采取专业知识进行特征的筛选及特征值的优化

本章主要内容本章介绍的特征工程主要通过各种算法处理数据集,从现有的属性中直接选择准确刻画建模对象的特征。核心内容从已有特征集中选择最优特征子集的主要算法功能强大的NullImportance算法及代码实例后续章节将讨论如何利用现有属性构建新特征和进行特征值优化图5.1本章主要内容结构

5.1过滤法概述特征分类以能否对算法效果带来提升为标准,特征可分为三类:相关特征对模型有积极贡献无关特征对模型无明显作用冗余特征与其他特征高度相关过滤法的目标降低计算复杂度提高模型性能增加模型可解释性术语说明列标签:可称为特征或属性条件属性:用于预测的特征决策属性:预测目标

5.1.1单变量过滤法基本原理在数据处理阶段,依据统计方法或简单的模型评分准则评估:评估内容各特征之间的关联性各特征与决策属性之间的关联性作为保留或删除特征的依据,提高模型的预测性能。

1.缺失百分比法原理在进行单变量过滤之前,先对数据进行清洗。单变量过滤法用于评估每个特征与决策属性之间的关系,根据评估结果进行特征排序或设定阈值以选择重要特征。应用方法(1)填充法使用fillna()函数填充缺失值查询并统计缺失值数量根据业务逻辑选择合适的填充值

缺失值处理示例查询缺失值print(df[df.isnull().values==True])#显示包含缺失值的样本print(df.isnull().sum())#显示所有列的缺失值个数填充缺失值df=df.fillna(0)#缺失值填充为0关键函数:fillna()可以填充固定值可以使用均值、中位数等统计量填充支持向前填充(ffill)或向后填充(bfill)

缺失值处理:删除法删除法原理如果某特征的特征值缺失比例过多且难以填补,建议剔除该特征。dropna()函数参数axis:0为按行删除,1为按列删除how:any表示只要存在缺失值就删除;all表示全部为缺失值才删除thresh:保留含有int个以上非NaN值的行或列subset:删除特定列中包含缺失值的行或列inplace:False表示返回副本,True表示直接修改原数据

2.方差法原理若某连续型特征的方差很小,说明该特征趋向于稳定状态,删除该特征对数据集所包含的信息影响不大,建议剔除该特征。注意事项利用方差过滤特征之前,一般需要先对特征归一化不同特征的特征取值差异大时,方差小不一定代表波动率小方差大的特征可能只是因为数值范围大

方差法应用VarianceThreshold函数fromsklearn.feature_selectionimportVarianceThresholdvar=VarianceThreshold(threshold=df.std().mean())var.fit(df)model=var.transform(df)处理流程计算各列的标准差设定方差阈值删除方差低于阈值的特征获取保留的特征列重要提示:使用前需要对特征进行归一化处理

sklearn.feature_selection模块主要功能该模块集中了多种特征选择算法:VarianceThreshold:采用方差过滤chi2:采用卡方检验f_classif/f_regression:采用F检验mutual_info_classif/mutual_info_regression:采用互信息法SelectKBest:选择k个最优特征SelectFromModel:由模型自主选择最优特征RFE:采用递归特征消除法

3.频数法原理若某类别型条件属性的属性值样本量占比分布不均匀,集中在某一属性值上,说明该变量对模型的预测能力贡献不大,建议剔除该变量。应用方法forcolumnindf.columns:counts=df[column].value_counts().sort_index()cat_df=pd.DataFrame({enterprise_val:list(counts.index),frequency:list(counts.values)

文档评论(0)

1亿VIP精品文档

相关文档