实验二——鸢尾花分类预测

news/发布时间2024/4/29 19:04:44

具体代码(Python版本)

import numpy as np                # 导入numpy库,用于进行数值计算
import matplotlib.pyplot as plt   # 导入matplotlib库,用于绘制图形
from sklearn import datasets      # 从sklearn库中导入datasets模块,用于加载数据集
from sklearn.model_selection import train_test_split  # 导入train_test_split函数,用于划分训练集和测试集
from sklearn.preprocessing import StandardScaler    # 导入StandardScaler类,用于数据标准化
from sklearn.neighbors import KNeighborsClassifier  # 导入KNeighborsClassifier类,用于创建KNN分类器
from sklearn.metrics import classification_report, confusion_matrix  # 导入分类报告和混淆矩阵的计算函数
from mpl_toolkits.mplot3d import Axes3D
from sklearn.cluster import KMeans
import matplotlib
matplotlib.use('TkAgg')
import pandas as pd# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data  # 数据集中的特征
y = iris.target  # 数据集中的标签# 划分训练集和测试集,测试集占20%
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建StandardScaler对象
sc = StandardScaler()
# 对训练集进行标准化处理
X_train_std = sc.fit_transform(X_train)
# 对测试集进行标准化处理,注意这里使用训练集得到的均值和标准差
X_test_std = sc.transform(X_test)# 创建KNN分类器,设置邻居数为3
knn = KNeighborsClassifier(n_neighbors=3)
# 使用训练集数据对KNN分类器进行训练
knn.fit(X_train_std, y_train)# 使用训练好的KNN分类器对测试集进行预测
y_pred = knn.predict(X_test_std)# 打印混淆矩阵
print(confusion_matrix(y_test, y_pred))
# 打印分类报告
print(classification_report(y_test, y_pred))import seaborn as sns
iris = pd.read_csv('iris.csv') #读取iris数据集
sns.pairplot(iris, hue="Species") #绘图
plt.show() #显示图片

效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/87865321.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Android开发-Android APP实操-1.项目创建及启动页面UI编码

一、项目创建及模拟器安装 1.选择新建一个project2. 选择空模板3.完成新project的设置 下载完成后点击Finish4.下载安卓模拟器 选择Pixel7点击下载R 为虚拟机命名,选择竖屏,点击Finish.5.点击启动,测试运行 运行成功! 二、启动页面UI编码1.打开MainActivity.java文件,Ctrl+左…

c# 嵌入锐浪报表

1、从锐浪官网上下载安装文件,然后直接安装 ; 2、打开VS2019,添加引用,选中COM项下的:Grid++Report Engine 6 Type Library 6.0 然后,在VS解决方案资源管理器中,打开”引用“,在gregn6lib上点键,点击属性,将独立设置为True,将嵌入式互操作类型设置为True。 3、打开…

Java进阶 - [1-4] 反射

一、类加载区别 当我们刚接触java语言的时候,我们最常见的代码应该就是初始化某个对象,然后调用该对象的方法。 1、使用new创建对象,返回对象的引用。Student student = new Student(); 2、调用方法:student.say();当我们想在运行期才能指定具体对象的类型或调用的某个方法…

GitHub WebHook 使用教程

介绍 GitHub WebHook 的使用方式,GitHub 允许我们配置 WebHook ,它允许我们配置某个仓库发生某个事件时,通知指定的外部服务。本文收录于 Github.com/niumoo/JavaNotes,Java 系列文档,数据结构与算法! 本文收录于网站:https://www.wdbyte.com/,我的公众号:程序猿阿朗什…

2-14. 生成 ListView 列表

修改 ItemEditor 加载 ItemDataList_SO老师在调试的过程中发现,AssetDatabase.FindAssets 里面不需要加t:加载 ItemDetails测试 打开 Editor 窗口,然后就能看到有打印输出查看示例文档最终要的是实现 makeItem 和 bindItem。前者是列表中添加项目时候调用,后者是点击项目的时…