进行特征选择、PCA 和标准化的正确顺序?

2024-01-29

我知道特征选择可以帮助我删除贡献度较低的特征。我知道 PCA 有助于将可能相关的特征减少为一个,从而减少维度。我知道标准化会将特征转换为相同的尺度。

但这三个步骤有推荐的顺序吗?从逻辑上讲,我认为我应该首先通过特征选择来剔除不好的特征,然后对它们进行归一化,最后使用PCA来降低维度,使特征尽可能相互独立。

这个逻辑正确吗?

额外问题 - 还有什么事情要做(预处理或转换) 在将特征输入估计器之前?


如果我正在做某种分类器,我个人会使用这个顺序

  1. 正常化
  2. PCA
  3. 特征选择

标准化:您将首先进行标准化以使数据处于合理的范围内。如果你有数据 (x,y) 和范围x is from -1000 to +1000 and y is from -1 to +1您可以看到任何距离度量都会自动表明 y 的变化不如 X 的变化显着。我们还不知道情况是否如此。所以我们想要标准化我们的数据。

PCA:使用数据的特征值分解来查找描述数据点方差的正交基集。如果您有 4 个特征,PCA 可以向您展示只有 2 个特征真正区分数据点,这使我们进入最后一步

特征选择:一旦有了可以更好地描述数据的坐标空间,您就可以选择哪些特征是显着的。通常,您会使用 PCA 中的最大特征值 (EV) 及其相应的特征向量来表示。由于较大的 EV 意味着该数据方向上存在更大的方差,因此您可以在隔离特征时获得更精细的粒度。这是减少问题维度的好方法。

当然,这可能会因问题而异,但这只是一个通用指南。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

