Предполагая, что у меня есть набор точек (x, y и размер). Я хочу найти кластеры в моих данных, используя sklearn.cluster.DBSCAN
и их центры. Это не проблема, если я отношусь ко всем пунктам одинаково. Но на самом деле я хочу, чтобы взвешенные центры вместо геометрических центров (то есть точку большего размера следует считать больше, чем меньшую).
Я сталкивался с sample_weight
, но я не совсем понимаю, если это это то, что мне нужно Когда я использую sample_weight
(правая сторона), я получаю совершенно разные кластеры, если не использую его (левая сторона):
![enter image description here](https://i.stack.imgur.com/RRE6t.jpg)
Во-вторых, я подумал об использовании np.repeat(x,w)
, где x - это мои данные, а w - размер каждой точки, поэтому я получаю несколько копий точек, пропорциональных их весам. Но это, вероятно, не умное решение, так как я получаю много данных, верно?
Является ли sample_weight
полезным в моем случае, или есть предложения по лучшим решениям, чем использование np.repeat
? Я знаю, что уже есть некоторые вопросы по поводу sample_weight
, но я не мог прочитать, как именно его использовать.
Спасибо!