特征工程——Tabular Data Features & multimodal features

文章探讨了在机器学习和深度学习中特征工程的角色。虽然深度学习能自动提取特征,但在实际应用中,特征筛选仍然关键,特别是对大规模的表格数据。TabularDataFeatures涉及数值型、类别型和时间类型数据的处理。多模态特征通过不同模态编码器进行处理,如图像的预训练模型。总结指出,对于不同类型的数据,如文本、图片和视频,需采用相应的方法获取特征,而表格数据通常需要手动进行特征工程。
部署运行你感兴趣的模型镜像

一、前言

机器学习时期,要花费大量的时间在特征设计上,好的输入数据可以让训练事半功倍。而有了深度学习后,神经网络可以自动实现特征提取,解放了手工(理论上是这样,实际也是要进行特征筛选的,因为在应用中特征一般都很大,几千万或上亿,如果输入网络的特征过多,则模型参数量就会十分巨大,模型训练起来就会十分困难)。

二、Tabular Data Features(表格数据特征)

  • 数值型数据(例如用户ID,年龄)等,直接使用或划分为n个bin区间(连续形式数据离散化)
  • 类别型数据,one-hot编码/multi-hot编码
  • 时间类型数据
  • 特征交叉

注:此类特征使用时一般要先输入embedding层获得潜入向量,再输入神经网络

三、multimodal features

多模态特征被馈送到不同的模态编码器中,用来提取表征。多模态编码器是其他领域中使用的通用架构,例如图像中的ViT,文本中的Bert……。

Image/Video Features

对于图片、视频类型数据,基本都是通过预训练出一个神经网络的模型,获取相应的向量表达。比如可以通过Image Net里面获取一个预训练好的模型,将我们的图片样本输入到模型进行训练,然后拿到hidden_layer里面的最后一层作为当前图片样本的特征数据。
 

四、总结

  • 对于文本,图片,视频类型数据,可以通过预训练好的模型获取我们所需要的数据信息。
  • 而对于Tabular类型的数据,就需要手动进行构造特征工程,使得模型训练学习到更多维度的信息

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

### 表格数据增强的技术和方法 表格数据增强(Tabular Data Augmentation)是机器学习领域中用于提高模型性能的一种技术。其核心思想是通过生成额外的训练样本或调整现有样本,使模型能够更好地泛化并减少过拟合。以下是一些常用的技术和方法: #### 1. 数据插值与外推 数据插值是一种通过线性或非线性方式在现有样本之间生成新样本的方法[^2]。例如,可以通过均值、加权平均或更复杂的插值算法生成新的特征组合。此外,外推法可以将数据点扩展到超出原始范围的区域,但需谨慎使用以避免引入噪声。 #### 2. 噪声注入 向表格数据中添加可控的随机噪声是一种简单有效的增强方法[^3]。例如,在数值型特征中加入高斯噪声,或对分类变量进行轻微扰动。这种方法可以模拟真实世界中的不确定性,并帮助模型更稳健地处理异常值。 ```python import numpy as np def add_gaussian_noise(data, noise_level=0.1): noise = np.random.normal(0, noise_level, size=data.shape) return data + noise ``` #### 3. 合成少数类过采样技术(SMOTE) SMOTE(Synthetic Minority Over-sampling Technique)是一种专门用于解决类别不平衡问题的技术[^4]。它通过在少数类样本的特征空间中生成新的合成样本,增加模型对少数类的识别能力。 ```python from imblearn.over_sampling import SMOTE smote = SMOTE() X_resampled, y_resampled = smote.fit_resample(X, y) ``` #### 4. 特征变换 特征变换包括对原始数据进行数学操作以生成新的特征。例如,对数值型特征进行对数变换、平方根变换或多项式扩展[^5]。这些变换可以揭示隐藏的模式并改善模型的拟合效果。 ```python from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) X_poly = poly.fit_transform(X) ``` #### 5. 混合样本(Mixup) Mixup 是一种通过线性组合两个样本及其标签来生成新样本的技术[^6]。它不仅适用于图像数据,也可以扩展到表格数据。通过这种方式,模型可以学习到更平滑的决策边界。 ```python def mixup_data(X, y, alpha=0.2): lam = np.random.beta(alpha, alpha) indices = np.random.permutation(len(X)) X_mixed = lam * X + (1 - lam) * X[indices] y_mixed = lam * y + (1 - lam) * y[indices] return X_mixed, y_mixed ``` #### 6. 时间序列增强(若适用) 对于包含时间序列信息的表格数据,可以通过滑动窗口、重采样或周期性扩展等方法生成更多样本[^7]。这种方法特别适合金融、气象等领域的时间序列预测任务。 #### 7. 数据集合并 当存在多个相关数据集时,可以通过合并它们来增加样本多样性[^8]。需要注意的是,必须确保不同数据集之间的分布一致,否则可能导致模型偏差。 --- ### 注意事项 在应用表格数据增强技术时,需注意以下几点: - **保持数据分布一致性**:增强后的数据应尽可能接近原始数据的真实分布。 - **避免过拟合**:过多的增强可能会导致模型过于复杂,反而降低泛化能力。 - **验证增强效果**:建议通过交叉验证评估增强技术对模型性能的实际影响。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值