使用KNeighborsClassifier训练make_blobs数据集并将其分类

Adeline ·
更新时间:2024-11-10
· 670 次阅读

1.从make_blobs中抽取出500个数据并使用散点图进行观察。 import matplotlib.pyplot as plt from sklearn.datasets import make_blobs data = make_blobs(n_samples=500, centers=5, random_state=8) X, y = data plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.spring, edgecolors='k') plt.show()

*

在这里插入图片描述 2.使用KNeighborsClassifier训练数据集。 from sklearn.neighbors import KNeighborsClassifier import numpy as np clf = KNeighborsClassifier() clf.fit(X, y) 3.使用np生成数据集并使用刚才训练出来的模型进行预测,并把预测结果绘制成散点图。 x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 # np.meshgrid()将一维生成二维 xx, yy = np.meshgrid(np.arange(x_min, x_max, .02), np.arange(y_min, y_max, .02)) # np.c_[]将数据合并合成两列 ravel()将数据降为一维 z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) z = z.reshape(xx.shape) # cmap设置样式 pcolormesh绘制分类图 plt.pcolormesh(xx, yy, z, cmap=plt.cm.Spectral) plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.spring, edgecolors='k') plt.xlim(xx.min(), xx.max()) plt.ylim(yy.min(), yy.max()) plt.show()

*

在这里插入图片描述 3.使用模型对[6.75, 4.82]数值进行预测。 print(clf.predict([[6.75, 4.82]])) print(clf.score(X, y))

*

在这里插入图片描述
作者:小白-小天



make 分类

需要 登录 后方可回复, 如果你还没有账号请 注册新账号