进行特征选择、PCA 和标准化的正确顺序? 的相关文章

  • scikit随机森林sample_weights的使用

    我一直在试图弄清楚 scikit 的随机森林样本权重的使用 但我无法解释我看到的一些结果 从根本上说 我需要它来平衡分类问题和不平衡类 特别是 我期望如果我使用全 1 的 sample weights 数组 我会得到与以下相同的结果w sa
  • 为什么各个树的 xgboost 回归预测存在差异?

    首先 我运行一个非常简单的 xgb 回归模型 其中仅包含 2 棵树 每棵树有 1 个叶子 可用数据here https raw githubusercontent com jbrownlee Datasets master pima ind
  • 如何以干净高效的方式在 pytorch 中获得小批量?

    我试图做一件简单的事情 即使用火炬通过随机梯度下降 SGD 训练线性模型 import numpy as np import torch from torch autograd import Variable import pdb def
  • sklearn 中组件解释的偏最小二乘方差

    我正在尝试使用 sklearn 中的代码执行 PLSRegression 并且我想保留那些解释一定程度方差的组件 例如 PCA 中的组件 有没有办法知道 PLS 中每个分量解释了多少方差 我也有计算每个组件的解释方差的相同要求 我是 PLS
  • 如何在谷歌colab中安装pyearth?

    这曾经对我有用 但两天后我遇到了这个问题 pip install sklearn contrib py earth Collecting sklearn contrib py earth Using cached https files p
  • 如何为DNA序列生成一种热编码?

    我想为一组 DNA 序列生成一个热编码 例如 序列ACGTCCA可以以转置方式表示如下 但下面的代码将以水平方式生成一种热门编码 我更喜欢以垂直方式生成 谁能帮我 ACGTCCA 1000001 A 0100110 C 0010000 G
  • 为什么我的精确率-召回率和 ROC 曲线不平滑?

    我有一些标记为 0 或 1 的数据 我正在尝试使用随机森林来预测这些类别 每个实例都标有 20 个用于训练随机森林的特征 约 30 000 个训练实例和约 6000 个测试实例 我使用以下代码绘制精确召回率和 ROC 曲线 precisio
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 我的训练和验证代码(张量流)是否正确以及模型是否过度拟合?

    这是我的代码 for it in range EPOCH 24410 BATCH SIZE tr pa tr sp sess run tr para tr spec train loss sess run loss fw op feed d
  • scikit-learn kmeans 聚类的初始质心

    如果我已经有一个可以作为初始质心的 numpy 数组 我该如何正确初始化 kmeans 算法 我正在使用 scikit learn Kmeans 类 这个帖子 具有选定初始中心的 k 均值 https stackoverflow com q
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • Keras Predict_classes 方法返回“列表索引超出范围”错误

    我对 CNN 和机器学习总体来说是新手 并且一直在尝试遵循 TensorFlow 的图像分类教程 现在 可以找到Google Colabhere https colab research google com drive 1gwZp7 t
  • 如何使用WordNet或与wordnet相关的类别来实现基于类别的文本标记?

    如何使用wordnet按单词类别标记文本 java作为接口 Example 考虑以下句子 1 计算机需要键盘 显示器 CPU才能工作 2 汽车使用齿轮和离合器 现在我的目标是 例句必须标记为 第 1 句话 电脑 电子键盘 电子中央处理器 电
  • 地图应用的聚类算法

    我正在研究地图上的聚类点 纬度 经度 对于快速且可扩展的合适算法有什么建议吗 更具体地说 我有一系列纬度 经度坐标和一个地图视口 我正在尝试将靠近的点聚集在一起以消除混乱 我已经有了解决问题的方法 see here http bouldr
  • 多输出回归问题的多重损失

    所以我试图训练一个 CNN 模型来预测 4 个实值输出 回归问题 我尝试使用均方误差作为损失函数 我的问题是我是否将输出层分支为 4 个不同的输出层 其中有 4 个不同的输出层由于最后一层的权重是单独更新的 loss 4 MSE 确实可以使
  • Spark 和 Ipython 中将非数字特征编码为数字的问题

    我正在做一些我必须做出预测的事情numeric数据 每月员工支出 使用non numeric特征 我在用Spark MLlibs Random Forests algorthim 我有我的features数据在一个dataframe看起来像
  • scikit-learn 使用的 CART 算法是确定性的吗?

    我从 scikit learn 网站获得以下代码 import numpy as np from sklearn datasets import load iris from sklearn model selection import c
  • 提高SVM分类器准确率的技术

    我正在尝试使用 UCI 数据集构建一个分类器来预测乳腺癌 我正在使用支持向量机 尽管我尽最大努力提高分类器的准确性 但仍无法超过 97 062 我尝试过以下方法 1 Finding the most optimal C and gamma
  • batch_size = x.shape[0] AttributeError: 'tuple' 对象没有属性 'shape'

    该代码结合图像和掩模进行图像检测 我怎样才能纠正这个错误 batch size x shape 0 AttributeError tuple 对象没有属性 shape 这是用于训练的代码 train datagen ImageDataGen
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2

