首页 > 其他分享 >数据准备与模型评估

数据准备与模型评估

时间:2024-11-21 14:41:50浏览次数:1  
标签:iris 验证 模型 交叉 score 准备 数据 评估 sklearn

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

 

一、实验目的

熟悉 Python 的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力;

加深对训练集、测试集、N 折交叉验证、模型评估标准的理解。

 

二、实验内容

(1)利用 pandas 库从本地读取 iris 数据集;

(2)从 scikit-learn 库中直接加载 iris 数据集;

(3)实现折交叉验证进行模型训练;

(4)计算并输出模型的准确度、精度、召回率和 F1 值。

 

三、算法步骤、代码、及结果

   1. 算法伪代码

导入 NumPy 库

导入 sklearn.datasets 库

导入 pandas 库

导入 sklearn.model_selection 库

导入 sklearn.ensemble 库

导入 sklearn.metrics 库

 

加载 iris 数据集

  将特征数据存储在 X 中

  将目标变量存储在 y 中

 

将数据转换为 DataFrame

  创建 DataFrame 对象 iris_df

  打印 iris_df 的前几行

 

初始化随机森林分类器

  创建 RandomForestClassifier 对象 rf_classifier

 

设置五折交叉验证

  创建 KFold 对象 kf

 

定义多个评分函数

  创建字典 scoring 包含多个评分指标

 

进行多指标交叉验证

  对 rf_classifier 进行交叉验证

  传入 X, y, kf 和 scoring

 

输出每个指标的平均值

  遍历交叉验证结果

  对于每个以 'test_' 开头的指标

打印指标名称和平均值

 

   2. 算法主要代码

(1)完整源代码

import numpy as np
from sklearn.datasets import load_iris

# 加载iris数据集
iris = load_iris()
X, y = iris.data, iris.target

import pandas as pd

# 将数据转换为DataFrame,便于查看
iris_df = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
                       columns= iris['feature_names'] + ['target'])
print(iris_df.head())

from sklearn.model_selection import cross_val_score, cross_validate, KFold
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import make_scorer, accuracy_score, precision_score, recall_score, f1_score

# 初始化随机森林分类器
rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42)

# 设置五折交叉验证
kf = KFold(n_splits=5, shuffle=True, random_state=42)

# 定义多个评分函数
scoring = {
    'accuracy': make_scorer(accuracy_score),
    'precision': make_scorer(precision_score, average='weighted'),
    'recall': make_scorer(recall_score, average='weighted'),
    'f1': make_scorer(f1_score, average='weighted')
}

# 进行多指标交叉验证
results = cross_validate(rf_classifier, X, y, cv=kf, scoring=scoring)

# 输出每个指标的平均值
for metric, values in results.items():
    if metric.startswith('test_'):
        print(f'{metric[5:]}: {values.mean():.4f}')

 

(2)调用库方法

pandas

用途:用于数据处理和分析。它提供了数据结构(如 DataFrame)和数据操作工具,使得数据处理更加方便和高效。

主要功能:

读取和写入不同格式的数据文件(如 CSV、Excel、SQL 数据库等)。

数据清洗和预处理。

数据筛选、排序、分组等操作。

数据可视化(结合 matplotlib 等库)。

numpy

用途:用于数值计算。它提供了多维数组对象(ndarray)和其他数学运算工具,是许多科学计算库的基础。

主要功能:

数组操作(如创建、重塑、切片等)。

数学和逻辑运算。

线性代数和傅里叶变换等高级数学运算。

scikit-learn

用途:用于机器学习。它是一个强大的机器学习库,提供了大量的机器学习算法和工具,包括数据预处理、模型选择、评估等。

主要功能:

机器学习算法(如分类、回归、聚类等)。

数据预处理(如标准化、编码等)。

模型选择和评估(如交叉验证、网格搜索等)。

特征选择和降维。

 

  1. 结果截图(包括:准确率;精度、召回率、F1)

 

(1)准确率:0.9600

 

(2)精度:0.9638,召回率:0.9600,F1:0.9599

 

标签:iris,验证,模型,交叉,score,准备,数据,评估,sklearn
From: https://www.cnblogs.com/0608lin/p/18560716

