python資料分析與挖掘實戰 聚類演算法對比

2021-07-31 17:28:39 字數 2549 閱讀 3175

#-*-coding:utf-8-*-

importnumpyasnp

importmatplotlib.pyplotasplt

fromsklearnimportdatasets

x1,y1=datasets.make_circles(n_samples=5000

,factor=.6

,noise=0.05)

x2,y2=datasets.make_blobs(n_samples=1000

,n_features=2

,centers=[[1.2

,1.2]],

cluster_std=[[.1]],

random_state=9)

#x3,y3=datasets.make_moons(n_samples=2000,noise=0.05)

#plt.scatter(x3[:,0],x3[:,1],marker='o')

#plt.show()

plt.subplot(3,2

,6)#

把原始影象放在最後顯示

x=np.concatenate((x1,x2))

plt.scatter(x[:,

0],x[:,

1],marker='o')

plt.subplot(3,2

,1)#

第乙個是

kmeans

的結果,k為

5fromsklearn.clusterimportkmeans

result=kmeans(n_clusters=5

,random_state=9).fit_predict(x)

plt.scatter(x[:,

0],x[:,

1],c=result)

#plt.show()

plt.subplot(3,2

,2)fromsklearn.clusterimportminibatchkmeans#

第二個與第乙個類似,不同的地方是計算距離使用的樣本是不同類的抽樣資料

result=minibatchkmeans(n_clusters=5

,random_state=9).fit_predict(x)

plt.scatter(x[:,

0],x[:,

1],c=result)

#plt.show()

plt.subplot(3,2

,3)fromsklearn.clusterimportbirch#

利用層次方法的平衡迭代和規約

result=birch(n_clusters=5).fit_predict(x)

plt.scatter(x[:,

0],x[:,

1],c=result)

'''plt.subplot(3,2,1)

from sklearn.cluster import affinitypropagation#

吸引子傳播,這個計算起來很慢

.....

result=affinitypropagation().fit_predict(x)

plt.scatter(x[:,0],x[:,1],c=result)

plt.show()

'''plt.subplot(3,2

,4)fromsklearn.clusterimportdbscan#

具有雜訊的基於密度的聚類方法,不需要指定聚類類別,但需要指定距離和簇最小樣本

result=dbscan(eps=0.1

,min_samples=10).fit_predict(x)

plt.scatter(x[:,

0],x[:,

1],c=result)

plt.subplot(3,2

,5)fromsklearn.clusterimportspectralclustering#

譜聚類,計算相似度矩陣,相似距離使用

rbf距離

可以看出,當聚類數量為3時,比較明顯的地方是dbscan可以聚類出形狀相似的部分,而且其它的方法都需要指定聚類的簇數

Python資料分析與挖掘實戰 挖掘建模

常用的分類與 演算法 1回歸模型分類 1線性回歸 自變數因變數線性關係,最小二乘法求解 2非線性回歸 自變數因變數非線性關係,函式變換為線性關係,或非線性最小二乘方法求解 3logistic回歸 因變數一般有1和0兩種取值,將因變數的取值範圍控制再0 1範圍內 4嶺回歸 自變數之間具有多重共線性 5...

python資料分析與挖掘實戰 資料探勘基礎

從大量資料 包括文字 中挖掘出隱含的 未知的 對決策有潛在價值的關係 模式和趨勢,並用這些知識和規則建立用於決策支援的模型,提高 性決策支援的方法 工具和過程,就是資料探勘 它是利用各種分析工具在大量資料中尋找其規律和發現模型與資料之間關係的過程,是統計學 資料庫技術和人工智慧技術的綜合。1.定義挖...

Python資料分析與挖掘實戰學習07

一 python基礎 1.python簡介 python是一種物件導向的解釋型語言,由荷蘭人guido van rossum與1989年發明,第乙個公開發行版本於1991年發布。python語法簡潔清晰,強制用空白符作為語句縮排。python語言最大的特點是簡單和強大。2.python庫 1 bas...