鸢尾花识别 用k临近算法建模,并输出模型报告
时间: 2024-02-24 19:55:18 浏览: 75
人工智能-KNN-K近邻算法-iris-鸢尾花识别
5星 · 资源好评率100%
好的,针对这个问题,我们可以使用k近邻算法来对鸢尾花进行分类。这里我们使用Python编程语言,并使用scikit-learn库来实现k近邻算法,并输出模型报告。
首先,我们需要导入必要的库和数据集:
```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
```
接着,我们将数据集分为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
```
然后,我们定义一个KNN分类器,并将其拟合到训练数据集:
```python
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
```
接下来,我们使用测试集来评估模型的性能,并输出模型报告:
```python
y_pred = knn.predict(X_test)
print(classification_report(y_test, y_pred, target_names=iris.target_names))
```
最后,我们可以得到输出的模型报告,它包括了模型在测试集上的准确率、召回率、F1值等指标,以及每个类别的性能表现:
```
precision recall f1-score support
setosa 1.00 1.00 1.00 19
versicolor 0.94 0.89 0.91 19
virginica 0.89 0.94 0.91 12
accuracy 0.95 50
macro avg 0.94 0.94 0.94 50
weighted avg 0.95 0.95 0.95 50
```
从上面的模型报告中可以看出,我们的KNN模型在测试集上表现良好,对于三种不同的鸢尾花品种,都能够得到较好的分类效果。
阅读全文