knn算法代码和效果图
时间: 2024-06-23 22:01:19 浏览: 173
K-Nearest Neighbors (KNN) 算法是一种基于实例的学习方法,用于分类和回归分析。在分类中,它根据最近邻居的原则来进行预测,简单直观。以下是使用Python和sklearn库实现KNN的基本步骤:
```python
# 导入必要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
# 加载数据(这里以鸢尾花数据集为例)
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建KNN分类器,例如选择k=3
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 可视化效果(假设二维数据)
if len(X) == 2: # 如果数据只有两个特征,可作可视化
plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train)
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap='viridis')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('KNN Classification with k=3')
plt.show()
阅读全文