私はDBSCANを使用してRGB画像のピクセル値のクラスタを探しています。sklearn.cluster DBSCANでsample_weightsを割り当てる方法は?
db = DBSCAN(eps=0.3, min_samples=10).fit(X)
、X
はN 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です。
おそらくあなたは古いバージョンがインストールされていますか? –
ここを見てください:http://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCANそれはいいようです。一つのことは、私は 'weight_matrix'があなたのためにあるのだろうと思っています。 'X'と同じ数の' rows'を持つべきですが、 'weight_matrix'は' X'の行数に等しい 'length'の配列でなければなりません。また、あなたが持っているバージョンをチェックしてください、最新ではないかもしれません。 – ZWiki
@ZWiki: '' weight_matrix''配列のサイズに関するtheinfoに感謝します。私は投稿を編集しました。 –