问题标签 [binary-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
932 浏览

r - 如何将数据帧转换为 R 中的二进制/逻辑矩阵?

所以我有一个数据框,其中包含一堆与项目的交易,有点像这样:

我有一个所有现有项目的列表,现在我想将其转换为具有 0 和 1 值的逻辑矩阵。因此,如果给定行中存在项目,则矩阵中的该条目应为 1。

是否有捷径可寻?

编辑: 对于逻辑矩阵,我们需要为每个项目生成一列,为每个事务生成一行。

0 投票
2 回答
53 浏览

r - 如何制作比较多列的二进制矩阵

我是编程和 R 的新手。

我在列中有这样的数据:

我想制作一个二进制矩阵,将所有列与 C1 进行比较,其中 1 为 TRUE,0 为 FALSE。我想要这样的东西:

有谁知道如何做到这一点?谢谢你。

0 投票
2 回答
53 浏览

r - 如何从二进制表/矩阵创建表达式输入样式格式?

我的 R 脚本中有一个像这样的二进制表:

我如何从中获得以下信息?

Edit1:以上数据是虚拟数据。根据@RonakShah 请求添加 dput 信息。这是我在表格中的数据样本。

从上面粘贴的 dput 数据中,我期望以下输出,这是 6 个样本中的一个,5 个样本具有 KPC-2,1 个样本同时具有 KPC-2 和 CTX-M-27。

0 投票
1 回答
47 浏览

algorithm - 如何从给定矩阵的一组矩阵中​​找到最小汉明距离矩阵?

我有一组非常大的 400x400 二进制矩阵M。对于给定的二进制矩阵A,如何在集合M中找到矩阵B ,使其与A的汉明距离最小?

0 投票
2 回答
2405 浏览

python - 使用特定值创建 pytorch 张量二进制掩码

我得到了一个带有整数的 pytorch 2-D 张量,以及始终出现在张量的每一行中的 2 个整数。我想创建一个二进制掩码,在这两个整数的两次出现之间包含 1,否则为 0。例如,如果整数是 4 和 2,并且一维数组是[1,1,9,4,6,5,1,2,9,9,11,4,3,6,5,2,3,4],则返回的掩码将是:[0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0]. Is there any无需迭代即可计算此掩码的有效且快速的方法?

0 投票
0 回答
329 浏览

c++ - 任意长度的汉明码编码器(二进制矩阵向量乘法,在 CPU 上,与平台无关)

该问题似乎非常适合 GPU、FPGA 等(因为它非常并行);但我现在正在寻找一种基于 CPU 且在某种程度上独立于架构的解决方案。我认为一个好的答案可能只是一些未实现的伪代码,但我的程序是纯 C++20,所以答案应该与该上下文相关(例如,不要假设像 Python 这样非常高级的东西,不要使用编译器特定的内在函数或程序集)。我并不期待令人兴奋的性能,但我确实希望答案比我已经拥有的三个实现快得多(在这个文件):一种非常幼稚的方法,没有生成器矩阵,以及一种幼稚的“将输入向量与密集生成器矩阵相乘”方法。答案应该适用于任意码字和输入长度,但重要的码字长度在 2000 位以下,小输入长度并不重要。

一些预备知识:所讨论的二进制数的加法和乘法分别定义为“异或”(XOR)和“与”逻辑/按位运算。这扩展到二进制矩阵乘法。

汉明码是旧的和众所周知的二进制线性块错误检测/纠正码。每个码字是一串位,其中一些位位置被指定为奇偶校验位,用于错误检测和纠正,而其余位是数据位,如果没有错误,它们只是输入位的副本。我们只考虑奇偶校验位位于传统的二次幂位置的汉明码(即,基于 1 的编号:位 1、位 2、位 4、位 8,...)。因此,每个可能的代码都可以使用它的长度n(代码字中的位数)或它的等级k(代码字中的数据位数)来确定。汉明码可以称为(n, k),例如,(7, 4)(40, 34)

每个代码都有一个生成矩阵,一个二进制矩阵,输入向量可以与该矩阵相乘以获得一个代码字。因此,某个代码的代码字集合正是生成矩阵的行的线性组合集合。

所需的程序基本上是一个编码器:它以一(n, k)对作为输入来提供代码(是的,这是多余的 - 本质上只需要一对)和一个任意二进制消息,将消息分成k-bits long sub-消息并输出一系列 - 位n长码字,每个码字编码一个子消息。

我希望在这里得到一个利用特定于我们的生成器矩阵的属性的答案(例如,生成器矩阵的特殊表示和特殊的向量矩阵乘法算法),所以这里是一些代码的生成器矩阵的示例:

汉明码(3, 1)(只有代码字000111):

汉明码((5, 2)只有代码字0000011100和):1001101111

汉明码(6, 3)

(注意每个生成矩阵如何包含所有较小代码的生成矩阵。)

汉明码(150, 142)(所有零都留空,所以那些会更突出):

请注意,在大多数生成器矩阵的所有零中,零的数量相对较少,而且这些矩阵肯定有一个模式,甚至是形状。

我在这里的所有相关领域都很薄弱,所以请尝试纠正我犯的任何可能的错误。

0 投票
1 回答
144 浏览

algorithm - 具有指定方向的二进制矩阵中存在路径

我有一个用 0 和 1 填充的二进制矩阵 (N*M)。示例:

起点 S 是左上角,目的地 D 是右下角。从 S 开始,允许执行以下步骤:

  1. 下降 1 级 (↓)
  2. 向右走 1 步 (→)
  3. 向右和向下对角线 1 步(➘)

但只能使用带有“1”的条目,因为“0”代表障碍。因此,例如在我的示例矩阵中,有三种可能的路径。

目标:我正在寻找的是确定是否存在路径的最有效算法。该算法只需要在上述限制下输出 TRUE(如果至少存在一条从 S 到 D 的路径)和 FALSE(如果不存在从 S 到 D 的路径)。它不需要确定最短路径。仅是否存在满足条件的路径。

我研究过 DFS 和 BFS,但我不确定它们是否对我的问题最有效。

0 投票
0 回答
58 浏览

python - 在逻辑回归中强制使用二元系数

我面临一个分类问题,我需要根据特征的存在与否对样本进行分类。

数据矩阵X是二进制的scipy.sparse.csr_matrix

我试图LogisticRegressionpenalty='l1'and拟合一个C=0.5,它给出了非常好的指标和非常稀疏的系数,这是所期望的。

但是,我的问题的另一个要求是在 {0, 1} 中具有二进制系数或在 {0, 1, -1} 中具有系数。意义特征要么对正类的样本分类有积极贡献,要么消极或不贡献,但两个积极贡献的特征必须同等贡献。

我猜想实现这一点的一种简单方法是添加一个正则化项:

注册

原来的优化问题是:

注册

这样系数确实是稀疏的,非零系数必须为 1 或 -1。现在我使用的solver=liblinear效率非常高,但它是用 c++ 编写的,所以不太容易修改。由于我正在使用penalty=l1,唯一的其他选择solver='saga'是不幸的是在我的经验中要慢得多。此外,代码在 cython 中,修改起来并不容易

是否有另一种(更简单的?)方法来实现这一目标?也许有人知道一种已经被广泛使用但我错过的方法?

0 投票
1 回答
27 浏览

c++ - 有没有从 arr[0][0] 到 arr[n][n] 的“0”的任何方式?(不允许歪斜)

我被要求解决高级编程课程中的一个问题,即“假设从 index[0][0] 到 index[n][n] 的 0 和 1 矩阵中是否存在任何水平 - 垂直方式的 '0?” 并引导可通过递归函数求解。在下一节课中,导师解决了它,我不明白它是如何工作的。我把代码放在下面。

有人可以像我“eli5”一样向我解释吗?