草庐IT

projection_matrix

全部标签

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

python - 有没有办法在 Emacs 中创建 "project file"?

我在最宽泛的意义上说“项目文件”。我有几个python项目,我使用Windows的emacsW32与ropemacs一起工作。理想的是,如果我可以在桌面上单击一个图标以打开emacs,打开rope项目,然后在该项目的顶级目录中设置速度栏。然后我也可能有办法在它自己的emacs中打开下一个项目,设置相同(但对于那个项目)。当然,如果桌面上有一个emacs命令或shell命令可以代替图标来达到同样的效果,这也是可以接受的。有什么办法吗?我完全没有elisp-fu。:-( 最佳答案 您可以按照项目所需的方式设置所有内容,然后使用我发布的关

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

python NumPy : how to construct a big diagonal array(matrix) from two small array

importnumpyasnpA=np.array([[1,2],[3,4]])B=np.array([[5,6],[7,8]])C=np.array([[1,2,0,0],[3,4,0,0],[0,0,5,6],[0,0,7,8]])我想直接从A和B制作C,有什么简单的方法可以构造对角线数组C?谢谢。 最佳答案 方法#1:一种简单的方法是使用np.bmat-Z=np.zeros((2,2),dtype=int)#Createoff-diagonalzerosarrayout=np.asarray(np.bmat([[A,Z],[Z

python 3 : Multiply a vector by a matrix without NumPy

我是Python的新手,正在尝试创建一个函数来将向量乘以矩阵(任意列大小)。例如:multiply([1,0,0,1,0,0],[[0,1],[1,1],[1,0],[1,0],[1,1],[0,1]])[1,1]这是我的代码:defmultiply(v,G):result=[]total=0foriinrange(len(G)):r=G[i]forjinrange(len(v)):total+=r[j]*v[j]result.append(total)returnresult问题是,当我尝试选择矩阵(r[j])中每一列的第一行时,会显示错误“列表索引超出范围”。有没有其他方法可以不使

python - 我如何使用 python 文件和 RopeVim 插件为 "Rope project root folder: . "指定什么?

我已经安装了插件RopeVim(使用Pathogen),它似乎可以正常工作。现在,当我用我的vim光标(在命令模式下)在一个函数上调用:RopeGoToDefinition时,我想查看...的定义...我得到:Ropeprojectrootfolder:.显示在我的vim的状态行中(顺便说一下,我正在使用MacVim)。此处指定的正确文件夹是什么?我的项目文件夹结构有一个根文件夹和各种子目录。我什至不知道我是应该指定一个系统文件路径还是一个python风格的模块。 最佳答案 参见https://github.com/python-r