2016-03-08 83 views
0

我是一個新手,想學習DIP的不同技術......所以,我想找出一個簇間半徑,我知道DBSCAN帶兩個參數epsilon (簇內半徑)和min_sample_points,並返回一些參數,例如完整性和同質性等,但它們都不會對我有幫助,我也知道DBSCAN是部分聚類算法,任何簇間中心間距都不是位於集羣內,但就像我在圖像中描述的那樣,我只是想找出每個集羣的半徑,我不知道如何。有沒有在Python中的內置命令?如何用DBSCAN找到一個簇的半徑

Here is the image which I wanna accomplish

+0

您必須告訴我們執行了哪個聚類,模糊的c方法或什麼? –

+0

我爲了集羣目的執行了dbscan,我使用的語言是python。 – annonymous

回答

0

DBSCAN不計算 「半徑」 值。

epsilon參數可以比您的羣集小得多。

半徑在您呈現的幾何模型中很容易。但是在更復雜的數據或任意距離函數中,您可以輕鬆地嘗試每一個點作爲潛在中心。即便如此,這一點對於你的集羣來說可能並不典型。

我想你的「半徑」直覺最接近的匹配就是找到最小化與所有其他集羣成員的最大距離的點。我認爲你將不得不爲嘗試每一點這一點。這個最小最大距離就是你的半徑。

但是,這並不能保證具有噪聲的非凸集羣具有良好的代表性。所以「半徑」可能會誤導人。

+0

那麼,你是否建議我使用k-means方法呢?因爲,這就是k-means方法的工作原理,它計算點到點距離... – annonymous

+0

我不是k-means的忠實粉絲。 PAM和MaxiMin-Clustering可能更適合你從*輸出格式*尋找的東西;但是這並沒有說你的數據是有意義的。人們通常希望有些不起作用的東西。 –

+0

我正在嘗試使用不同的方法來查找羣集的特徵,並在這些特徵的基礎上想要預測哪個羣集更大更密集,爲此目的,我認爲找到羣集半徑可能是其中的一個特徵。 – annonymous

相關問題