版權聲明:本文為博主原創文章,遵循 CC 4.0 by-sa 版權協議,轉載請附上原文出處鏈接和本聲明。
- 【scikit-learn】01:使用案例對sklearn庫進行簡單介紹
- 【scikit-learn】02:使用sklearn庫進行統計學習
- 【scikit-learn】03:將sklearn庫用於非監督性學習 聚類
- 【scikit-learn】04:sklearn庫下進行文本數據分析
- 【scikit-learn】05:sklearn文本分類及評價指標
- 【scikit-learn】06:make_blobs聚類數據生成器
- 【scikit-learn】07:數據加載,數據歸一,特征選擇,邏輯回歸,貝葉斯,k近鄰,決策樹,SVM
make_blobs聚類數據生成器簡介
scikit中的make_blobs方法常被用來生成聚類算法的測試數據,直觀地說,make_blobs會根據用戶指定的特征數量、中心點數量、范圍等來生成幾類數據,這些數據可用於測試聚類算法的效果。
make_blobs方法:
sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)[source]
其中:
- n_samples是待生成的樣本的總數。
- n_features是每個樣本的特征數。
- centers表示類別數。
- cluster_std表示每個類別的方差,例如我們希望生成2類數據,其中一類比另一類具有更大的方差,可以將cluster_std設置為[1.0,3.0]。
例:生成3類數據用於聚類(100個樣本,每個樣本有2個特征)
from sklearn.datasets import make_blobs from matplotlib import pyplot data,target=make_blobs(n_samples=100,n_features=2,centers=3) # 在2D圖中繪制樣本,每個樣本顏色不同 pyplot.scatter(data[:,0],data[:,1],c=target); pyplot.show()
為每個類別設置不同的方差,只需要在上述代碼中加入cluster_std參數即可:
from sklearn.datasets import make_blobs from matplotlib import pyplot data,target=make_blobs(n_samples=100,n_features=2,centers=3,cluster_std=[1.0,3.0,2.0]) #在2D圖中繪制樣本,每個樣本顏色不同 pyplot.scatter(data[:,0],data[:,1],c=target); pyplot.show()