knn算法鸢尾花散点图
时间: 2023-09-28 11:04:22 浏览: 83
knn来实现鸢尾花分类
以下是使用Python中的scikit-learn库实现knn算法并绘制鸢尾花散点图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn import neighbors, datasets
# 加载数据
iris = datasets.load_iris()
X = iris.data[:, :2] # 取前两个特征
y = iris.target
# 创建knn模型
k = 5
clf = neighbors.KNeighborsClassifier(k)
clf.fit(X, y)
# 绘制散点图
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1), np.arange(y_min, y_max, 0.1))
Z = clf.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.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.show()
```
运行代码后,会绘制出一个鸢尾花的散点图,并用不同颜色标出了不同类别的鸢尾花。同时,我们还可以使用鼠标对图形进行缩放和平移。
阅读全文