草庐IT

scipy.stats

全部标签

python - 测试 SciPy 时出错

当使用scipy.test()使用nose包测试scipy时,在安装了所有vanilla包的Ubuntu12.04下测试失败。我需要担心吗?如果是,我该如何解决?In[8]:scipy.test()RunningunittestsforscipyNumPyversion1.5.1NumPyisinstalledin/usr/lib/python2.7/dist-packages/numpySciPyversion0.9.0SciPyisinstalledin/usr/lib/python2.7/dist-packages/scipyPythonversion2.7.2+(default

python - 为什么我不能为整数规划设置 SciPy 的约束优化?

I'vereadthatintegerprogrammingiseitherverytrickyornotpossiblewithSciPy并且我可能需要使用类似zibopt的东西在Python中完成它。但我真的认为我可以通过为SciPy优化的向量中的每个元素创建一个“是二元”约束来做到这一点。为此,我利用了http://docs.python-guide.org/en/latest/writing/gotchas/#late-binding-closures中的闭包技巧并为每个元素创建一个约束函数,如下所示:defget_binary_constraints(vector,indic

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 - 没有任何循环的 Scipy 快速一维插值

我有两个二维数组,x(ni,nj)和y(ni,nj),我需要在一个轴上进行插值。我想为每个ni沿最后一个轴进行插值。我写了importnumpyasnpfromscipy.interpolateimportinterp1dz=np.asarray([200,300,400,500,600])out=[]foriinrange(ni):f=interp1d(x[i,:],y[i,:],kind='linear')out.append(f(z))out=np.asarray(out)但是,我认为这种方法效率低且速度慢,因为如果数组大小太大就会循环。像这样插入多维数组的最快方法是什么?有没有

带有 scipy.spatial.Delaunay 的 Python 凸包,如何消除船体内的点?

我在名为pointsList的np.array中有一个3D点列表,值为float:[[1.,2.,10.],[2.,0.,1.],[3.,6.,9.],[1.,1.,1.],[2.,2.,2.],[10.,0.,10.],[0.,10.,5.],...etc.此代码对点云进行Delaunay三角剖分:importnumpyasnpimportscipy.spatialtri=scipy.spatial.Delaunay(pointsList)#Delaunaytriangulationindices=tri.simplices#indicesofverticesvertices=poi

python - scipy 稀疏矩阵 : remove the rows whose all elements are zero

我有一个从sklearntfidfVectorier转换而来的稀疏矩阵。我相信有些行是全零行。我想删除它们。但是,据我所知,现有的内置功能,例如nonzero()和eliminate_zero(),关注零条目,而不是行。有什么简单的方法可以从稀疏矩阵中删除全零行吗?例子:我现在拥有的(实际上是稀疏格式):[[0,0,0][1,0,2][0,0,1]]我想得到的:[[1,0,2][0,0,1]] 最佳答案 切片+getnnz()就可以了:M=M[M.getnnz(1)>0]直接在csr_array上工作。您还可以在不更改格式的情况下删

python - Scipy导数

我有一个关于Scipy的微分函数的问题。我昨晚用了它,得到了一些奇怪的答案。今天早上我再次尝试了一些简单的功能,得到了一些正确的答案和一些错误的答案。这是我的测试:In[1]:defpoly1(x):...:returnx**2In[3]:derivative(poly1,0)Out[3]:0.0In[4]:defpoly2(x):...:return(x-3)**2In[6]:derivative(poly2,3)Out[6]:0.0In[8]:defsin1(x):...:returnsin(x)In[14]:derivative(sin1,pi/2)Out[14]:5.55111

python - 解释 scipy.stats.entropy 值

我正在尝试使用scipy.stats.entropy来估计两个分布之间的Kullback–Leibler(KL)散度。更具体地说,我想使用KL作为衡量标准来确定两个分布的一致性。但是,我无法解释KL值。例如:t1=numpy.random.normal(-2.5,0.1,1000)t2=numpy.random.normal(-2.5,0.1,1000)scipy.stats.entropy(t1,t2)0.0015539217193737955然后,t1=numpy.random.normal(-2.5,0.1,1000)t2=numpy.random.normal(2.5,0.1,

python - Scipy/Numpy/scikits - 基于两个数组计算精度/召回分数

我拟合逻辑回归模型并使用以下训练数据集训练模型importscikitsassklearnfromsklearn.linear_modelimportLogisticRegressionlr=LogisticRegression(C=0.1,penalty='l1')model=lr.fit(training[:,0:-1],training[:,-1)我有一个交叉验证数据集,其中包含与输入矩阵关联的标签,可以访问为cv[:,-1]我针对经过训练的模型运行我的交叉验证数据集,该模型根据预测返回0和1的列表cv_predict=model.predict(cv[:,0:-1])问题我想根

python - 使用 scipy.integrate 将布朗运动纳入粒子轨迹积分

我想在简单的线性粒子相互作用模型之上添加热波动。到目前为止(没有布朗运动)一切都使用scipy.integrate.odeint完成并且工作完美。因此,最好找到一种方法,通过使用scipy.integrate方法之一来包含随机运动。问题如下:使用Langevin热浴,我必须按如下方式更新粒子位置(x)和速度(v):x=x+v*dtv=v+(interaction_force*dt+random_force*dt)/质量其中:random_force=sqrt(constant/dt)*random_number我认为有两个问题:步长dt出现在random_force中。但是我不知道自适