请利用knn算法实现鸢尾花分类任务。提交代码和分类结果
时间: 2024-10-07 17:07:46 浏览: 61
在Python中,我们可以使用sklearn库中的K-Nearest Neighbors (KNN)算法来实现鸢尾花数据集的分类任务。这里是一个简单的例子:
```python
# 导入所需库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
# 加载鸢尾花数据集
iris = 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分类器并设置邻居数为5
knn = KNeighborsClassifier(n_neighbors=5)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 查看分类报告
print("Classification Report:")
print(classification_report(y_test, y_pred))
```
这段代码首先加载了鸢尾花数据集,然后将数据划分为训练集和测试集。接着,我们创建了一个KNN分类器,设置了邻居数(k值)为5。通过`fit`函数训练模型,并用`predict`函数对测试集进行预测。最后,我们打印出分类报告,展示模型在各个类别上的性能。
阅读全文