用户画像中的特征工程
特征工程的4个步骤
特征理解(识别并提取不同等级的数据)
数值型特征处理
使得尺度不同的数据能够相互比较
- 特征的缩放(归一化/标准化)
- 特征的转换(正则化)
类别型特征处理
- 序号编码
- 独热编码
- 二进制编码
特征增强(清洗数据)
特征增强主要的方法:
- 填充缺失值
- 清除异常值
- 去除不需要的数据
特征构建(生成新特征)
特征构建主要的方法:
- 分组、聚合
- 分解类别属性
- 交叉特征
特征选择(选取性能最佳特征)
- 过滤法:对每一维特征赋予权重并排序
- 包装法:看作特征子集搜索寻优的问题
- 嵌入法:学习器自动选择特征
文本型数据的特征提取
文本型数据的特征值化(中文不支持特征值化,需要做分词处理)
中文分词器:
- 哈工大LTP
- 清华大学THULAC
- 结巴分词器
- 中科院NLPIR
- FoolNLTK
文本型数据的特征值化
onehot编码
- 将每一个单词使用一个离散的向量表示
- 保证单个特征只有1位处于状态1,其他都为0
缺点:
- 维度过高
- 矩阵稀疏
词袋模型
- onehot编码是针对句子的向量化
- 词袋模型是针对文档
- onehot编码在文本向量化上属于词袋模型
TF-IDF
在所有文章中都出现的词是不重要的
- T F ( t , d ) TF(t,d) TF(t,d):词条t在文档d中出现的频率
- I D F ( t ) IDF(t) IDF(t):逆文本频率指数,它可以衡量词条t,用于区分这篇文档和其他文档的重要性
- 每 个 词 的 权 重 ( T F − I D F ) = T F ∗ I D F 每个词的权重(TF-IDF)=TF*IDF 每个词的权重(TF−IDF)=TF∗IDF:TF-IDF值越大,这个词成为关键词的概率越大
特征交叉
- 本质上是一个笛卡尔积,将多个特征列进行笛卡尔积(暴力交叉)
- 特征交叉有助于表示非线性关系
- 将两个或多个特征相乘来对特征空间中的非线性规律进行编码
为什么需要FM算法
FM算法解决了特征组合和高维稀疏矩阵这两个问题
- 对于类别特征变量进行onehot编码,会带来数据的高维和稀疏
- 对于普通线性模型,并没有考虑特征与特征之间的关系
- FM算法能够组合特征:引入交叉项
- FM算法能够消除高维灾难:引入隐向量