利⽤KNN算法构建模型,根据鸢尾花的花萼和花瓣⼤⼩,区分鸢尾花的品种。# 构造训练数据和测试数据 # 构造KNN模型 # 训练模型 # 评估模型 # 做出预测 X_new = np.array([[1.1,5.9,1.4,2.2]]) #给出X_new预测结果,每行代码有解释
时间: 2024-02-09 14:08:06 浏览: 89
好的,针对您的问题,我来逐步回答:
1. 构造训练数据和测试数据
首先,我们需要导入相关的库和数据集:
```
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 导入数据集
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.3, random_state=42)
```
其中,`X`是特征数据,`y`是目标数据。我们使用`train_test_split`函数将数据集划分为训练集和测试集,其中`test_size=0.3`表示测试集占总数据集的30%。
2. 构造KNN模型
我们使用`KNeighborsClassifier`类构造KNN模型,代码如下:
```
from sklearn.neighbors import KNeighborsClassifier
# 构造KNN模型
knn = KNeighborsClassifier(n_neighbors=3)
```
其中,`n_neighbors`表示KNN算法中的K值,即选择最近的K个样本进行分类。
3. 训练模型
我们使用`fit`函数对KNN模型进行训练,代码如下:
```
# 训练KNN模型
knn.fit(X_train, y_train)
```
其中,`X_train`和`y_train`是训练集的特征数据和目标数据。
4. 评估模型
我们使用`score`函数对KNN模型进行评估,代码如下:
```
# 评估KNN模型
score = knn.score(X_test, y_test)
print('KNN模型的准确率为:%.2f%%' % (score * 100))
```
其中,`X_test`和`y_test`是测试集的特征数据和目标数据。输出结果为KNN模型的准确率。
5. 做出预测
我们使用`predict`函数对新数据进行预测,代码如下:
```
import numpy as np
# 做出预测
X_new = np.array([[1.1,5.9,1.4,2.2]])
y_pred = knn.predict(X_new)
print('新数据的预测结果为:%s' % iris.target_names[y_pred])
```
其中,`X_new`是新的特征数据,`y_pred`是预测结果。输出结果为预测出的鸢尾花品种。
阅读全文
相关推荐
















