knn可视化代码
时间: 2023-07-03 10:11:35 浏览: 93
python可视化实现KNN算法
以下是一个简单的KNN可视化代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
# 生成随机数据
np.random.seed(42)
X = np.random.rand(20, 2)
y = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
# 定义KNN模型并训练
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X, y)
# 可视化决策边界
h = 0.02
x_min, x_max = X[:, 0].min() - 0.1, X[:, 0].max() + 0.1
y_min, y_max = X[:, 1].min() - 0.1, X[:, 1].max() + 0.1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = knn.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)
# 可视化数据点
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', cmap=plt.cm.Paired)
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("KNN classification")
plt.show()
```
这段代码生成一个包含20个点的随机数据集,并使用KNN模型进行分类。然后,使用matplotlib库可视化决策边界和数据点。这个例子中只有两个特征,因此可以在二维平面上进行可视化。如果有更多的特征,可以考虑使用降维技术,如PCA或t-SNE。
阅读全文