2017-06-09 7 views
1

Iは、それぞれIDが変数ATTR1、ATTR2とattr3で観察され、このようなパンダのデータフレーム、を有する:どのように類似性マトリックスとインデックスを含むクラスタ?

ID  attr1  attr2  attr3 
    20   2   1   2 
    10   1   3   1 
    5   2   2   4 
    7   1   2   1 
    16   1   2   3 
    28   1   1   3 
    35   1   1   1 
    40   1   2   3 
    46   1   2   3 
    21   3   1   3 

をとの和に基づいて、私はIDが比較される場合に使用する類似度行列を作っペアごとの属性の違い。

[[ 0. 4. 3. 3. 3. 2. 2. 3. 3. 2.] 
[ 4. 0. 5. 1. 3. 4. 2. 3. 3. 6.] 
[ 3. 5. 0. 4. 2. 3. 5. 2. 2. 3.] 
[ 3. 1. 4. 0. 2. 3. 1. 2. 2. 5.] 
[ 3. 3. 2. 2. 0. 1. 3. 0. 0. 3.] 
[ 2. 4. 3. 3. 1. 0. 2. 1. 1. 2.] 
[ 2. 2. 5. 1. 3. 2. 0. 3. 3. 4.] 
[ 3. 3. 2. 2. 0. 1. 3. 0. 0. 3.] 
[ 3. 3. 2. 2. 0. 1. 3. 0. 0. 3.] 
[ 2. 6. 3. 5. 3. 2. 4. 3. 3. 0.]] 

データをクラスタリングするためにsklearnのDBSCANを試しましたが、クラスタ自体にラベルが付けられているようですか?私は後で視覚化のデータ点のIDを見つける必要があります。ですから、私はIDの違いだけをクラスタリングしたいのですが、ID自体はクラスタ化しません。この種のデータに適した別のアルゴリズムがありますか、距離行列の値にラベルを付けてDBSCANや別のメソッドで使用できるようにする方法はありますか? ps.theデータセットには50以上の属性と10000個の観測値があります

+0

各データポイントのラベルを取得しようとしていますか?もしそうなら、clusteringの後にlabels_パラメータを使うことができます。 – aberger

+0

こんにちは、@abergerさんのお返事ありがとうございます。 db_DBSCAN(eps = 0.3、min_samples = 10).fit(X) core_samples_mask = np.zeros_like(db.labels_、db.labels_)は、デモのように、クラスタに与えられたラベルのみを取得します。 dtype = bool)core_samples_mask [db.core_sample_indices_] = True labels = db.labels_'各クラスタにどのようなポイントがあるかを知りたいのですが、マトリックスからインデックスを取得したかどうかしかわかりません。 – Lytics

答えて

0

labels_属性は、トレーニングのデータポイントごとにラベルの配列を提供します。その配列の最初のインデックスは、最初のトレーニングデータポイントのラベルなどです。

+0

ああ、申し訳ありません私の遅さ。ありがとうございました! – Lytics

関連する問題