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])

Antworten auf die Frage(2)

Ihre Antwort auf die Frage