【sklearn练习】鸢尾花

一、

python 复制代码
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

第二行:导入datasets数据集

第三行:train_test_split 的作用是将数据集随机分配训练集和测试集。

第四行:采用的模型是,KNeighborsClassifier,实现 k 最近邻投票的分类器。

二、

python 复制代码
iris = datasets.load_iris()
iris_X = iris.data
iris_y = iris.target

第一行,获取鸢尾花数据集

第二行,将data存入iris_X

第三行,将标签存入iris_y

三、

python 复制代码
print(iris_X[:2, :])
print(iris_y)

第一行,打印数据的前两行

第二行,打印标签

输出结果为:

python 复制代码
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]

四、

python 复制代码
X_train, X_test, y_train, y_test = train_test_split(
    iris_X, iris_y, test_size=0.3)
print(y_train)

第一行,函数 train_test_split将数据集乱序分为训练集和测试集。

第三行,打印y_train查看

输出结果为:

python 复制代码
[1 1 2 0 0 2 2 0 0 0 1 0 2 0 2 1 0 1 0 2 2 2 0 1 0 2 2 2 1 0 0 1 0 0 0 0 2
 2 1 0 1 0 0 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 0 2 1 0 2 2 0 1 1 1 2 2 1 1 0
 1 0 1 1 2 2 2 2 1 1 0 0 0 2 1 0 0 1 1 2 0 0 0 2 2 0 2 1 0 0 2]

五、

python 复制代码
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)

第一行,类实例化

第二行,完成模型训练

六、

python 复制代码
print(knn.predict(X_test))
print(y_test)

对比模型预测的标签和原标签

输出结果为:

python 复制代码
[1 2 0 0 0 2 2 0 2 1 1 0 1 2 1 1 0 1 0 1 1 0 0 0 2 1 0 0 1 1 2 2 2 0 2 1 2
 1 2 2 2 1 0 2 1]
[1 2 0 0 0 2 2 0 2 1 1 0 1 2 1 1 0 1 0 1 1 0 0 0 2 1 0 0 1 1 2 2 2 0 1 1 2
 1 2 1 2 1 0 2 1]
相关推荐
Re_Yang091 天前
2025年统计与数据分析领域专业认证发展指南
服务器·人工智能·数据分析
西猫雷婶1 天前
pytorch基本运算-分离计算
人工智能·pytorch·python·深度学习·神经网络·机器学习
数新网络1 天前
PyTorch
人工智能·pytorch·python
程序员miki1 天前
RNN循环神经网络(一):基础RNN结构、双向RNN
人工智能·pytorch·rnn·深度学习
自信的小螺丝钉1 天前
【大模型手撕】pytorch实现LayerNorm, RMSNorm
人工智能·pytorch·python·归一化·rmsnorm·layernorm
深耕AI1 天前
PyTorch图像预处理:ToTensor()与Normalize()的本质区别
人工智能·pytorch·python
moonsims1 天前
SKYTRAC-无人机、无人机系统和城市空中交通卫星通信 – BVLOS 和 C2 卫星通信终端和任务服务器
人工智能
云卓SKYDROID1 天前
无人机电压模块技术剖析
人工智能·无人机·电压·高科技·云卓科技
Codebee1 天前
使用Qoder 改造前端UI/UE升级改造实践:从传统界面到现代化体验的华丽蜕变
前端·人工智能
用户5191495848451 天前
Apache服务器自动化运维与安全加固脚本详解
人工智能·aigc