Python:如何计算分布的均方误差?

时间:2015-09-06 08:59:18

标签: python scipy

我将数据与GMM数据拟合,我想计算模型的均方误差,我该怎么办?

以下是生成数据的代码

Usercontrol

在我的想法中,我可以先生成import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import LogNorm from sklearn import mixture import matplotlib as mpl from matplotlib.patches import Ellipse %matplotlib inline n_samples = 300 # generate random sample, two components np.random.seed(0) shifted_gaussian = np.random.randn(n_samples, 2) + np.array([20, 5]) sample= shifted_gaussian # fit a Gaussian Mixture Model with two components clf = mixture.GMM(n_components=2, covariance_type='full') clf.fit(sample) # Then how can I calculate the Mean square error of the fitted model? 函数,对于kdensity中的每个观察,都要计算sample。但我不确定这是否是正确的做法。

1 个答案:

答案 0 :(得分:0)

查看文档:

http://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html

我想你可以试试:

covariances = clf.fit(sample).covariances_ MSE = np.diag(covariances)

这将为您提供拟合参数的协方差矩阵。然后矩阵的对角线值将给出拟合模型参数的均方误差。

或者它可能有效:

clf.fit(sample).get_params(deep=True)