K-means法は異方性点を扱うことができません。 DBSCANとGaussian Mixtureモデルは、scikit-learnに従ってこれを扱うことができます。私は両方のアプローチを使用しようとしましたが、彼らは私のdatasetのために働いていません。異方性点クラスタリング
db = DBSCAN(eps=0.1,min_samples=5).fit(X_train,Y_train)
labels_train=db.labels_
# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels_train)) - (1 if -1 in labels_train else 0)
print('Estimated number of clusters: %d' % n_clusters_)
のみ1クラスタ(クラスタの推定数:1)hereに示すように検出された
DBSCAN
私は、次のコードを使用します。
gmm = mixture.GaussianMixture(n_components=2, covariance_type='full')
gmm.fit(X_train,Y_train)
labels_train=gmm.predict(X_train)
print(gmm.bic(X_train))
hereに示すように、2つのクラスタが識別できませんでした:次のように
ガウス混合モデル
コードがありました。
どのように2つのクラスタを検出できますか?