2016-06-01 7 views
0

私はDBSCANを使用してRGB画像のピクセル値のクラスタを探しています。sklearn.cluster DBSCANでsample_weightsを割り当てる方法は?

db = DBSCAN(eps=0.3, min_samples=10).fit(X)

XN x 3行列です。 Xの各行には、RGBトリプレットが含まれています。

ここでは、イメージの中心からの距離の関数としてピクセル値にウェイトを割り当てたいと考えています。 そして、これは私が使用している機能である:私はこれをしなかった

次以上のようscoreで満たされ、私はweight_matrixを計算

score = 1/(1 + math.exp(-a * distance)) # a = 0.001

db = DBSCAN(eps=0.3, min_samples=10).fit(X,y=None, sample_weight=weight_matrix)

、長さのweight_matrixの配列は、Xの行数と同じです。

しかし、私は次のエラーを取得する:

TypeError: fit() got an unexpected keyword argument 'y'

だから私はこのようにそれをやってみました:今、私はこのエラーを取得する

db = DBSCAN(eps=0.3, min_samples=10).fit(X, sample_weight=weight_matrix)

TypeError: fit() got an unexpected keyword argument 'sample_weight'

私は引数を間違って渡していると思いますが、確信が持てません。私のscikit-learnバージョンは0.14.0です。

+0

おそらくあなたは古いバージョンがインストールされていますか? –

+1

ここを見てください:http://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCANそれはいいようです。一つのことは、私は 'weight_matrix'があなたのためにあるのだろうと思っています。 'X'と同じ数の' rows'を持つべきですが、 'weight_matrix'は' X'の行数に等しい 'length'の配列でなければなりません。また、あなたが持っているバージョンをチェックしてください、最新ではないかもしれません。 – ZWiki

+0

@ZWiki: '' weight_matrix''配列のサイズに関するtheinfoに感謝します。私は投稿を編集しました。 –

答えて

2

これはDBSCANはそれが

fit(X, y=None, sample_weight=None) 

単に更新している0.16以降フォーム

fit(X) 

のフィット感を持っていた最後のバージョンであるとしてあなたがscikit-学ぶV < = 0.15を使用しているようですあなたのscikit-learn 0.16または0.17.X

+0

scikit-learn 0.17.1をインストールしましたが、クラッシュしました。 –

+0

次に、正確に何が起こっているのかを示す別の質問をしてください。 – lejlot

+0

DBSCAN()。fit()メソッドが呼び出されたとき。それは "殺された"と終了します。 –

関連する問題