Comment puis-je tracer la fonction de densité de probabilité pour une cuisine aménagée modèle de mélange Gaussien sous scikit-learn?

Je suis aux prises avec une simple tâche. J'ai un vecteur de chars à laquelle je tiens pour s'adapter à un modèle de mélange Gaussien avec deux noyaux Gaussiens:

from sklearn.mixture import GMM

gmm = GMM(n_components=2)
gmm.fit(values)  # values is numpy vector of floats

Je voudrais maintenant le tracé de la fonction de densité de probabilité pour le modèle de mélange que j'ai créé, mais je n'arrive pas à trouver toute la documentation sur la façon de le faire. Comment dois-je m'y prendre?

Edit:

Ici est le vecteur de données que je suis à côté. Et ci-dessous est un exemple plus détaillé de la façon dont je fais les choses:

from sklearn.mixture import GMM
from matplotlib.pyplot import *
import numpy as np

try:
    import cPickle as pickle
except:
    import pickle

with open('/path/to/kde.pickle') as f:  # open the data file provided above
    kde = pickle.load(f)

gmm = GMM(n_components=2)
gmm.fit(kde)

x = np.linspace(np.min(kde), np.max(kde), len(kde))

# Plot the data to which the GMM is being fitted
figure()
plot(x, kde, color='blue')

Comment puis-je tracer la fonction de densité de probabilité pour une cuisine aménagée modèle de mélange Gaussien sous scikit-learn?

# My half-baked attempt at replicating the scipy example
fit = gmm.score_samples(x)[0]
plot(x, fit, color='red')

Comment puis-je tracer la fonction de densité de probabilité pour une cuisine aménagée modèle de mélange Gaussien sous scikit-learn?

La courbe ajustée ne ressemblera en rien à quoi je m'attends. Il ne semblent même pas Gaussienne, ce qui est un peu étrange étant donné qu'il a été produit par un processus Gaussien. Suis-je fou?

utilisation plot(x, np.exp(fit), color='red') à la place. Parce que gmm.score_samples donne log probabilité.
Le lien pour le vecteur de données a expiré.

OriginalL'auteur blz | 2014-05-12