2016-11-30 5 views
2

Ich habe ein Mischmodell:GaussianMixture sklearn Start priors

gm = mixture.GaussianMixture(
       n_components=3, 
       covariance_type="tied", 
       weights_init=[w1,w2,w3], 
       means_init=[m1,m2,m3], 
       random_state=0).fit(datas) 

Aber das Ergebnis der Clusterbildung ist nicht perfekt, so dass ich von meinen Initialen Daten aufrufen 3 priors berechnet, um das Clustering zu verbessern. Ich würde diese Prioren gerne als Anfangspunkte im EM-Algorithmus des Gauss'schen Mischungsmodells verwenden.

Anfänglich bedeutet: Sind sie Ausgangspunkt? Kann ich sie durch meine neuen Prioren ersetzen oder ist es etwas anderes?

Ich sah:

sklearn.mixture.BayesianGaussianMixture 

Aber, es scheint wirklich anders, wie ich meine weigths initialisieren kann, nur Priors weigths und ich weiß nicht, ob es die gleiche Sache ist (ich bin kein Experte in Statistik ...), und es gibt zu viele Optionen, die ich nicht verstehe ...

Wie kann ich meine neuen Prioren als Ausgangspunkte des EM-Algorithmus in meiner Gaußschen Mischung verwenden?

Danke für jede Hilfe.

Antwort

2

Ein Statistiker half mir, meine Frage zu beantworten und es sind initial_means, die die Startpunkte für den EM-Algorithmus sind. Ich muss nur meine neuen Prioren in der initial_means in GaussianMixture Funktion geben, keine Notwendigkeit, BayesianGaussianMixture zu verwenden.