簡體   English   中英

如何在sklearn.cluster DBSCAN中分配sample_weights?

[英]How to assign sample_weights in sklearn.cluster DBSCAN?

我正在使用DBSCAN查找RGB圖像的像素值的群集。

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

其中, XN x 3矩陣。 X每一行都包含RGB三胞胎。

現在,我想為像素值分配權重,該權重是距圖像中心的距離的函數。 這是我正在使用的功能:

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

我計算weight_matrix用上面的score填充的weight_matrix

接下來,我這樣做:

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。

似乎您正在使用scikit-learn v <= 0.15,因為這是DBSCAN具有適合形式的最后一個版本

fit(X)

從0.16開始

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

只需將scikit-learn更新為0.16或0.17.X

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM