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')
# My half-baked attempt at replicating the scipy example
fit = gmm.score_samples(x)[0]
plot(x, fit, color='red')
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?
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
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à l'un de scikit-learn exemples sur Github
https://github.com/scikit-learn/scikit-learn/blob/master/examples/mixture/plot_gmm_pdf.py
L'idée est de générer
meshgrid
, obtenir leurscore
de lagmm
, et de l'intrigue.Le montre l'exemple
OriginalL'auteur emeth
Prendre un coup d'oeil à ce lien:
http://www.astroml.org/book_figures/chapter4/fig_GMM_1D.html
Ils montrent comment tracer un 1D GMM de 3 façons différentes:
1D GMM parcelles http://www.astroml.org/_images/fig_GMM_1D_1.png
OriginalL'auteur Sibelius Seraphini
J'ai suivi les quelques exemples mentionnés dans ce fil et d'autres et a réussi à se rapprocher de la solution, mais le final de la fonction de densité de probabilité de ne pas intégrer à un. Je suppose, que je vais poster la question dans un autre thread.
OriginalL'auteur rauldg
Je pense, c'est une excellente ressource - https://jakevdp.github.io/blog/2013/12/01/kernel-density-estimation/
OriginalL'auteur shahensha