在Python中如何将二维数据传递给多元正态密度函数?

我想计算二维数据的高斯概率密度函数(PDF),我尝试在Python中使用scipy.stats.multivariate_normal函数来实现,但我不明白如何将我的数据传递给它?

multivariate_normal函数是否仅用于分析一维数据的n维情况,还是也可以用于我的数据集?

数据集-> X = [X1,X2....Xn] 

其中每个

Xi=[x1 x2] 

都是二维的。


回答:

要计算密度函数,请使用对象scipy.stats.multivariate_normalpdf()方法。第一个参数是你的数组X。接下来的两个参数是分布的均值和协方差矩阵。

例如:

In [72]: import numpy as npIn [73]: from scipy.stats import multivariate_normalIn [74]: mean = np.array([0, 1])In [75]: cov = np.array([[2, -0.5], [-0.5, 4]])In [76]: x = np.array([[0, 1], [1, 1], [0.5, 0.25], [1, 2], [-1, 0]])In [77]: xOut[77]: array([[ 0.  ,  1.  ],       [ 1.  ,  1.  ],       [ 0.5 ,  0.25],       [ 1.  ,  2.  ],       [-1.  ,  0.  ]])In [78]: p = multivariate_normal.pdf(x, mean, cov)In [79]: pOut[79]: array([ 0.05717014,  0.04416653,  0.05106649,  0.03639454,  0.03639454])

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注