当前位置: 首页 > news >正文

机器学习之数据集

目录

1、简介

2、可用数据集

3、scikit-learn数据集API

3.1、小数据集

3.2、大数据集

4、数据集使用


⭐所属专栏:人工智能

文中提到的代码如有需要可以私信我发给你😊

1、简介

当谈论数据集时,通常是指在机器学习和数据分析中使用的一组数据样本,这些样本通常代表了某个特定问题领域的实际观测数据。数据集可以用于开发、训练和评估机器学习模型,从而使模型能够从数据中学习并做出预测或分类。

数据集通常由以下几个组成部分组成:

  1. 特征(Features):也称为自变量、属性或输入变量,是用来描述每个数据样本的不同方面的数据。特征可以是数值型、类别型、文本型等。在监督学习中,特征被用来训练模型。
  2. 目标变量(Target Variable):也称为因变量、标签或输出变量,是我们希望模型预测或分类的值。在监督学习中,模型使用特征来预测或分类目标变量。
  3. 样本(Samples):每个样本是数据集中的一行,包含特征和目标变量的值。样本代表了问题领域中的一个观测点或数据点。
  4. 特征名称(Feature Names):如果数据集中的特征有名称,通常会提供一个特征名称列表,以便更好地理解和解释特征。
  5. 目标变量的类别(Target Variable Classes):对于分类问题,目标变量可能有多个类别,每个类别表示一个不同的类或标签。
  6. 数据集描述(Dataset Description):通常包括数据集的来源、数据采集方法、特征和目标变量的含义,以及数据的格式和结构等信息。

数据集可以在各种领域和问题中使用,例如医疗诊断、自然语言处理、计算机视觉、金融预测等。不同类型的数据集可能需要不同的预处理和特征工程步骤,以便为模型提供有意义的数据。

在机器学习中,一个常见的任务是将数据集划分为训练集和测试集,用于模型的训练和评估。这样可以确保模型在未见过的数据上能够进行泛化。数据集的质量和适用性对机器学习模型的性能和效果有很大影响,因此选择合适的数据集和进行有效的特征工程非常重要。

2、可用数据集

Kaggle网址:Find Open Datasets and Machine Learning Projects | Kaggle

UCI数据集网址: UCI Machine Learning Repository

scikit-learn网址:http://scikit-learn.org/stable/datasets/index.html#datasets

Scikit-learn工具介绍:

  • Python语言的机器学习工具
  • Scikit-learn包括许多知名的机器学习算法的实现
  • Scikit-learn文档完善,容易上手,丰富的API
  • 目前稳定版本0.19.1

安装:pip3 install Scikit-learn==0.19.1 (安装scikit-learn需要Numpy, Scipy等库)

Scikit-learn包含的内容:

scikitlearn接口

  • 分类、聚类、回归
  • 特征工程
  • 模型选择、调优

3、scikit-learn数据集API

  • sklearn.datasets 加载获取流行数据集
  • datasets.load_*() 获取小规模数据集,数据包含在datasets里
  • datasets.fetch_*(data_home=None) 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

3.1、小数据集

sklearn.datasets.load_iris() 加载并返回鸢尾花数据集

sklearn.datasets.load_boston() 加载并返回波士顿房价数据集

3.2、大数据集

  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
    • subset:'train'或者'test','all',可选,选择要加载的数据集。
    • 训练集的“训练”,测试集的“测试”,两者的“全部”

4、数据集使用

这里使用的是鸢尾花数据集

数据集返回值介绍:

load和fetch返回的数据类型datasets.base.Bunch(字典格式)

data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组

target:标签数组,是 n_samples 的一维 numpy.ndarray 数组

DESCR:数据描述

feature_names:特征名,新闻数据,手写数字、回归数据集没有

target_names:标签名

from sklearn.datasets import load_iris'''
load和fetch返回的数据类型datasets.base.Bunch(字典格式)data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组target:标签数组,是 n_samples 的一维 numpy.ndarray 数组DESCR:数据描述feature_names:特征名,新闻数据,手写数字、回归数据集没有target_names:标签名
'''
def getIris_1():# 获取鸢尾花数据集iris = load_iris()print("鸢尾花数据集的返回值:\n", iris)# 返回值是一个继承自字典的Benchprint("鸢尾花的特征值:\n", iris["data"])print("鸢尾花的目标值:\n", iris.target)print("鸢尾花特征的名字:\n", iris.feature_names)print("鸢尾花目标值的名字:\n", iris.target_names)print("鸢尾花的描述:\n", iris.DESCR)if __name__ == '__main__':getIris_1()

数据集划分:

机器学习一般的数据集会划分为两个部分:

  • 训练数据:用于训练,构建模型
  • 测试数据:在模型检验时使用,用于评估模型是否有效

划分比例:

  • 训练集:70% 80% 75%
  • 测试集:30% 20% 30%

