Я поместил данные с GMM с данными, я хочу рассчитать среднеквадратичную ошибку модели, как я могу это сделать?Python: Как вычислить среднеквадратичную ошибку распределения?
Вот код для генерации данных
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
, caluclate в kdensitity(x,y)-clf.score(x,y)
. Но я не уверен, что это правильный подход.