knn鸢尾花分类python
时间: 2023-06-28 19:14:10 浏览: 88
KNN 鸢尾花分类
5星 · 资源好评率100%
KNN(k-Nearest Neighbors)算法是一种简单的机器学习算法,它能够根据已知数据集中每个样本的特征,对未知数据进行分类。鸢尾花数据集是机器学习中常用的数据集之一,包含了150个样本,每个样本有4个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及它所属的类别(Setosa,Versicolour或Virginica)。
下面是一个用Python实现的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 accuracy_score
# 加载数据集
iris = load_iris()
# 划分训练集和测试集,比例为7:3
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3)
# 创建KNN分类器,设置k值为3
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
输出结果为:
```
Accuracy: 0.9777777777777777
```
这表示我们的KNN分类器在测试集上的准确率为97.8%。
阅读全文