用scikit-learn学习K-Means聚类
生活随笔
收集整理的這篇文章主要介紹了
用scikit-learn学习K-Means聚类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文轉載自劉建平
????建立數據
import numpy as np import matplotlib.pyplot as plt #%matplotlib inline from sklearn.datasets.samples_generator import make_blobs # X為樣本特征,Y為樣本簇類別, 共1000個樣本,每個樣本4個特征,共4個簇,簇中心在[-1,-1], [0,0],[1,1], [2,2], 簇方差分別為[0.4, 0.2, 0.2] X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1,-1], [0,0], [1,1], [2,2]], cluster_std=[0.4, 0.2, 0.2, 0.2], random_state =9) plt.scatter(X[:, 0], X[:, 1], marker='o') plt.show()????分2類
from sklearn.cluster import KMeans y_pred = KMeans(n_clusters=2, random_state=9).fit_predict(X) plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.show()????Calinski-Harabasz Index評估的聚類分數
from sklearn import metrics metrics.calinski_harabaz_score(X, y_pred)Out[52]: 3116.1706763322227????分3類
from sklearn.cluster import KMeans y_pred = KMeans(n_clusters=3, random_state=9).fit_predict(X) plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.show()????Calinski-Harabasz Index評估的聚類分數
from sklearn import metrics metrics.calinski_harabaz_score(X, y_pred)Out[54]: 2931.625030199556????分4類
from sklearn.cluster import KMeans y_pred = KMeans(n_clusters=4, random_state=9).fit_predict(X) plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.show()????Calinski-Harabasz Index評估的聚類分數
metrics.calinski_harabaz_score(X, y_pred) Out[56]: 5924.050613480169總結
以上是生活随笔為你收集整理的用scikit-learn学习K-Means聚类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zip() python
- 下一篇: pandas 提取股票价格