相关文章

  • 大模型推理指南:使用 vLLM 实现高效推理
    本文主要分享如何使用vLLM实现大模型推理服务。1.概述大模型推理有多种方式比如最基础的HuggingFaceTransformersTGIvLLMTriton+TensorRT-LLM...其中,热度最高的应该就是vLLM,性能好的同时使用也非常简单,本文就分享一下如何使用vLLM来启动大模型推理服务。根......
  • 【泥石流;风险;脆弱性;风险评估;川藏公路北线|论文解读1】川藏高速公路北线泥石流风险评估
    【泥石流;风险;脆弱性;风险评估;川藏公路北线|论文解读1】川藏高速公路北线泥石流风险评估【泥石流;风险;脆弱性;风险评估;川藏公路北线|论文解读1】川藏高速公路北线泥石流风险评估文章目录【泥石流;风险;脆弱性;风险评估;川藏公路北线|论文解读1】川藏高速公路北线......
  • Baichuan2 模型详解,附实验代码复现
    简介近年来,大规模语言模型(LLM)领域取得了令人瞩目的进展。语言模型的参数规模从早期的数百万(如ELMo、GPT-1),发展到如今的数十亿甚至上万亿(如GPT-3、PaLM和SwitchTransformers)。随着模型规模的增长,LLM的能力显著提升,展现出更接近人类的语言流畅性,并能执行多样化的自然语......
  • 搭建个人知识库 | 手把手教你本地部署大模型
    一、引言今天给大家分享的是手把手教你如何部署本地大模型以及搭建个人知识库读完本文,你会学习到如何使用Ollama一键部署本地大模型通过搭建本地的聊天工具,了解ChatGPT的信息是如何流转的RAG的概念以及所用到的一些核心技术如何通过AnythingLLM这款软件搭建完全本......
  • 边缘计算服务,kubeedge+kserver搭建,【AI模型推理】
    生产运行环境推荐k8s版本1.29、Istio1.21、knative1.13.1单节点k8s:最少6C6G,30g存储多节点k8s:每节点最少2c4g,20g存储注意:部署中所属文件都将分别放置于kubeedge和kserver文件夹之中1)安装istio方法1istioctlinstall-y方法2mkdir-pkservercd!$#镜像名替换脚本......
  • Python 实现基于BP神经网络的电力负荷预测模型
    目录1. 项目背景介绍...12. 项目目标与意义...13. 项目挑战...24. 项目特点与创新...25. 项目应用领域...26. 效果预测图程序设计...37. 项目模型架构...38. 项目模型描述...49. 项目模型算法流程图...510. 项目结构设计...511. 项目部署与应......
  • LLM2CLIP:使用大语言模型提升CLIP的文本处理,提高长文本理解和跨语言能力
    在人工智能迅速发展的今天,多模态系统正成为推动视觉语言任务前沿发展的关键。CLIP(对比语言-图像预训练)作为其中的典范,通过将文本和视觉表示对齐到共享的特征空间,为图像-文本检索、分类和分割等任务带来了革命性突破。然而其文本编码器的局限性使其在处理复杂长文本和多语言任务时......
  • 51c大模型~合集68
    我自己的原文哦~ https://blog.51cto.com/whaosoft/12219999#FakeShield提出基于多模态大语言模型的可解释图像篡改检测定位本篇分享论文​​FakeShield:ExplainableImageForgeryDetectionandLocalizationviaMulti-modalLargeLanguageModels​​,北京大学提出基......
  • Open-RAG:将开源LLM模型集成为高效RAG模型 | ENMLP'24
    本文是对公开论文的核心提炼,旨在进行学术交流。如有任何侵权问题,请及时联系号主以便删除。来源:晓飞的算法工程笔记公众号,转载请注明出处论文:Open-RAG:EnhancedRetrieval-AugmentedReasoningwithOpen-SourceLargeLanguageModels论文地址:https://arxiv.org/abs/24......
  • 一文看懂做大模型备案的关键点【评估测试题+备案源文件】
    文章目录(一)适用主体(二)语料安全(三)模型安全(四)安全措施要求(五)词库要求(六)安全评估要求(七)附录大模型备案材料源文件2024年3月1日,我国通过了《生成式人工智能服务安全基本要求》(以下简称《AIGC安全要求》),这是目前我国第一部有关AIGC服务安全性方面的技术性指导文件,对语料安全......