草庐IT

fundamental_matrix

全部标签

python - scipy.cluster.vq.kmeans2 中的 "Matrix is not positive definite"错误

我正在尝试对128维点(图像中兴趣点的描述符)执行kmeans聚类。当我使用scipy.cluster.vq.kmeans2函数时,有时会出现以下错误:File"main.py",line21,inlevel_routinecurrent.centroids,current.labels=cluster.vq.kmeans2(current.descriptors,k)File"/usr/lib/python2.7/dist-packages/scipy/cluster/vq.py",line706,inkmeans2clusters=init(data,k)File"/usr/lib

python - CVXOPT QP 求解器 : TypeError: 'A' must be a 'd' matrix with 1000 columns

我正在尝试使用CVXOPTqp求解器计算支持向量机的拉格朗日乘数defsvm(X,Y,c):m=len(X)P=matrix(np.dot(Y,Y.T)*np.dot(X,X.T))q=matrix(np.ones(m)*-1)g1=np.asarray(np.diag(np.ones(m)*-1))g2=np.asarray(np.diag(np.ones(m)))G=matrix(np.append(g1,g2,axis=0))h=matrix(np.append(np.zeros(m),(np.ones(m)*c),axis=0))A=np.reshape((Y.T),(1,m)

python - 如何获得 csr_matrix 中列的均值和标准差?

我有一个通过scipy.sparse创建的稀疏988x1向量(csr_matrix中的一列)。有没有办法在不必将稀疏矩阵转换为密集矩阵的情况下获得其均值和标准差?numpy.mean似乎只适用于密集向量。 最佳答案 由于您正在执行列切片,因此最好使用CSC而不是CSR来存储矩阵。但这取决于您对矩阵进行的其他操作。要计算CSC矩阵中列的平均值,您可以使用mean()矩阵的函数。要有效地计算标准偏差,需要付出更多的努力。首先,假设您得到这样的稀疏列:col=A.getcol(colindex)然后像这样计算方差:N=col.shape[

python - Matplotlib imshow : how to apply a mask on the matrix

我正在尝试以图形方式分析二维数据。matplotlib.imshow在这方面非常有用,但我觉得如果我可以从我的矩阵中排除一些单元格,我可以更多地利用它,这些单元格的值超出了感兴趣的范围。我的问题是这些值在我感兴趣的范围内“拉平”了颜色图。排除这些值后,我可以获得更高的颜色分辨率。我知道如何在我的矩阵上应用掩码来排除这些值,但它在应用掩码后返回一个一维对象:mask=(myMatrix>lowerBound)&(myMatrix有没有办法将掩码传递给imshowhowtoreconstructa2darray? 最佳答案 您可以使用n

python - Pandas scatter_matrix - 绘制分类变量

我正在查看Kaggle竞赛中著名的泰坦尼克号数据集:http://www.kaggle.com/c/titanic-gettingStarted/data我已使用以下方式加载和处理数据:#importrequiredlibrariesimportpandasaspdimportmatplotlib.pyplotasplt%matplotlibinline#loadthedatafromthefiledf=pd.read_csv('./data/train.csv')#importthescatter_matrixfunctionalityfrompandas.tools.plottin

python - numpy np.array 与 np.matrix(性能)

在使用numpy时,我经常发现这种区别很烦人-当我从矩阵中提取一个向量或一行,然后使用np.array执行操作时,通常会出现问题。为了减少麻烦,为了简单起见,我有时只使用np.matrix(将所有np.arrays转换为np.matrix)。但是,我怀疑会有一些性能影响。任何人都可以评论这些可能是什么以及原因吗?看起来如果它们都只是引擎盖下的数组,那么元素访问只是一个获取值的偏移量计算,所以如果不通读整个源代码我不确定可能有什么区别。更具体地说,这对性能有什么影响:v=np.matrix([1,2,3,4])#versusthebeloww=np.array([1,2,3,4])谢谢

Matrix 上的 Python PCA 太大而无法放入内存

我有一个100,000行x27,000列的csv,我正在尝试对其进行PCA以生成100,000行X300列的矩阵。csv有9GB大。这是我目前正在做的事情:fromsklearn.decompositionimportPCAasRandomizedPCAimportcsvimportsysimportnumpyasnpimportpandasaspddataset=sys.argv[1]X=pd.DataFrame.from_csv(dataset)Y=X.pop("Y_Level")X=(X-X.mean())/(X.max()-X.min())Y=list(Y)dimensions

python - 将一列零添加到 csr_matrix

我有一个MxN稀疏csr_matrix,我想在矩阵的右侧添加一些只有零的列。原则上,数组indptr、indices和data保持不变,所以我只想改变矩阵的维度。但是,这似乎没有实现。>>>A=csr_matrix(np.identity(5),dtype=int)>>>A.toarray()array([[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1]])>>>A.shape(5,5)>>>A.shape=((5,7))NotImplementedError:Reshapingnotimplementedforcs

c# - 具有完整子结构的矩阵的 "Matrix decomposition"

在开始之前,我必须说,对于那些具有线性代数背景的人来说,这不是您所知道的矩阵分解。请阅读以下段落以更清楚地了解我要解决的问题。以下是矩阵及其子矩阵的显着属性/定义:我有一个SxP矩阵,它形成了一个类似S.P“盒子”结构的网格。这是主矩阵.这就是(空)主矩阵的样子。矩阵中的每个正方形都简称为一个盒子。矩阵可以被视为一种“游戏板”,例如一个棋盘。纵轴使用区间标度(即实数)测量,水平轴使用单调递增的非负整数测量。还有一个额外的子矩阵概念(如前所述)。子矩阵只是特定配置中的盒子的集合,并具有指定给盒子的特定数量和块类型(参见下面的黑色和白色块)。我有这些的有限集子矩阵-我称之为我的lexico

python - 将 numpy.matrix 转换为 C 双指针的正确方法

将numpy矩阵作为参数传递给采用双指针的C函数的规范方法是什么?上下文:我正在使用numpy来验证一些C代码,我有一个C函数,它接受一个constdouble**const,我正在使用ctypes从Python调用.so。我试过:func.argtypes=ctypeslib.ndpointer(dtype=double,ndim=2,flags="C_CONTIGUOUS")并直接传递numpy矩阵(没用),以及func.argtypes=ctypes.POINTER(ctypes.POINTER(ctypes.c_double))然后通过各种转换传递numpy矩阵。转换导致Pyt