草庐IT

sparse-matrix

全部标签

python - 如何在 Python 的 SciPy 中更改稀疏矩阵中的元素?

我已经构建了一个小代码,我想用它来解决涉及大型稀疏矩阵的特征值问题。它工作正常,我现在要做的就是将稀疏矩阵中的一些元素设置为零,即最上面一行中的元素(对应于实现边界条件)。我可以调整下面的列向量(C0、C1和C2)来实现这一点。但是,我想知道是否有更直接的方法。显然,NumPy索引不适用于SciPy的sparse包。importscipy.sparseasspimportscipy.sparse.linalgaslaimportnumpyasnpimportmatplotlib.pyplotasplt#discretizex-axisN=11x=np.linspace(-5,5,N)p

python - 如何在 Python 的 SciPy 中更改稀疏矩阵中的元素?

我已经构建了一个小代码,我想用它来解决涉及大型稀疏矩阵的特征值问题。它工作正常,我现在要做的就是将稀疏矩阵中的一些元素设置为零,即最上面一行中的元素(对应于实现边界条件)。我可以调整下面的列向量(C0、C1和C2)来实现这一点。但是,我想知道是否有更直接的方法。显然,NumPy索引不适用于SciPy的sparse包。importscipy.sparseasspimportscipy.sparse.linalgaslaimportnumpyasnpimportmatplotlib.pyplotasplt#discretizex-axisN=11x=np.linspace(-5,5,N)p

python:多分类-计算混淆矩阵confusion_matrix、precision、recall、f1-score分数

1.目标:多分类,计算混淆矩阵confusion_matrix,以及accuracy、precision、recall、f1-score分数。2.代码:1)使用sklearn计算并画出混淆矩阵(confusion_matrix);2)使用sklearn计算accuracy(accuracy_score);3)使用sklearn计算多分类的precision、recall、f1-score分数。以及计算每个类别的precision、recall、f1-score。precision:precision_scorehttps://scikit-learn.org/stable/modules/ge

python - Python 中是否支持稀疏矩阵?

python中是否支持稀疏矩阵?可能在numpy或scipy中? 最佳答案 是的。SciPi提供scipy.sparse,“用于数值数据的二维稀疏矩阵包”。Therearesevenavailablesparsematrixtypes:csc_matrix:CompressedSparseColumnformatcsr_matrix:CompressedSparseRowformatbsr_matrix:BlockSparseRowformatlil_matrix:ListofListsformatdok_matrix:Dictio

python - Python 中是否支持稀疏矩阵?

python中是否支持稀疏矩阵?可能在numpy或scipy中? 最佳答案 是的。SciPi提供scipy.sparse,“用于数值数据的二维稀疏矩阵包”。Therearesevenavailablesparsematrixtypes:csc_matrix:CompressedSparseColumnformatcsr_matrix:CompressedSparseRowformatbsr_matrix:BlockSparseRowformatlil_matrix:ListofListsformatdok_matrix:Dictio

python - 从 scikit-learn 中的截断 SVD 中获取 U、Sigma、V* 矩阵

我正在使用scikit-learn包中的截断SVD。在SVD的定义中,原始矩阵A近似为乘积A≈UΣV*其中U和V具有正交列,Σ是非负对角线。我需要得到U、Σ和V*矩阵。看源码here我发现V*在调用fit_transform后存储在self.components_字段中。是否可以得到U和Σ矩阵?我的代码:importsklearn.decompositionasskdimportnumpyasnpmatrix=np.random.random((20,20))trsvd=skd.TruncatedSVD(n_components=15)transformed=trsvd.fit_tra

python - 从 scikit-learn 中的截断 SVD 中获取 U、Sigma、V* 矩阵

我正在使用scikit-learn包中的截断SVD。在SVD的定义中,原始矩阵A近似为乘积A≈UΣV*其中U和V具有正交列,Σ是非负对角线。我需要得到U、Σ和V*矩阵。看源码here我发现V*在调用fit_transform后存储在self.components_字段中。是否可以得到U和Σ矩阵?我的代码:importsklearn.decompositionasskdimportnumpyasnpmatrix=np.random.random((20,20))trsvd=skd.TruncatedSVD(n_components=15)transformed=trsvd.fit_tra

python - 确定 scipy.sparse 矩阵的字节大小?

是否可以确定scipy.sparse矩阵的字节大小?在NumPy中,您可以通过执行以下操作来确定数组的大小:importnumpyasnpprint(np.zeros((100,100,100).nbytes)8000000 最佳答案 稀疏矩阵由常规numpy数组构成,因此您可以像获取常规数组一样获取其中任何一个的字节数。如果你只想要数组元素的字节数:>>>fromscipy.sparseimportcsr_matrix>>>a=csr_matrix(np.arange(12).reshape((4,3)))>>>a.data.nb

python - 确定 scipy.sparse 矩阵的字节大小?

是否可以确定scipy.sparse矩阵的字节大小?在NumPy中,您可以通过执行以下操作来确定数组的大小:importnumpyasnpprint(np.zeros((100,100,100).nbytes)8000000 最佳答案 稀疏矩阵由常规numpy数组构成,因此您可以像获取常规数组一样获取其中任何一个的字节数。如果你只想要数组元素的字节数:>>>fromscipy.sparseimportcsr_matrix>>>a=csr_matrix(np.arange(12).reshape((4,3)))>>>a.data.nb

python - 扩展(添加行或列) scipy.sparse 矩阵

假设我有一个来自scipy.sparse的NxN矩阵M(lil_matrix或csr_matrix),我想将其设为(N+1)xN,其中M_modified[i,j]=M[i,j]为0 最佳答案 Scipy无法在不复制数据的情况下执行此操作,但您可以通过更改定义稀疏矩阵的属性自行完成。构成csr_matrix的属性有4个:data:包含矩阵中实际值的数组indices:一个数组,包含与data中每个值对应的列索引indptr:一个数组,它指定每行数据中第一个值之前的索引。如果该行为空,则索引与上一列相同。shape:包含矩阵形状的元组