特征处理

好的数据及特征往往是一个性能优异模型的基础

 

特征处理:

数据清洗(缺失值处理,异常值检验,调配样本比例和权重)

数据规范化

特征衍生与规范

 

特征选择:

特征过滤

Wrapper method

Embedded method

 

 

数据清洗(缺失值处理,异常值检验,调配样本比例和权重)

缺失值处理:(以免引入过多人工信息)

方法:删除缺失值和填充缺失值

删除缺失值,当某一样本的多个值缺失时,便可删除这一样本

当某一特征的缺失值,多于样本总数的一半,也就是当一半多的样本都缺失这一特征值时,可以将这一特征删除。

 

异常值检验:

  1. 基于高斯分布,随着一个特征进行变化,看另一特征是否太偏离高斯分布,超过三倍标准差
  2. 聚类方法
  3. One class svm  

Novelty detection :当训练数据中没有离群点,我们的目标是用训练数据训练出的模型去检验另外发现的新样本

 

 

数据规范化

数据无量纲化

连续变量离散化

离散变量处理

 

数据无量纲化:去除数据的单位限制,将其转换为无量纲的纯数字

  1. 标准化处理:      对每一列进行处理
  2. 极值化处理: 
  3. 均值化:

连续变量离散化:一些情况下离散变量能简化模型计算并提高模型的稳定性。

 

 

特征提取

  1. PCA主成分分析

  去除均值,对每一个特征减去各自的均值

  计算协方差矩阵

   计算协方差矩阵的特征值和特征向量

   将特征向量按照特征值从大到小的顺序,取靠前的k个特征向量

   将数据转换为k个特征向量构建的空间中,即为降维到k维后的数据

 

  1. LDA线性判别分析

计算类内离散度矩阵

计算类间离散度矩阵

计算类内里算的矩阵的逆与类间离散度矩阵的乘积

计算乘积结果的最大特征值及其对应的特征向量,得到投影矩阵

将数据集中每一个样本特征转换为新样本

输出得到新数据集

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Transformer 是一种用于自然语言处理任务的模型,但它也可以应用于图像处理任务。在图像处理中,可以将图像的特征向量看作是单词序列,然后将其输入到 Transformer 模型中进行处理。这样可以得到与输入特征维度相同的输出特征。 下面是一个示例代码,演示了如何使用 Transformer 进行图像特征处理: ```python import torch import torch.nn as nn import torch.nn.functional as F class TransformerFeatureExtractor(nn.Module): def __init__(self, input_dim, output_dim, num_layers, num_heads): super(TransformerFeatureExtractor, self).__init__() self.embedding = nn.Linear(input_dim, output_dim) self.transformer = nn.TransformerEncoder( nn.TransformerEncoderLayer(output_dim, num_heads), num_layers ) def forward(self, x): x = self.embedding(x) x = x.permute(1, 0, 2) # 调整输入形状为 (seq_len, batch_size, input_dim) x = self.transformer(x) x = x.permute(1, 0, 2) # 调整输出形状为 (batch_size, seq_len, output_dim) return x # 创建一个 Transformer 特征提取器 input_dim = 256 # 输入特征维度 output_dim = 512 # 输出特征维度 num_layers = 4 # Transformer 层数 num_heads = 8 # 注意力头数 feature_extractor = TransformerFeatureExtractor(input_dim, output_dim, num_layers, num_heads) # 定义输入特征向量 batch_size = 16 seq_len = 10 input_features = torch.randn(batch_size, seq_len, input_dim) # 使用 Transformer 进行特征处理 output_features = feature_extractor(input_features) print(output_features.shape) # 输出特征的形状 ``` 这段代码定义了一个名为 `TransformerFeatureExtractor` 的模型,它包含一个线性层用于将输入特征向量映射到输出特征维度,并使用多层的 TransformerEncoder 进行特征处理。在示例中,我们使用随机生成的输入特征向量进行演示,并打印输出特征的形状。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值