有效地对矩阵进行行标准化

2023-12-04

我需要一种有效的方法来对稀疏矩阵进行行标准化。

Given

W = matrix([[0, 1, 0, 1, 0, 0, 0, 0, 0],
            [1, 0, 1, 0, 1, 0, 0, 0, 0],
            [0, 1, 0, 0, 0, 1, 0, 0, 0],
            [1, 0, 0, 0, 1, 0, 1, 0, 0],
            [0, 1, 0, 1, 0, 1, 0, 1, 0],
            [0, 0, 1, 0, 1, 0, 0, 0, 1],
            [0, 0, 0, 1, 0, 0, 0, 1, 0],
            [0, 0, 0, 0, 1, 0, 1, 0, 1],
            [0, 0, 0, 0, 0, 1, 0, 1, 0]])
row_sums = W.sum(1)

我需要生产...

W2 = matrix([[0.  , 0.5 , 0.  , 0.5 , 0.  , 0.  , 0.  , 0.  , 0.  ],
             [0.33, 0.  , 0.33, 0.  , 0.33, 0.  , 0.  , 0.  , 0.  ],
             [0.  , 0.5 , 0.  , 0.  , 0.  , 0.5 , 0.  , 0.  , 0.  ],
             [0.33, 0.  , 0.  , 0.  , 0.33, 0.  , 0.33, 0.  , 0.  ],
             [0.  , 0.25, 0.  , 0.25, 0.  , 0.25, 0.  , 0.25, 0.  ],
             [0.  , 0.  , 0.33, 0.  , 0.33, 0.  , 0.  , 0.  , 0.33],
             [0.  , 0.  , 0.  , 0.5 , 0.  , 0.  , 0.  , 0.5 , 0.  ],
             [0.  , 0.  , 0.  , 0.  , 0.33, 0.  , 0.33, 0.  , 0.33],
             [0.  , 0.  , 0.  , 0.  , 0.  , 0.5 , 0.  , 0.5 , 0.  ]]) 

Where,

for i in range(9):
    W2[i] = W[i]/row_sums[i]

我想找到一种无需循环(即矢量化)并使用 Scipy.sparse 矩阵来完成此操作的方法。 W 可以大到 10mil x 10mil。


有点矩阵代数

>>> cc
<9x9 sparse matrix of type '<type 'numpy.int32'>'
    with 24 stored elements in Compressed Sparse Row format>
>>> ccd = sparse.spdiags(1./cc.sum(1).T, 0, *cc.shape)
>>> ccn = ccd * cc
>>> np.round(ccn.todense(), 2)
array([[ 0.  ,  0.5 ,  0.  ,  0.5 ,  0.  ,  0.  ,  0.  ,  0.  ,  0.  ],
       [ 0.33,  0.  ,  0.33,  0.  ,  0.33,  0.  ,  0.  ,  0.  ,  0.  ],
       [ 0.  ,  0.5 ,  0.  ,  0.  ,  0.  ,  0.5 ,  0.  ,  0.  ,  0.  ],
       [ 0.33,  0.  ,  0.  ,  0.  ,  0.33,  0.  ,  0.33,  0.  ,  0.  ],
       [ 0.  ,  0.25,  0.  ,  0.25,  0.  ,  0.25,  0.  ,  0.25,  0.  ],
       [ 0.  ,  0.  ,  0.33,  0.  ,  0.33,  0.  ,  0.  ,  0.  ,  0.33],
       [ 0.  ,  0.  ,  0.  ,  0.5 ,  0.  ,  0.  ,  0.  ,  0.5 ,  0.  ],
       [ 0.  ,  0.  ,  0.  ,  0.  ,  0.33,  0.  ,  0.33,  0.  ,  0.33],
       [ 0.  ,  0.  ,  0.  ,  0.  ,  0.  ,  0.5 ,  0.  ,  0.5 ,  0.  ]])
