Ich versuche wirklich sehr, eine gaußsche Mischung mit sklearn zu machen, aber ich denke, dass ich etwas vermisse, weil es definitiv nicht funktioniert.Parameter initialisieren Gaußsche Mischung in Python mit sklearn
Meine ursprüngliche Daten wie folgt aussehen:
Genotype LogRatio Strength
AB 0.392805 10.625016
AA 1.922468 10.765716
AB 0.22074 10.405445
BB -0.059783 10.625016
ich ein Gaussian Mixture mit 3 Komponenten = 3 Genotypen tun wollen (AA | AB | BB). Ich kenne das Gewicht jedes Genotyps, den Mittelwert des Log-Verhältnisses für jeden Genotyp und den Mittelwert der Stärke für jeden Genotyp.
wgts = [0.8,0.19,0.01] # weight of AA,AB,BB
means = [[-0.5,9],[0.5,9],[1.5,9]] # mean(LogRatio), mean(Strenght) for AA,AB,BB
Ich halte Spalten LogRatio und Stärke und erstellen ein NumPy-Array.
datas = [[ 0.392805 10.625016]
[ 1.922468 10.765716]
[ 0.22074 10.405445]
[ -0.059783 9.798655]]
Dann testete ich die Funktion GaussianMixture aus Mischung aus sklearn V0.18 und versuchte, auch die Funktion GaussianMixtureModel von sklearn v0.17 (ich immer noch nicht den Unterschied sehen und nicht wissen, welche zu benutzen) .
gmm = mixture.GMM(n_components=3)
OR
gmm = mixture.GaussianMixture(n_components=3)
gmm.fit(datas)
colors = ['r' if i==0 else 'b' if i==1 else 'g' for i in gmm.predict(datas)]
ax = plt.gca()
ax.scatter(datas[:,0], datas[:,1], c=colors, alpha=0.8)
plt.show()
Dies ist, was ich bekommen, und das ist ein gutes Ergebnis, aber es ändert sich jedes Mal, weil Anfangsparameter unterschiedlich jeder
laufen berechnetIch möchte meine Parameter in der gaussianMixture initialisieren oder GMM-Funktion, aber ich verstehe nicht, wie ich meine Daten formatieren muss: (
Sie möchten jedes Mal die gleichen Ergebnisse haben? Ist das deine Frage? – MMF
Ja Ich möchte jedes Mal die gleichen Ergebnisse und ich glaube, dass, wenn ich die Anfangsparameter fixieren kann, es der Fall sein wird. – Elysire
Ok, sieh dir meine Antwort dann an;) – MMF