随机推荐

  • 外部车把模板骨干木偶

    在我的应用程序中 我添加了 Marionette sync 插件并覆盖这些方法 Backbone Marionette TemplateCache prototype loadTemplate function templateId cal
  • 具有重复组的正则表达式

    我一直在尝试匹配连字符之间的短语 我意识到我可以轻松地拆分连字符并取出短语 但我的等效正则表达式无法按预期工作 我想了解原因 只是我对短语的定义 只是非捕获空格分隔的连字符 so 正在捕获连字符或行尾 最后 整个内容用括号括起来 量词匹配多
  • AngularJs + ServiceStack 应用程序的安全性

    我有一个前端有四个模块的应用程序 我试图在前端尽可能多地使用 AngularJs 我正在使用一个空的网站 asp net 项目来托管所有文件和 REST serviceStack 我的项目具有以下结构 web config global a
  • ReactJS中子父组件通信

    我喜欢在事件触发时将属性 property props state 值从子组件发送到父组件onDrag 我找不到这方面的正确文档 这是我的代码 jsx React DOM var APP React createClass getIniti
  • jQuery:将 TextArea 内容转换为 html 字符串,反之亦然

    我想做的是将 TextArea 内容转换为有效的 html 代码 假设您在 TextArea 内键入内容 然后按下一个按钮 该按钮会在元素内显示键入的文本 如果您在 TextArea 中输入类似内容 嗨伙计 你喜欢 jQuery 吗 I d
  • Sphinx 过滤器 - 过滤器属性之间可以有“OR”吗?

    我正在使用 sphinx 列出数据库中的一些项目 几乎100 我只是还没弄清楚如何创建一个OR两个不同的过滤器之间 例如 我在数据库中的对象有开始日期和结束日期 我可以filter starting date x y and filter
  • jquery-file-upload 插件:如何更改上传路径?

    我正在尝试使用 blueimp jquery file upload 插件 似乎是一个很好的上传器 但文档没有帮助 当我使用可下载的演示脚本时 一切正常 但是 当我想更改上传路径时 这不起作用 我尝试在index php中更改操作路径 如下
  • Iterable> 无法确认函数中的泛型 T

    这是我的问题 const iterable 1 2 3 function flat
  • ASP.NET Core 使用多种身份验证方法

    同时使用 Cookie 身份验证中间件和 JWT 身份验证中间件 当我登录用户时 我创建自定义声明并将其附加到基于 cookie 的身份 我还从外部源获取一个 jwt 令牌 它有自己的声明 我使用此令牌来访问外部资源 启用身份验证时 我的控
  • 选择列表的字典键和值

    Dictionary
  • RecyclerView 平滑滚动到中心位置。安卓

    我正在使用水平布局管理器RecyclerView 我需要做RecyclerView接下来的方式 当单击某个项目时 平滑滚动到该位置并将该项目放在中心RecyclerView 如果可能的话 例如 从 20 项中选择 10 项 所以 我没有问题
  • 在 postgres 中创建超级用户

    我正在寻找使用 Vagrant 设置 Rails 环境 为此 它是通过 bash shell 方法配置的 其中包括以下行 sudo u postgres createuser
  • Django:从数据库获取一个对象,如果没有匹配的则为“无”

    是否有任何 Django 函数可以让我从数据库中获取对象 或者如果没有匹配则没有 现在我正在使用类似的东西 foo Foo objects filter bar baz foo len foo gt 0 and foo get or Non
  • Laravel 5.5 Collection 哪里喜欢

    我正在使用集合过滤数据 但我需要使用类似的方法 我曾尝试这样写 name LIKE value 但它不起作用 这是我的方法 protected function filterData Collection collection transf
  • 消除“switch”语句[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 消除使用的方法有哪些switch代码中的语句 Switch 语句本身并不是反模式 但如果您正在编写面向对象的代码 则应该考虑是否可以更
  • 在将连续查询添加到生产 influxdb 之前测试连续查询的最佳方法是什么?

    将新的连续查询添加到生产数据库 influxdb 的最佳方法是什么 克隆生产 influxdb 吗 我希望避免这种情况 有没有一种好的方法可以通过网络管理界面来测试和尝试它们 我想你可以 创建临时测量 设置 CQ 插入一些示例数据并在 CQ
  • 删除 Windows Phone 芒果中的后备条目

    我如何删除 wp7 1 中的后退堆栈 我有 3 个页面 当我从 A 导航到 B 时 说 A B C 在 B 中有一个按钮可以添加新的联系方式 当我单击它时 页面导航到页面C 和在页面 C 中有一个 完成 按钮 当我单击 完成 按钮时 页面导
  • 使用 Ecto 的原始 SQL

    我对 Elixir 和 Phoenix Framework 的世界还很陌生 我正在尝试遵循 TheFireHoseProject 教程 但在使用 Ecto 查询原始 SQL 时遇到问题 该教程说这应该有效 defmodule Queries
  • Perl 如何解析未加引号的裸词? (裸词、标识符)

    未加引号的单词在 Perl 中似乎有很多含义 print STDERR msg hash key func param gt arg my x str 如何确定这些的含义 下图显示了 Perl 如何按优先级降序解析标识符 它也适用于由以下链
  • 进行特征选择、PCA 和标准化的正确顺序?

    我知道特征选择可以帮助我删除贡献度较低的特征 我知道 PCA 有助于将可能相关的特征减少为一个 从而减少维度 我知道标准化会将特征转换为相同的尺度 但这三个步骤有推荐的顺序吗 从逻辑上讲 我认为我应该首先通过特征选择来剔除不好的特征 然后对