准备:鸢尾花数据集。 调用sklearn库,使用KNN分类方法完成鸢尾花数据的分类。
时间: 2024-05-06 07:16:41 浏览: 34
好的,可以按照以下步骤完成:
1. 导入必要的库和数据集:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
```
2. 将数据集分为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
3. 创建并训练KNN分类器:
```python
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
```
4. 预测测试集数据:
```python
y_pred = knn.predict(X_test)
```
5. 输出分类器的准确率:
```python
print("Accuracy:", knn.score(X_test, y_test))
```
完整代码如下:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载数据集
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分类器
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
# 预测测试集数据
y_pred = knn.predict(X_test)
# 输出分类器的准确率
print("Accuracy:", knn.score(X_test, y_test))
```
输出结果应该类似于:
```
Accuracy: 1.0
```
这说明我们的KNN分类器在测试集上的准确率为100%,即完全正确地分类了测试集中的所有数据。