使用 scikit 时 scipy.sparse 矩阵的缩放问题

2024-06-19

在使用 scikit-learn 解决机器学习问题时,我需要在使用 SVM 进行训练之前对 scipy.sparse 矩阵进行缩放。但在文档 http://scikit-learn.org/stable/modules/preprocessing.html#preprocessing其中明确提到:

仅当 with_mean=False 显式传递给构造函数时,scale 和 StandardScaler 才接受 scipy.sparse 矩阵作为输入。否则,将引发 ValueError,因为静默居中会破坏稀疏性,并且经常会因无意中分配过多内存而导致执行崩溃。

这意味着我不能对此进行零均值。那么如何缩放这个稀疏矩阵,使其均值和单位方差也为零?我还需要存储这个“缩放”,以便我可以在测试矩阵上使用相同的转换来缩放它。


如果矩阵很小,可以用以下方法使其稠密化:X.toarray()。如果矩阵很大,那么这可能会耗尽你的 RAM。

作为均值中心化和缩放的替代方法,您可以尝试使用每个样本归一化sklearn.preprocessing.Normalizer;这适用于频率特征(例如在文本分类中)。

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

使用 scikit 时 scipy.sparse 矩阵的缩放问题 的相关文章

  • 以清晰的方式在 1 个轴上显示 3 个直方图 - matplotlib

    我生成了 3 组数据 它们以 numpy 数组的形式组织 我有兴趣将这三组数据的概率分布绘制为标准化直方图 所有三个分布看起来几乎相同 因此将所有三个分布绘制在同一轴上以便于比较似乎是明智的 默认情况下 matplotlib 直方图绘制为条
  • 数据框应用不接受轴参数

    我有两个数据框 data and rules gt gt gt data gt gt gt rules vendor rule 0 googel 0 google 1 google 1 dell 2 googly 2 macbook 我正在
  • Selenium AttributeError:列表对象没有属性 find_element_by_xpath

    我正在尝试从网站上抓取一些营养数据 到目前为止一切似乎都进展顺利 直到我遇到格式略有不同的页面 使用 selenium 和这样的行 返回一个空列表 values browser find elements by class name siz
  • pygame中物体的速度?

    我正在编写一个简单的 pygame 程序 仅包含在屏幕上移动一个框 盒子移动得很快 我想知道如何控制速度 在我的代码中 更新后的位置移动了 1 而不是更小 因为如果数字不是整数 就会使事情变得更加复杂 import os sys impor
  • 如何融化数据框以获取范围内的所有日期?

    我有一个这样的数据集 import pandas as pd pd DataFrame col1 1 2 start date 1 3 2019 1 10 2019 end date 1 5 2019 1 12 2019 我想为开始日期和结
  • 使用 Python 请求通过 POST 请求发送图像

    我目前正在尝试使用 Python 3 5 和 Requests 库来发送 POST 请求 此 POST 将发送一个图像文件 这是示例代码 import requests url https api address files files o
  • 如何让 Numpy 将每一行/张量视为一个值

    许多功能 例如in1d https docs scipy org doc numpy 1 13 0 reference generated numpy in1d html and setdiff1d https docs scipy org
  • Celery未注册任务KeyError

    我通过在终端中执行以下命令来启动工作程序 celery A cel test worker loglevel INFO concurrency 10 n worker1 h 然后我收到一条长循环错误消息 指出 celery 已收到未注册的任
  • 十六进制转储文件的Pythonic方式

    我的问题很简单 有什么方法可以用 bash 命令以 Python 方式进行编码吗 hexdump e 2 1 02x file dat 显然 不使用 os popen 或任何快捷方式 编辑 虽然我没有明确指定 但如果代码在 Python3
  • Numpy、Python:广播时自动扩展数组维度

    考虑以下 Numpy 数组广播练习 import numpy as np v np array 1 0 2 0 T column array A2 np random randn 2 10 2D array A3 np random ran
  • 哪个 Python IDE 可以逐行运行我的脚本?

    我不会称自己为程序员 但我最近开始学习 Python 并且非常喜欢它 到目前为止 我主要将它用于小任务 脚本编写 文本处理 KML 生成和 ArcGIS 根据我使用 R 的经验 使用出色的 Notepad 和NppToR http sour
  • 调用 close() 后大文件没有立即刷新到磁盘?

    我正在使用 python 脚本创建大文件 超过1GB 实际上有 8 个 在创建它们之后 我必须创建将使用这些文件的进程 该脚本如下所示 This is more complex function but it basically does
  • Python Turtle 未按照文档示例填充

    我试图向我女儿展示一些代码 并认为海龟会很有趣 我更喜欢数字 但这对孩子们来说并不有趣 我在重现文档示例时遇到问题 这更让我烦恼 因为我无法弄清楚 我们还有很多其他事情可以做 The documentation example copied
  • 转换为 Base 64 时,TypeError: 'str' 不支持缓冲区接口 [重复]

    这个问题在这里已经有答案了 im Image open filePath load image self msg str bytearray list im getdata convert image data to string enco
  • 与正在运行的进程通信

    We have 基于Python的服务器 A 正在运行的命令行应用程序 在同一台 Linux 机器上 能够读取stdin 计算一些东西并将输出提供给stdout B 将输入从 A 发送到的最佳 最优雅 方式是什么 stdin B 的 并等待
  • 带有 pygame 的 Pyinstaller

    我曾多次尝试使用 PyInstaller 来捆绑我的 Python2 程序 但它似乎从未与 Pygame 模块一起使用 我已经看到了有关此主题的许多其他问题 但我找不到任何有用的答案 有人知道这个问题的解决方案吗 我正在尝试在 Ubuntu
  • 如何在不重复代码的情况下定义 randint 元组?

    我经常使用 randint 元组来表示颜色值等 a b c randint 0 255 randint 0 255 randint 0 255 当我认为必须有更好的方法时 有吗 使用numpy 1 import numpy as np tu
  • PyPy/RPython 可以用来生成小型独立可执行文件吗?

    或者 可以使用 PyPy RPython 将 Python 编译 翻译为 C C 不需要 Python 运行时 我试图通过它的 RPython 和 Python 它的运行 它的编译和它的翻译来理解 PyPy 但有些失败 I have a h
  • Scipy odeint 非负解

    显然 从 ODE 求解器获得非负解并非易事 https stackoverflow com questions 6977107 solving a delay differential equation dde system constra
  • Django 类视图未返回 HttpResponse 对象。它返回 None 相反

    urls py from housepost views import ListingPost url r house post ListingPost as view name post house views py from djang

随机推荐