私はPython SciKitでGMMにこのtutorialをフォローしようとしています。元のコードはそのままでは動作しないという問題があります。入力配列の形状に問題があり、現在はGMMが廃止されているという。私はそれを書き換えるために試してみた:SciKitガウス混合モデルValueError:xとyの最初の次元が同じでなければなりません
np.random.seed(2)
x = np.concatenate([np.random.normal(0, 2, 200),
np.random.normal(5, 5, 200),
np.random.normal(3, 0.5, 600)])
x = np.reshape(x, (-1, 1))
plt.hist(x, 80, normed=True)
plt.xlim(-10, 20)
clf = GaussianMixture(4, max_iter=500, random_state=3).fit(x)
xpdf = np.linspace(-10, 20, 1000)
xpdf = np.reshape(xpdf, (-1, 1))
density = np.exp(clf.score(xpdf))
plt.hist(x, 80, normed=True, alpha=0.5)
plt.plot(xpdf, density, '-r')
plt.xlim(-10, 20)
しかし、それでもまだ、私はValueError: x and y must have same first dimension
を取得します。私が今理解できる限り、問題は配列の形からdensity
の形に変わりました。しかし、私は実際に何が起こっているのか分かりません。誰もがこれについていくつかの光を発することができますか?ありがとう。
GitHubによると既知のエラーのようです。彼らが提供するソリューションは、ソースコードをわずかに変更するか、または1D配列を使用しないことです。 –
どのコマンドがエラーを投げていますか? –
@PaulHエラーは 'plot'メソッドにあるように見え、' density'変数の形によって引き起こされます。私は何故か、または例に示されている振る舞いから何が変わったのかを知りません。 – ClonedOne