>>> ccn
<9x9 sparse matrix of type '<type 'numpy.float64'>'
    with 24 stored elements in Compressed Sparse Row format>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有效地对矩阵进行行标准化 的相关文章

  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 为什么一旦我离开内置的运行服务器,Django 就无法找到我的管理媒体文件?

    当我使用内置的简单服务器时 一切正常 管理界面很漂亮 python manage py runserver 但是 当我尝试使用 wsgi 服务器为我的应用程序提供服务时django core handlers wsgi WSGIHandle
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • EnableAutoRejoiningGroups 在 SignalR 1.0 中消失

    看起来 GlobalHost HubPipeline EnableAutoRejoiningGroups 已在 SignalR 1 0 最终版本中消失 然而 发行说明中没有提及它的去向 也没有任何线索如何恢复此功能 有人知道发生了什么事吗
  • 了解 C 中的静态变量声明/初始化

    我的项目中只有一个名为 test c 的文件 如果我不定义 TRUE 下面的代码将无法编译 我用的是vc 我只是想了解这种行为 请阐明这方面的情况 ifdef TRUE static int a static int a 1 else st
  • 如何使用正则表达式 String.match() 区分 ${SOME_TEXT}

    我需要这个字符串 var x Hi name How are you name you are old name share with other how do u feel 我需要使用正则表达式知道有多少不同的 ANY THING 存在
  • 为什么非侵入式序列化要添加 5 字节零前缀?

    我正在研究使用 boost archive 的应用程序中从非标准字符串到标准字符串的端口 非标准字符串的 反 序列化以非侵入式方式定义 如下例所示 序列化和反序列化按预期工作 但是当移植的应用程序收到旧消息时 它会因分配错误而崩溃 这是由于
  • opencv 的 Python/Kivy 相机小部件错误

    我一直在尝试制作一个打开设备相机的应用程序 但出现此错误 CRITICAL Camera Unable to find any valuable Camera provider at all videocapture ImportError
  • 导入错误:无法导入名称“_imagingtk”

    我正在使用 Anaconda 和 python 3 4 但我无法在 Windows 8 1 上获得我需要的所有枕头包 我通过 Anaconda 控制台安装了枕头 pip install pillow 这导致 The following pa
  • 无法在 Anaconda 中安装聊天机器人

    安装时chatterbot在 Anaconda 中使用 Python 3 7 我收到以下错误 找到现有安装 PyYAML 3 13 无法卸载 PyYAML 它 是一个 distutils 安装项目 因此我们无法准确地 确定哪些文件属于它 这
  • 如何在 PL/pgSQL 中按行类型返回表

    我正在尝试使用 PL pgSQL PostgreSQL 9 3 实现一个函数 该函数返回与参数中的输入表具有相同结构的表 基本上 我想更新一个表 并使用 plpgsql 返回更新后的表的副本 我搜索了一下 发现了几个相关的问题 例如从 PL
  • 继承 Angular 5 组件并覆盖装饰器属性

    在 Angular 2 4 中 我们可以创建自定义装饰器来扩展父组件 装饰器属性的实际重写是根据需要在自定义装饰器中处理的 为了获取父注释 我们使用了 let parentAnnotations Reflect getMetadata an
  • CMake:我如何依赖自定义目标的输出?

    我无法修改的传统 Make 流程会生成一个我必须对其进行一些后处理的目标 I use add custom target强制 Makefile 始终运行 我用add custom command对于我的后处理步骤 问题是add custom
  • 以编程方式从 IOS 中的配置文件检索数据

    我一直在搜索所有 Apple 文档 包括这些论坛 但无法从我在 iPhone 上创建并安装的配置文件中检索证书 进一步来说 使用 iPhone 配置实用程序 我创建了一个简单的配置文件 其中在 凭据 选项卡下包含一个证书 我现在尝试使用我的
  • 如何将 XML 块从一个文档复制到另一个文档?

    我有两个 dataGridView 每个都加载一个 XML 文件 这样您就可以在每个网格之间拖放行 然而目前 它所做的只是从 dataGridView 复制数据 这工作正常 但我需要复制与该行相关的所有 XML 这是我必须使用的 XML
  • WPF:使用线程访问 UI 对象会出现错误

    我有一个在文件夹中修改文件时调用的函数 此函数更新存储在 UI 中的列表视图的项目 这是函数 Private Sub FileChangeNotify Try LstMoulures Items Refresh Catch ex As Ex
  • 传递 ArrayList 到 Activity

    我搜索了一些主题 但没有找到解决我的问题的方法 public class Series implements Parcelable private String name private int numOfSeason private in
  • 图表工具在 Visual Studio 中呈灰色显示

    我正在尝试将图表添加到 Visual Studio 表单 但该按钮呈灰色 我正在使用 NET Framework 3 5 和 C 按照在线说明 我已从此链接下载并安装了 dll 文件 http www microsoft com en us
  • 如何在表单提交后使用 Ajax POST

    我认为这很简单 但我无法在任何地方找到如何做到这一点 正如标题所示 在成功提交表单帖子后如何执行 ajax 帖子 我试图搜索它 但我看到的只是与我需要的相反 这是在 ajax 帖子之后提交的 我会尝试制作一个与我正在做的非常相似的程序草案
  • React Native - 使用状态时文本输入闪烁

    我正在向 TextInput 组件的输入文本添加一些验证 TextInput 的值在状态中处理 并且仅在输入的值有效时更新 我的代码看起来像这样 class TextInputWithValidation extends Component
  • 选择时间序列的一部分

    在下面的代码中 我创建了一个简单的数据系列 一个时间向量 然后创建了一个时间序列 我对两者的绘制都没有问题 它们位于同一个图上并不重要 我无法弄清楚如何对时间序列的一部分进行子集化 如最后一个因错误而失败的命令所示 gt gt timese
  • 无法序列化/反序列化 ArrayList

    我正在尝试序列化和反序列化一个数组列表 其中包含一个对象 HairBirt param new HairBirt param setName name param setValue 2 3f HairBirt param2 new Hair
  • 有效地对矩阵进行行标准化

    我需要一种有效的方法来对稀疏矩阵进行行标准化 Given W matrix 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0