1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| from sklearn.datasets._samples_generator import make_blobs import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier
centers=[[-2,2],[2,2],[0,4]]
X,Y=make_blobs(n_samples=100,centers=centers,random_state=0,cluster_std=0.6)
X_sample=np.array([[0,2]])
c=np.array(centers)
plt.figure(figsize=(10,8),dpi=144) plt.scatter(X[:,0],X[:,1],c=Y,s=100,alpha=0.5)
plt.scatter(c[:,0],c[:,1],marker='*',c='red',s=500)
plt.scatter(X_sample[:,0],X_sample[:,1],marker='o',c='green',s=100,alpha=0.5)
k=5 clf=KNeighborsClassifier(n_neighbors=k) clf.fit(X,Y)
neighbors=clf.kneighbors([[0,2]],k,False) print(X)
for i in neighbors[0]: print(X[i][0]) print(X[i][1]) plt.plot([X[i][0],X_sample[0][0]],[X[i][1],X_sample[0][1]],'k--',linewidth=0.6) plt.show()
Y_sample=clf.predict(X_sample) print(Y_sample)
|