资金流入流出预测————第三部分

目的:

  1. 了解特征工程是什么
  2. 掌握特征处理和特征选择方法
  3. 对资金流入流出数据做特征工程
1. 特征工程

1.1 为什么要重视特征工程
• 数据挖掘“二八原则“
• 80%的精力 => 选取特征
• 20%的精力 => 模型融合等
• 特征工程
• 基于数据分析与探索提取潜在有价值的特征
• 很多类型的比赛均需做特征工程
• 推荐系统(IJCAI 2018 阿里巴巴广告转化率预测Top1,6000+特征)
• 深度学习效果好的原因之一:自动提取海量特征
在这里插入图片描述

1.2 特征提取与特征组合
• 特征提取
• 基于数据分析与探索提取
• 箱型图分析 => 交易量与周几有关 => 最终应得到6个0-1型特征(是否周一、是否周二………)
• 特征提取
• 基于数据分析与探索提取
• 点线图分析 => user_start_level(用户星级)、user_occupation_id(用户职业)均与 is_trade(是否交易)有关 => 虽然user_start_level有序,但可以继续考虑离散化
• 离散型特征很重要
• 可用于设计规则
• 易于模型拟合,xgboost、lightgbm、catboost等都以决策树为基模型
• 便于理解
• 便于做特征组合
• 在推荐系统等领域很常见
• 简单粗暴的特征组合方式
• 简单粗暴的进行加、减、乘、除、log、exp等运算
• 易于生成大量特征,但会易出现过拟合问题,且不易于解释
• 建议的特征提取与组合方式
• 理解问题背景,开发想象力,并做数据分析与探索
• 以时间序列问题为例,常见的特征类别包括统计量(最大值、最小值、中位数、偏度、峰度 等)、排序
(各统计量在历史同期的排名)、分位数(各统计量在历史同期排名的分位数)等等; 《03.时 间序列规则
与baseline》的周期因子可视为特征组合
• 以推荐系统为例,常见的特征类别包括用户特征、商品特征、行为特征(按时段统计)等等;可对其中的离散型特征直接做组合

1.3 特征处理——“劣汰优胜“
• 特征工程通常会提取出大量特征,该如何选择出好的特征子集?
• 劣态:剔除几乎无关的特征,保留大量特征
• 处理自变量间共线性:可通过特征组合处理;A与B存在共线性,保留A,构造A/B
• 特征工程通常会提取出大量特征,该如何选择出好的特征子集?
• 劣态:剔除几乎无关的特征,保留大量特征
• 优胜:挑选出良好特征,组成最优特征子集
• 特征重要性分析方法
• Mean Variance Test,见《02.数据分析与探索》
• SHAP
• Permutation Importance
• SHAP
• SHapley Additive exPlanations
• Python包shap
• 解释任意机器学习模型的输出
• SHAP Value为正,表明变量对预测值有促进作用
• SHAP Value为负,表明变量对预测值有抑制作用
• 绝对值越大 => 对预测影响越大
• Permutation Importance
• Python包eli5
• 一个特征被处理为随机数后,若模型效果下降明显,则认为该特征重要

2. 面向资金流入流出预测的特征工程

2.1 工具包载入及数据划分

import pandas as pd
import numpy as np
from scipy import stats
import datetime
import seaborn as sns
import matplotlib.pyplot as plt
from mvtpy import mvtest
from wordcloud import WordCloud
import shap
import eli5
from eli5.sklearn import PermutationImportance
from sklearn import tree
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LinearRegression
import warnings
warnings.filterwarnings('ignore')

2.2 劣汰
• 基于《02.数据分析与探索》提取是/否类型的特征
• 是否周一、是否周二……是否周日
• 与节假日相关的特征——是否节假日、是否节假日第一天、是否节假日最后一天等等
• 与月初、月末相关的特征

2.3 优胜

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值