起因
很想打比赛,然后发现大部分的机器学习比赛中特征工程才是最重要的,因此就小小的总结一下把,也省得天天打游戏==(也不知道能坚持多久???)
方法
- 归一化 (Normalization):通过将特征缩放到一定范围,如0到1或-1到1,以便模型更好地处理不同尺度的特征。避免数据过于离散
- 标准化 (Standardization):通过减去均值并除以标准差,将特征转换为均值为0,方差为1的分布,有助于加速模型收敛。将数据尽可能接近正态分布,主要是为了数据的相似,一般用于k-nn和svm中
- 独热编码 (One-Hot Encoding):将类别型特征转换成二进制向量,每个类别对应一个维度,消除分类之间的大小关系
- 特征交叉 (Feature Crosses):将不同特征进行组合,创建新的特征,有时可以捕获到原始特征之间的交互作用。一般和PCA等方法相结合
- 多项式特征 (Polynomial Features):通过对特征进行多项式扩展,引入高阶项,可以更好地拟合非线性关系
- 频率编码 (Frequency Encoding):用特征出现的频率代替原始值,适用于高基数的类别特征,主要是将频率代替为原始数据
- 目标编码 (Target Encoding):用目标变量的统计信息(如均值、标准差等)替换类别特征,有助于传递目标变量的信息。
- 时间特征 (Time Features):从时间戳中提取出年、月、日、小时等信息,可用于捕捉时间相关的模式,一般用于金融分析,交通物流等具有季节性时间明显的场景(这是时间戳,不是时间序列!!!)
- 文本特征处理 (Text Feature Processing):包括词袋模型、TF-IDF、词嵌入等,将文本转换为机器学习可用的数值特征。这其实算是一种建模方法,适用于文本分类,提取文本中实体信息(主题),从文本数据中挖掘知识和信息
- 缺失值处理 (Handling Missing Values):通过填充、删除或创建新特征来处理缺失值,以避免模型在缺失值上出现问题。最常用的方法,基本是每个特征工程之前必做的数据处理
- 聚类特征 (Cluster-based Features):基于数据聚类结果,为每个数据点分配所属簇的标签,作为新的特征。
- 频域特征 (Frequency Domain Features):从时域数据中提取频域信息,例如傅里叶变换,用于处理周期性数据。用的一般较少,主要是信号频率的处理(和大数据比赛没关系一律不学,嘻嘻!???)
- 统计特征 (Statistical Features):包括均值、标准差、中位数等统计量,可以为模型提供关于数据分布的信息。(个人认为,这个只需要可视化出来就行,比如箱线图之类,主要是为了美观)
- 傅里叶变换 (Fourier Transform):将信号分解为不同频率的成分,适用于处理信号处理领域的数据。(也是信号的东西)
- 降维技术 (Dimensionality Reduction):如主成分分析(PCA)和线性判别分析(LDA),用于减少特征维度并保留主要信息。和下面不同的是,这个需要重新解释新特征(是聚合后的)
- 特征选择 (Feature Selection):通过评估特征与目标变量之间的相关性,选择最具预测能力的特征子集。(比如方差选择法)很重要,过多的特征会导致模型的识别能力变差,同上不同的是,这个是直接筛选不重要的特征
- 时序特征 (Temporal Features):针对时间序列数据,包括滞后特征、移动平均等,用于捕捉时间依赖性。(这是时间序列,不是单独的时间戳!!!)
- 域知识特征 (Domain Knowledge Features):利用专业知识,从原始数据中提取有意义的特征。
- 图像特征提取 (Image Feature Extraction):对图像数据应用卷积神经网络(CNN)等方法,提取视觉特征。主要是局部特征,也就是重要特征(如SIFT、SURF、HOG)
- 降噪 (Noise Reduction):通过滤波等方法,去除数据中的噪声,以提高模型的稳定性和泛化能力。
ps:噪声不是离散值,噪声是人为误差,而离散值是真实数据~~~
- 文本预处理 (Text Preprocessing):包括分词、去除停用词、词干提取等,将原始文本数据转换为可供模型处理的结构化形式。
- TF-IDF (Term Frequency-Inverse Document Frequency):用于衡量词在文本语料库中的重要性,将文本转换为稀疏向量表示。
- 词嵌入 (Word Embeddings):通过训练词向量模型(如Word2Vec、GloVe)将单词映射到连续向量空间,捕捉词义关系。
- 词袋模型 (Bag of Words):将文本表示为词汇表中单词的计数向量,忽略了单词的顺序,但保留了出现信息。
- N-gram特征:考虑连续的N个词作为一个特征,有助于捕捉局部上下文信息。
- Word2Vec特征:利用预训练的Word2Vec模型,将文本中的单词映射到向量空间,作为新的特征。
- GloVe特征:使用全局向量表示法(GloVe)来获得单词的向量表示,适用于文本分类和聚类任务。
- 词频特征 (Word Frequency Features):计算单词在文本中出现的频率,作为特征输入模型。主要是文字识别频率而非离散数据频率
- 字符级特征 (Character-level Features):将文本拆分为字符,提取字符级别的特征,适用于短文本或拼写错误纠正。
- 时间序列特征 (Time Series Features):基于时间戳数据,提取滞后值、趋势、季节性等特征,用于时间序列预测任务,其实和17大差不差