假設我有一個無向加權連通圖。我想將具有最高邊緣值的頂點組合在一起(頂點度數)。使用聚類算法是一種方法。我可以考慮哪些聚類算法來完成這項任務?我希望這是清楚的;任何澄清問題,請詢問。謝謝。什麼聚類算法可以考慮圖?
1
A
回答
1
主要有兩種方法 - 給你的圖作爲輸入到現有的工具,或使用你對這個圖(以及其領域),以創建一個代表,然後在將其應用於機器學習方法的專業知識。
我會用第二種方法啓動:
如果只有節點和邊(每個節點沒有進一步的數據),你首先需要考慮每個節點\邊的表示。我將解釋有關節點,但它應該在邊緣情況下應該類似。
的最簡單的方法就是將表示每個節點n
作爲連接向量:
每個節點將被表示爲n=(Ia(n),Ib(n),Ic(n),Id(n),Ie(n))
,其中Ii(n)=1
萬一節點n
是的「朋友」(鄰居)節點i
,否則爲0。 (例如a=(0,1,1,0,1)
)
注意,您可以決定一個節點是其自身的朋友。
第二種方法,這是相當類似於第一個,是使用邊緣的權重向量:
n=(W(a,n),W(b,n),W(c,n),W(d,n),W(e,n))
,其中W(i,n)
是邊緣(i,n)
的重量。
有一些更多的方法來表示節點,但這是不夠的,以在其上運行一些計算。
後,你有這樣的表現,你就可以開始在其應用一些聚類算法。
kmeans是完成這個任務,並考慮sklearn has a great implementation很大。它有一些參數可以(也應該)配置(即距離度量)。
kmeans的乘積是k
不同的不相交節點組。
如果您想將圖表傳遞給算法並獲得一些度量,則可以應用更多高級算法。 community detection用於在圖表中查找社區。再次,在networkx
包中有一個很好的python implementation。
相關問題
- 1. 什麼哈希算法考慮了可變長度數據
- 2. 宏是什麼類型的考慮?
- 3. matlab'fitctree'的CART算法考慮了屬性順序爲什麼?
- 4. Apriori算法的最終輸出我們應該考慮什麼
- 5. 要考慮點擊什麼?
- 6. 什麼時候可以考慮使用危險的SetInnerHTML()安全?
- 7. 爲什麼區分方法時不考慮返回類型?
- 8. 考慮到可能的拼寫錯誤,我可以使用什麼gem /算法來查找字符串?
- 9. 考慮速度的A *算法
- 10. 其考慮以下
- 11. 鎖定考慮Equals()運算
- 12. C# - 計算器,還有什麼需要考慮和合並?
- 13. 聚集在elasticsearch考慮分數
- 14. .NET爲什麼「Anchor」不考慮Toolstrip?
- 15. 什麼時候開始考慮縮放?
- 16. 爲什麼AutoConfigurationPackages不考慮@ComponentScan?
- 17. 部署iPads應該考慮什麼?
- 18. 什麼是PostgresSQL查詢語言考慮?
- 19. 選擇SQL/NoSQL應該考慮什麼?
- 20. ConstructorInfo.Invoke的DynamicMethod,我需要考慮什麼?
- 21. 爲什麼輸出不考慮函數?
- 22. 爲什麼考慮_all_requests_local失敗,rspec config
- 23. 爲什麼UITabBar會考慮Modal?
- 24. 馬爾可夫聚類算法
- 25. 聚類視覺可分簇的算法
- 26. 考慮節點和邊的圖上的路徑查找算法
- 27. 考慮以下BNF語法(BNF,遞歸)
- 28. 識別空間聚類在Python考慮到
- 29. 爲什麼我們應該將「Logger」類作爲單例考慮?
- 30. 設計可伸縮Web架構時需要考慮什麼