日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常见聚类方法

發布時間:2024/3/24 编程问答 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常见聚类方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常見的聚類方法:K-Means,層次聚類,基于密度的聚類

1.K-Means(K均值)聚類

算法步驟:
(1) 首先我們選擇一些類/組,并隨機初始化它們各自的中心點。中心點是與每個數據點向量長度相同的位置。這需要我們提前預知類的數量(即中心點的數量)。
(2) 計算每個數據點到中心點的距離,數據點距離哪個中心點最近就劃分到哪一類中。
(3) 計算每一類中中心點作為新的中心點。
(4) 重復以上步驟,直到每一類中心在每次迭代后變化不大為止。也可以多次隨機初始化中心點,然后選擇運行結果最好的一個。
下圖演示了K-Means進行分類的過程:

優點:速度快,計算簡便
缺點:我們必須提前知道數據有多少類/組。

2.基于密度的聚類算法(如:DBSCAN)

詳細講解:https://blog.csdn.net/liudongdong19/article/details/80968459

核心思想就是先發現密度較高的點,然后把相近的高密度點逐步都連成一片,進而生成各種簇。算法實現上就是,對每個數據點為圓心,以eps為半徑畫個圈(稱為鄰域eps-neigbourhood),然后數有多少個點在這個圈內,這個數就是該點密度值。然后我們可以選取一個密度閾值MinPts,如圈內點數小于MinPts的圓心點為低密度的點,而大于或等于MinPts的圓心點高密度的點(稱為核心點Core point)。如果有一個高密度的點在另一個高密度的點的圈內,我們就把這兩個點連接起來,這樣我們可以把好多點不斷地串聯出來。之后,如果有低密度的點也在高密度的點的圈內,把它也連到最近的高密度點上,稱之為邊界點。這樣所有能連到一起的點就成一了個簇,而不在任何高密度點的圈內的低密度點就是異常點。

算法步驟:
1. 首先確定半徑r和minPoints. 從一個沒有被訪問過的任意數據點開始,以這個點為中心,r為半徑的圓內包含的點的數量是否大于或等于minPoints,如果大于或等于minPoints則改點被標記為central point,反之則會被標記為noise point。
2. 重復1的步驟,如果一個noise point存在于某個central point為半徑的圓內,則這個點被標記為邊緣點,反之仍為noise point。重復步驟1,知道所有的點都被訪問過。

優點:不需要知道簇的數量
缺點:需要確定距離r和minPoints

總結

以上是生活随笔為你收集整理的常见聚类方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。