首页 > 其他分享 >上机实验:数据准备与模型评估

上机实验:数据准备与模型评估

时间:2024-11-12 22:00:47浏览次数:1  
标签:iris 上机 模型 score scores 4f import cv 评估

1、实验目的 熟悉 Python 的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力; 加深对训练集、测试集、N 折交叉验证、模型评估标准的理解。 2、实验内容 (1)利用 pandas 库从本地读取 iris 数据集; (2)从 scikit-learn 库中直接加载 iris 数据集; (3)实现五折交叉验证进行模型训练; (4)计算并输出模型的准确度、精度、召回率和 F1 值。 3、操作要点 (1)安装 Python 及 pycharm(一种 Python 开发 IDE),并熟悉 Python 基本操作; (2)学习 pandas 库里存取文件的相关函数,以及 scikit-learn 库里数据集下载、交叉验 证、模型评估等相关操作; (3)可能用的库有 pandas,scikit-learn,numpy 等,需要提前下载 pip; (4)测试模型可使用随机森林 rf_classifier = RandomForestClassifier(n_estimators=100), 或其它分类器; (5)撰写实验报告,提交源代码;实验报告在所有上机实验结束后提交。 4、主要仪器设备 微机及 Python 软件。 Tips:(1)Python 对代码格式十分敏感,务必注意缩进、空格等不规范操作;   (2)用到的库需要提前加载,例如 import pandas as pd import numpy as np from sklearn.datasets import load_iris from sklearn.model_selection import cross_val_score, KFold, cross_val_predict   源代码:

# 导入必要的库
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import cross_val_score, StratifiedKFold
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import make_scorer, precision_score, recall_score, f1_score
import numpy as np

# 1. 使用 pandas 从本地读取 iris 数据集
# 假设本地数据集为 iris.csv 文件
# df = pd.read_csv('iris.csv') # 如果本地有数据集,使用这行代码加载
# print(df.head()) # 输出数据集的前几行进行检查

# 2. 从 scikit-learn 加载 iris 数据集
iris = load_iris()
X = iris.data # 特征数据
y = iris.target # 标签数据

# 3. 实现五折交叉验证并训练模型
# 创建分类器
rf_classifier = RandomForestClassifier(n_estimators=100)

# 使用 StratifiedKFold 进行五折交叉验证
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)

# 计算模型的准确度
accuracy = cross_val_score(rf_classifier, X, y, cv=cv, scoring='accuracy')
print(f'五折交叉验证的准确度: {accuracy.mean():.4f} (+/- {accuracy.std():.4f})')

# 4. 计算并输出模型的准确度、精度、召回率和 F1 值
def evaluate_model(model, X, y, cv):
# 创建自定义的评估函数
precision = make_scorer(precision_score, average='weighted', zero_division=1)
recall = make_scorer(recall_score, average='weighted', zero_division=1)
f1 = make_scorer(f1_score, average='weighted', zero_division=1)

# 计算精度、召回率和 F1 值
precision_scores = cross_val_score(model, X, y, cv=cv, scoring=precision)
recall_scores = cross_val_score(model, X, y, cv=cv, scoring=recall)
f1_scores = cross_val_score(model, X, y, cv=cv, scoring=f1)

print(f'五折交叉验证的精度: {precision_scores.mean():.4f} (+/- {precision_scores.std():.4f})')
print(f'五折交叉验证的召回率: {recall_scores.mean():.4f} (+/- {recall_scores.std():.4f})')
print(f'五折交叉验证的 F1 值: {f1_scores.mean():.4f} (+/- {f1_scores.std():.4f})')

# 运行模型评估
evaluate_model(rf_classifier, X, y, cv)


首先,你要下载好所有东西和库,并激活软件,

标签:iris,上机,模型,score,scores,4f,import,cv,评估
From: https://www.cnblogs.com/yuanxinglan/p/18542726

相关文章

  • 大模型为什么是深度学习的未来?
    当今社会是科技的社会,是算力快速发展的时代。随着数据中心、东数西算、高性能计算、数据分析、数据挖掘的快速发展,大模型得到了快速地发展。大模型是“大算力+强算法”相结合的产物,是人工智能的发展趋势和未来。目前,大规模的生态已初具规模。其可以实现从“手工作坊”到“工......
  • 大模型可以在哪些场景应用落地?
    大模型是什么?大模型是指模型具有庞大的参数规模和复杂程度的机器学习模型。在深度学习领域,大模型通常是指具有数百万到数十亿参数的神经网络模型。前排提示,文末有大模型AGI-CSDN独家资料包哦!大模型是指模型具有庞大的参数规模和复杂程度的机器学习模型。在深度学习领域,大......
  • 本地部署大模型的几种方式
    现在大模型可谓是满天飞,只要你稍微关注时下的AI资讯,几乎每天都有新的AI大模型出现.这之中当然有诸如GhatGPT,Gemini这样的私有化大模型,更吸引人关注的可能是开源的可私有化部署的一些大模型.比如Meta前两天开放的Lamma3,Google的Gemma开源模型,国内也有Qwen以及......
  • 一口气了解大模型相关通识,基础笔记!
    一、大模型生态有哪些语言类大模型:GPT-3、GPT-3.5、GPT-4系列模型。并且,OpenAl在训练GPT-3的同时训练了参数不同、复杂度各不相同的A、B、C、D四项大模型(基座模型),用于不同场景的应用;前排提示,文末有大模型AGI-CSDN独家资料包哦!其中,A、B、C、D模型的全称分别是ada、b......
  • 计算机网络基础:从IP地址到分层模型
    计算机网络1.计算机网络概述概述​计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信。互联网是网络的网络(Internet),即把很多计算机网络连接起来,形成一个全球统一的互联网,互联网中的所有计算机都需要遵循同一种网络协议。网络协议......
  • springboot毕设 教学评估系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今教育信息化快速发展的背景下,教学评估作为提升教学质量、优化教育资源分配的重要手段,其重要性日益凸显。传统的教学评估方式往往依赖于纸质问卷......
  • 书生大模型实战营第四期 L1G6000 OpenCompass 评测书生大模型实践
    评测书生大模型实践文章目录评测书生大模型实践前言评测API模型前言OpenCompass提供了API模式评测和本地直接评测两种方式。其中API模式评测针对那些以API服务形式部署的模型,而本地直接评测则面向那些可以获取到模型权重文件的情况。参考:https://github.......
  • 在通讯领域,特别是在自由空间光通信(Free Space Optics, FSO)通道模拟中,选择合适的模型需
    在通讯领域,特别是在自由空间光通信(FreeSpaceOptics,FSO)通道模拟中,选择合适的模型需要考虑模型对动态变化的光信号传播环境的适应性和预测能力。根据搜索结果,以下是一些可能适合通讯领域FSO通道模拟的模型:TACTiS-2:这是一个灵活的多变量概率时间序列预测模型,它简化了attenti......
  • 基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数
    摘要:番茄成熟度检测在农业生产及质量控制中起着至关重要的作用,不仅能帮助农民及时采摘成熟的番茄,还为自动化农业监测提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的番茄成熟度检测模型,该模型使用了大量图片进行训练,能够准确识别不同成熟度阶段的......
  • 解锁视觉-文本双编码:CLIP类似模型的多GPU训练
    UnlockingVision-TextDual-Encoding:Multi-GPUTrainingofaCLIP-LikeModelROCmBlogs2024年4月24日,由SeanSong撰写。在本博客中,我们将构建一个类似CLIP的视觉-文本双编码器模型,并在AMDGPU上使用ROCm对其进行微调,使用COCO数据集。这项工作受到CLIP原理和HuggingF......