数据集划分api:

sklearn.model_selection.train_test_split(arrays, *options)

x 数据集的特征值

y 数据集的标签值

test_size 测试集的大小,一般为float

random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。

return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取)

from sklearn.model_selection import train_test_split  # 数据集划分'''
sklearn.model_selection.train_test_split(arrays, *options)x 数据集的特征值y 数据集的标签值test_size 测试集的大小,一般为floatrandom_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取)
'''
def datasets_demo():"""对鸢尾花数据集的演示:return: None"""# 1、获取鸢尾花数据集iris = load_iris()print("鸢尾花数据集的返回值:\n", iris)# 返回值是一个继承自字典的Benchprint("鸢尾花的特征值:\n", iris["data"])print("鸢尾花的目标值:\n", iris.target)print("鸢尾花特征的名字:\n", iris.feature_names)print("鸢尾花目标值的名字:\n", iris.target_names)print("鸢尾花的描述:\n", iris.DESCR)# 2、对鸢尾花数据集进行分割# 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_testx_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)print("x_train:\n", x_train.shape)# 随机数种子x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, random_state=6)x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, random_state=6)print("如果随机数种子不一致:\n", x_train == x_train1)print("如果随机数种子一致:\n", x_train1 == x_train2)return Noneif __name__ == '__main__':datasets_demo()

相关文章:

机器学习之数据集

目录 1、简介 2、可用数据集 3、scikit-learn数据集API 3.1、小数据集 3.2、大数据集 4、数据集使用 ⭐所属专栏:人工智能 文中提到的代码如有需要可以私信我发给你😊 1、简介 当谈论数据集时,通常是指在机器学习和数据分析中使用的一组…...

PyTorch Geometric基本教程

PyG官方文档 # Install torch geometric !pip install -q torch-scatter -f https://pytorch-geometric.com/whl/torch-1.10.2cu102.html !pip install -q torch-sparse -f https://pytorch-geometric.com/whl/torch-1.10.2cu102.html !pip install -q torch-geometricimport t…...

MAC 命令行启动tomcat的详细介绍

MAC 命令行启动tomcat MAC 命令行启动tomcat的详细介绍 一、修改授权 进入tomcat的bin目录,修改授权 1 2 3 ➜ bin pwd /Users/yp/Documents/workspace/apache-tomcat-7.0.68/bin ➜ bin sudo chmod 755 *.sh sudo为系统超级管理员权限.chmod 改变一个或多个文件的存取模…...

idea2023 springboot2.7.5+mybatisplus3.5.2+jsp 初学单表增删改查

创建项目 修改pom.xml 为2.7.5 引入mybatisplus 2.1 修改pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><!--mysq…...

轻松搭建书店小程序

在现今数字化时代&#xff0c;拥有一个自己的小程序成为了许多企业和个人的追求。而对于书店经营者来说&#xff0c;拥有一个能够提供在线购书服务的小程序将有助于吸引更多的读者&#xff0c;并提升销售额。本文将为您介绍如何轻松搭建书店小程序&#xff0c;并将其成功上线。…...

Spark MLlib机器学习库(一)决策树和随机森林案例详解

Spark MLlib机器学习库(一)决策树和随机森林案例详解 1 决策树预测森林植被 1.1 Covtype数据集 数据集的下载地址&#xff1a; https://www.kaggle.com/datasets/uciml/forest-cover-type-dataset 该数据集记录了美国科罗拉多州不同地块的森林植被类型&#xff0c;每个样本…...

CI/CD入门(二)

CI/CD入门(二) 目录 CI/CD入门(二) 1、代码上线方案 1.1 早期手动部署代码1.2 合理化上线方案1.3 大型企业上线制度和流程1.4 php程序代码上线的具体方案1.5 Java程序代码上线的具体方案1.6 代码上线解决方案注意事项2、理解持续集成、持续交付、持续部署 2.1 持续集成2.2 持续…...

【BASH】回顾与知识点梳理(三十五)

【BASH】回顾与知识点梳理 三十五 三十五. 二十七至三十四章知识点总结及练习35.1 总结35.2 练习RAIDLVMsystemd 35.3 简答题 该系列目录 --> 【BASH】回顾与知识点梳理&#xff08;目录&#xff09; 三十五. 二十七至三十四章知识点总结及练习 35.1 总结 Quota 可公平的分…...

excel逻辑函数篇2

1、IF(logical_test,[value_if_true],[value_if_false])&#xff1a;判断是否满足某个条件&#xff0c;如果满足返回一个值&#xff0c;如果不满足则返回另一个值 if(条件,条件成立返回的值,条件不成立返回的值) 2、IFS(logical_test1,value_if_true1,…)&#xff1a;检查是否…...

设计模式详解-解释器模式

类型&#xff1a;行为型模式 实现原理&#xff1a;实现了一个表达式接口&#xff0c;该接口使用标识来解释语言中的句子 作用&#xff1a;给定一个语言&#xff0c;定义它的文法表示&#xff0c;并定义一个解释器&#xff0c;这个解释器来解释。 主要解决&#xff1a;一些重…...

如何在React项目中动态插入HTML内容

React是一种流行的JavaScript库&#xff0c;用于构建用户界面。它提供了一种声明式的方法来创建可复用的组件&#xff0c;使得开发者能够更轻松地构建交互性的Web应用程序。在React中&#xff0c;我们通常使用JSX语法来描述组件的结构和行为。 在某些情况下&#xff0c;我们可…...

十六、Spring Cloud Sleuth 分布式请求链路追踪

目录 一、概述1、为什么出出现这个技术&#xff1f;需要解决哪些问题2、是什么&#xff1f;3、解决 二、搭建链路监控步骤1、下载运行zipkin2、服务提供者3、服务调用者4、测试 一、概述 1、为什么出出现这个技术&#xff1f;需要解决哪些问题 2、是什么&#xff1f; 官网&am…...

ElasticSearch DSL语句(bool查询、算分控制、地理查询、排序、分页、高亮等)

文章目录 DSL 查询种类DSL query 基本语法1、全文检索2、精确查询3、地理查询4、function score &#xff08;算分控制&#xff09;5、bool 查询 搜索结果处理1、排序2、分页3、高亮 RestClient操作 DSL 查询种类 查询所有&#xff1a;查询所有数据&#xff0c;一般在测试时使…...

【考研数学】概率论与数理统计 | 第一章——随机事件与概率(2,概率基本公式与事件独立)

文章目录 引言四、概率基本公式4.1 减法公式4.2 加法公式4.3 条件概率公式4.4 乘法公式 五、事件的独立性5.1 事件独立的定义5.1.1 两个事件的独立5.1.2 三个事件的独立 5.2 事件独立的性质 写在最后 引言 承接上文&#xff0c;继续介绍概率论与数理统计第一章的内容。 四、概…...

SpringBoot整合RabbitMQ,笔记整理

1创建生产者工程springboot-rabbitmq-produce 2.修改pom.xml文件 <!--父工程--> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.0</version><r…...

搜狗拼音暂用了VSCode及微信小程序开发者工具快捷键Ctrl + Shit + K 搜狗拼音截图快捷键

修改搜狗拼音的快捷键 右键--更多设置--属性设置--按键--系统功能快捷键--系统功能快捷键设置--取消Ctrl Shit K的勾选--勾选截屏并设置为Ctrl Shit A 微信开发者工具设置快捷键 右键--Command Palette--删除行 微信开发者工具快捷键 删除行&#xff1a;Ctrl Shit K 或…...

Python包sklearn画ROC曲线和PR曲线

前言 关于ROC和PR曲线的介绍请参考&#xff1a; 机器学习&#xff1a;准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线 参考&#xff1a; Python下使用sklearn绘制ROC曲线&#xff08;超详细&#xff09; Python绘图|Python绘制ROC曲线和PR曲线 源码 …...

snpEff变异注释的一点感想

snpEff变异注释整成人生思考 1.介绍2.安装过程以及构建物种参考数据库3.坑货来了4.结果文件判读5.小tips 1.介绍 &nbsp SnpEff&#xff08;Snp Effect&#xff09;是一个用于预测基因组变异&#xff08;例如单核苷酸变异、插入、缺失等&#xff09;对基因功能的影响的生物…...

“保姆级”考研下半年备考时间表

7月-8月 确定考研目标与备考计划 暑假期间是考研复习的关键时期&#xff0c;需要复习的主要内容有&#xff1a;重点关注重要的学科和专业课程&#xff0c;复习相关基础知识和核心概念。制定详细的复习计划并合理安排每天的学习时间&#xff0c;增加真题练习熟悉考试题型和答题技…...

具有弱监督学习的精确3D人脸重建:从单幅图像到图像集的Python实现详解

随着深度学习和计算机视觉技术的飞速发展&#xff0c;3D人脸重建技术在多个领域获得了广泛应用&#xff0c;例如虚拟现实、电影特效、生物识别等。但是&#xff0c;由单幅图像实现高精度的3D人脸重建仍然是一个巨大的挑战。在本文中&#xff0c;我们将探讨如何利用弱监督学习进…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

Linux 下 DMA 内存映射浅析

序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存&#xff0c;但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程&#xff0c;可以参考这篇文章&#xff0c;我觉得写的非常…...

WebRTC调研

WebRTC是什么&#xff0c;为什么&#xff0c;如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

ThreadLocal 源码

ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物&#xff0c;因为每个访问一个线程局部变量的线程&#xff08;通过其 get 或 set 方法&#xff09;都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段&#xff0c;这些类希望将…...