assen Sie zwei Gauß-Werte an ein Histogramm aus einem Datensatz an, Pytho
Ich habe einen Datensatz in Python. Ich zeichne dies als Histogramm, dieses Diagramm zeigt eine bimodale Verteilung, daher versuche ich, zwei Gauß-Profile über jeden Peak in der Bimodalität zu zeichne
Wenn ich den folgenden Code verwende, muss ich zwei Datensätze mit derselben Größe haben. Ich habe jedoch nur einen Datensatz, und dieser kann nicht gleichmäßig aufgeteilt werden. Wie kann ich diese beiden Gaußschen anpasse
from sklearn import mixture
import matplotlib.pyplot
import matplotlib.mlab
import numpy as np
clf = mixture.GMM(n_components=2, covariance_type='full')
clf.fit(yourdata)
m1, m2 = clf.means_
w1, w2 = clf.weights_
c1, c2 = clf.covars_
histdist = matplotlib.pyplot.hist(yourdata, 100, normed=True)
plotgauss1 = lambda x: plot(x,w1*matplotlib.mlab.normpdf(x,m1,np.sqrt(c1))[0], linewidth=3)
plotgauss2 = lambda x: plot(x,w2*matplotlib.mlab.normpdf(x,m2,np.sqrt(c2))[0], linewidth=3)
plotgauss1(histdist[1])
plotgauss2(histdist[1])