0

私は scikit-learn (別名 sklearn) を使用していくつかのクラスタリングを行っていgammaますが、関数のパラメーターを操作しようとするまで、すべてが正常にspectral_clustering機能していました。

anaconda(1.5.1)で管理する仮想環境で、python(3.5.2)でsklearn(0.18.1)を使用しています。

関数の公式ドキュメントには、パラメータについての言及がありますgamma

クラス sklearn.cluster.SpectralClustering(n_clusters=8、eigen_solver=なし、random_state=なし、n_init=10、ガンマ=1.0、親和性='rbf'、n_neighbors=10、eigen_tol=0.0、assign_labels='kmeans'、度=3 、coef0=1、kernel_params=なし、n_jobs=1)

ただし、自分のマシンでパラメーターgammaを関数に渡そうとすると、次のエラーが発生します。

TypeError:spectral_clustering() が予期しないキーワード引数 'gamma' を取得しました

そして、関数のヘルプページを表示すると、公式ドキュメントhelp(spectral_clustering)とはまったく異なる情報が得られました。

Spectral_clustering(affinity, n_clusters=8, n_components=なし, eigen_solver=なし, random_state=なし, n_init=10, eigen_tol=0.0, assign_labels='kmeans')

一部のパラメーターが欠落しているようです。おそらくcondaパッケージからのものだと思いましたが、pipでインストールしても問題は解決しません。

仮想環境の外にインストールしようとしても、同様の問題が発生します。

しかし、2 人の同僚に尋ねたところ、1 人は私と同じ問題を抱えていましたが、もう 1 人はhelp(spectral_clustering)関数内で公式ドキュメントと同じ情報を見ることができました。

公式ドキュメントと同じ機能を得るにはどうすればよいですか?

spectral_clustering次のように、パイプラインの 1 つで関数を使用しています。

if clt_mtd == 'spectral':
    # Spectral clustering
    labels = spectral_clustering(sm, n_clusters=num_clt, random_state=seed, gamma=0.1)

パラメータを変更しようとしない限り、この関数は問題なく動作しgammaます。


解決済み:私の間違いは、参考として使用した公式の例の 1 つ から来ています。

解決策: 以下の解説で説明されているように、同じではSpectralClusteringありspectral_clusteringません。最後のものはfitクラスの関数によって使用され、これは関数で以前に使用されているため、パラメーターとしてSpectralClustering取りません。gammafit

したがって、gammaパラメータを変更できるようにするには、最初にオブジェクトをインスタンス化し、このクラスが提供するSpectralClustering関数を使用する必要があります。fit

4

0 に答える 0