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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

聚类分析(三)Mini Batch KMeans算法

發布時間:2025/3/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聚类分析(三)Mini Batch KMeans算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????在當前大數據的背景下,工程師們往往為了追求更短的計算時間,不得不在一定程度上減少算法本身的計算精度,我說的是在一定程度上,所以肯定不能只追求速度而不顧其它。在KMeans聚類中,為了降低計算時間,KMeans算法的變種Mini Batch KMeans算法應運而生。

????????Mini Batch KMeans算法是一種能盡量保持聚類準確性下但能大幅度降低計算時間的聚類模型,采用小批量的數據子集減少計算時間,同時仍試圖優化目標函數,這里所謂的Mini Batch是指每次訓練算法時隨機抽取的數據子集,采用這些隨機選取的數據進行訓練,大大的減少了計算的時間,減少的KMeans算法的收斂時間,但要比標準算法略差一點,建議當樣本量大于一萬做聚類時,就需要考慮選用Mini Batch KMeans算法。

????????這種對時間優化的思路不僅應用在KMeans聚類,還廣泛應用于梯度下降、深度網絡等機器學習和深度學習算法。

在sklearn.cluster 中MiniBatchKMeans與KMeans方法的使用基本是一樣的,為了便于比較,繼續使用與我上一篇博客同樣的數據集。

在MiniBatchKMeans中可配置的參數如下:

class?sklearn.cluster.MiniBatchKMeans(n_clusters=8,?init='kmeans++',max_iter=100,?batch_size=100,?verbose=0,?compute_labels=True,random_state=None,?tol=0.0,?max_no_improvement=10,?init_size=None,n_init=3,?reassignment_ratio=0.01)

通過參數batch_size可以設置Mini Batch的大小,這里默認值為100.

導入包

from sklearn.cluster import MiniBatchKMeans import demo1 import numpy as np import matplotlib.pyplot as plt

畫出數據的散點圖和聚類中心的位置

def draw_pic(data_list):# 畫出散點圖for x in range(len(data_list)):plt.scatter(data_list[x][0], data_list[x][1], s=30, c='b', marker='.')def draw_cluster_centers(centers_mat):# 畫出聚類中心for k in range(len(centers_mat)):plt.scatter(centers_mat[k][0], centers_mat[k][1], s=60, c='r', marker='D')

執行程序,進行Mini Batch KMeans聚類,為了方便,對數據集的處理我調用了我上一篇博客中的數據矩陣處理函數。

if __name__ == '__main__':data_Set = demo1.file2matrix('testSet.txt', '\t')draw_pic(data_Set)k = 4 # 確定聚類中心的數目# 執行KMeans算法minibatchkmeans = MiniBatchKMeans(n_clusters=k, batch_size=50)minibatchkmeans.fit(np.mat(data_Set))draw_cluster_centers(minibatchkmeans.cluster_centers_)plt.show()

最終得出結果:

從結果來看,Mini Batch KMeans算法的聚類效果還是不錯的,但我覺得這并不能說明什么問題,因為我的數據量太少了,以后有時間把爬蟲技術弄熟練,再做一個數據量大的吧。

轉載于:https://my.oschina.net/u/3888421/blog/2209122

總結

以上是生活随笔為你收集整理的聚类分析(三)Mini Batch KMeans算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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