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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现k均值算法_python实现kMeans算法

發布時間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现k均值算法_python实现kMeans算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聚類是一種無監督的學習,將相似的對象放到同一簇中,有點像是全自動分類,簇內的對象越相似,簇間的對象差別越大,則聚類效果越好。

1、k均值聚類算法

k均值聚類將數據分為k個簇,每個簇通過其質心,即簇中所有點的中心來描述。首先隨機確定k個初始點作為質心,然后將數據集分配到距離最近的簇中。然后將每個簇的質心更新為所有數據集的平均值。然后再進行第二次劃分數據集,直到聚類結果不再變化為止。

偽代碼為

隨機創建k個簇質心

當任意一個點的簇分配發生改變時:

對數據集中的每個數據點:

對每個質心:

計算數據集到質心的距離

將數據集分配到最近距離質心對應的簇

對每一個簇,計算簇中所有點的均值并將均值作為質心

2、二分k均值算法

K均值算法可能會收斂到局部最小值,而非全局最小。一種用于度量聚類效果的指標為誤差平方和(SSE)。因為取了平方,更加重視原理中心的點。為了克服k均值算法可能會收斂到局部最小值的問題,有人提出來二分k均值算法。

首先將所有點作為一個簇,然后將該簇一分為二,然后選擇所有簇中對其劃分能夠最大程度減低SSE的值的簇,直到滿足指定簇數為止。

偽代碼

將所有點看成一個簇

計算SSE

while 當簇數目小于k時:

for 每一個簇:

計算總誤差

在給定的簇上進行k均值聚類(k=2)

計算將該簇一分為二的總誤差

選擇使得誤差最小的那個簇進行劃分操作

python實現

代碼及數據集下載:K-means

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/weixin_37895339/article/details/78634144

總結

以上是生活随笔為你收集整理的python实现k均值算法_python实现kMeans算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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