@Nael Alsaleh,你可以用下面的方法運行K-Means:from sklearn.cluster import KMeans
import numpy as np
python多維列表,import matplotlib.pyplot as plt
X=np.load('Mistery.npy')
wx = []
qpython。for i in range(1, 11):
kmeans = KMeans(n_clusters = i, random_state = 0)
kmeans.fit(X)
python定義多維列表,wx.append(kmeans.inertia_)
plt.plot(range(1, 11), wx)
plt.xlabel('Number of clusters')
python中多維數組的計算、plt.ylabel('Variance Explained')
plt.show()
注意,X是一個numpy數組。這段代碼將創建彎頭曲線,在這里您可以選擇完美數量的簇,在本例中為5-6個。在
python將多維表轉二維表?如果您使用的是numpy,您將擁有一個數組:
^{pr2}$
你也可能在處理一個列表
python二維list。^{3}$
需要轉換為array:np.array(X),甚至是Pandas數據幀:
您可以通過執行以下操作來檢查Pandas數據幀中的列類型:import pandas as pd
pd.DataFrame(X).dtypes
在numpy,x.dtype
將數據轉換為數組后,運行:n=5
kmeans=KMeans(n_clusters=n, random_state=20).fit(X)
labels_of_clusters = kmeans.fit_predict(X)
這將得到每個示例所屬的集群類的編號。在array([1, 4, 0, 0, 4, 1, 4, 0, 2, 0, 0, 4, 3, 1, 4, 2, 2, 3, 0, 1, 1, 0,
4, 4, 2, 0, 3, 0, 3, 1, 1, 2, 1, 0, 2, 4, 0, 3, 2, 1, 1, 2, 2, 2,
2, 0, 0, 4, 1, 3, 1, 0, 1, 4, 1, 0, 0, 0, 2, 0, 1, 2, 2, 1, 2, 2,
0, 4, 4, 4, 4, 3, 1, 2, 1, 2, 2, 1, 1, 3, 4, 3, 3, 1, 0, 1, 2, 2,
1, 2, 3, 1, 3, 3, 4, 2, 2, 0, 2, 1, 3, 4, 2, 0, 2, 1, 3, 3, 3, 4,
3, 1, 4, 4, 4, 2, 0, 3, 2, 0, 1, 2, 2, 0, 3, 1, 1, 1, 4, 0, 2, 2,
0, 0, 1, 1, 0, 3, 0, 2, 2, 1, 2, 2, 4, 0, 1, 0, 3, 1, 4, 4, 0, 4,
1, 2, 0, 2, 4, 0, 1, 2, 3, 1, 1, 0, 3, 2, 4, 0, 1, 3, 1, 2, 4, 3,
1, 1, 2, 0, 0, 2, 3, 1, 3, 4, 1, 2, 2, 0, 2, 1, 4, 3, 1, 0, 3, 2,
4, 1, 4, 1, 4, 4, 0, 4, 4, 3, 1, 3, 4, 0, 4, 2, 1, 1, 3, 4, 0, 4,
4, 4, 4, 2, 4, 2, 3, 4, 3, 3, 1, 1, 4, 2, 3, 0, 2, 4])
可視化:from sklearn.datasets.samples_generator import make_blobs
X, y_true = make_blobs(n_samples=200, centers=4,
cluster_std=0.60, random_state=0)
kmeans = KMeans(n_clusters=4, random_state=0).fit(X)
cc=kmeans.fit_predict(X)
plt.scatter(X[:, 0], X[:, 1], c=cc, s=50, cmap='viridis')
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态