python鸢尾花数据集分类knn
时间: 2024-11-22 09:29:36 浏览: 46
实战案例-使用KNN模型对鸢尾花数据进行分类(含源码及数据集)
Python中的鸢尾花数据集(Iris dataset)是一个经典的机器学习入门示例,它包含150个样本,每个样本有4个特征(花瓣长度、花瓣宽度、萼片长度、萼片宽度),共三个类别:山鸢尾(Setosa)、维吉尼亚鸢尾(Versicolour)和变色鸢尾(Virginica)。K-最近邻算法(KNN,k-Nearest Neighbors)是一种基于实例的学习方法,在这个数据集中常用于演示监督学习的简单分类。
当你使用KNN对鸢尾花数据集进行分类时,会做如下的步骤:
1. 加载数据:可以使用sklearn库中的load_iris()函数加载数据集。
```python
from sklearn.datasets import load_iris
data = load_iris()
```
2. 数据预处理:通常不需要太多预处理,因为鸢尾花的数据已经标准化过。
3. 划分数据集:将数据分为训练集和测试集。
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)
```
4. 初始化并应用KNN模型:选择一个合适的k值,例如3或5,来进行分类。
```python
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
```
5. 预测:对测试集进行预测,并计算准确率。
```python
y_pred = knn.predict(X_test)
accuracy = knn.score(X_test, y_test)
```
阅读全文