勇闯机器学习(第二关-数据集使用)

news2024/11/29 12:40:15

以下内容,皆为原创,重在无私分享高质量知识,制作实属不易,请点点关注。

好戏开场了~~~(这关涉及到了加载数据集的代码,下一关,教你们安装机器学习库)

一.数据集

  • 这一关的目标
    • 知道数据集被分为训练集和测试集
    • 会使用sklearn的数据集                                                      

   1.可用数据集 

        scikit-learn网址:scikit-learn: machine learning in Python — scikit-learn 1.5.1 documentation

        UCI网址:UCI Machine Learning Repository

        Kaggle网址:Bohrium

  • scikit-learn        数据量小,方便学习
    • UCI            收录360个数据集,覆盖科技、生活、经济等领域,数据量几十万。
    • Kaggle       大数据竞赛平台,真实数据,数据量巨大         

 如以下图所示,这个就是UCI机器学习的网站和scikit-learn机器学习的网站。

二.使用sclearn数据集

        1.scikit-learn数据集API介绍

# 用sklearn中的datasets方法(sklearn.datasets)
    1.加载获取流行数据集
    2.datasets.load_*()
            获取小规模数据集,数据包含在datasets中
    3.datasets。fetch_*(data_home=None)
            获取大规模数据集,需要从网上下载,
            函数第一个参数是data_home,表示数据集下载的目录。你可以自己定义位置。C盘D盘都行

         2.sklearn小数据集

          加载并返回鸢尾花数据集。当然还有一个常见的波士顿房价数据集,但是

`load_boston` has been removed from scikit-learn since version 1.2.这个是我在加载波士顿房价数据集,出现的报错,所以要注意好自己的版本。
import sklearn
from sklearn.datasets import load_iris

# Load the iris dataset
print(sklearn.datasets.load_iris())

      这个就是我在jupyter notebook里,打印出来鸢尾花的数据集。

鸢尾花数据集
名称数量
类别

3

特征4
样本数量150
每个类别数量5

3.sklearn大数据集  

        加载大数据集,我们就要用fetch_*,用于加载大数据集。那个*指的是加载的数据集的名称。

       3.1 sklearn数据集返回值介绍

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

  • data:特征数据数组
  • target:目标数组(标签数组)
  • DESCR:数据描述
  • feature_names:特征名
  • target_names:目标名(标签名)                
from sklearn.datasets import load_iris
# 将加载的数据集传给iris变量
iris = load_iris()
print("鸢尾花的数据集:\n", iris)
print("查看鸢尾花的特征值:\n", iris["data"])
print("查看鸢尾花的目标值:\n", iris.target)
print("查看鸢尾花特征的名字:\n", iris.feature_names)
print("查看鸢尾花目标值的名字:\n", iris.target_names)
print("查看数据集描述:\n", iris["DESCR"])

                字典的元素是键值对的形式,所以获取值的方式有两种:

dict['key'] = value
bunch.key = value

三.训练模型

        思考:要不要用全部数据来训练一个模型??

        内心独白:肯定不行啊,你要一部分来进行模型评估啊,看你的模型好不好。

        所以数据集,分为训练集(用于训练,构建模型)测试集(在模型核验时,用于评估模型是否有效)

        划分的标准(上下组合):

                        1.训练数据:70%        80%        75%

                        2.测试数据:30%        20%        30%

        我们希望训练的模型好一点,所以让训练集多一点。

# 导入加载鸢尾花数据集的方法
from sklearn.datasets import load_iris
# 导入划分数据集的方法
from sklearn.model_selection import train_test_split

# 加载鸢尾花数据
iris = load_iris()

# 有了加载数据,才能划分数据集
# 这四个分别对应后面方法的四个返回值(训练集的特征值,测试集的特征值,训练集的目标值, 测试集的目标值)
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
print("训练集的特征值", x_train, x_train.shape)

四.懵笔时刻

        在划分数据集时,那四个变量为什么这么命名?

                不错,问得好。举个例子,在数学中,我们都是有X值去求Y值,那么Y就是我们的目标值。所以X就是数据集的特征值,Y就是数据集的目标值。后面方法里的参数test_size是测试集的大小,一般为float类型(20%,0.2,以此类推)。random_state是随机数种子,不同的种子造成不同的随机采样结果,相同的种子采样结果相同。

        为什么要用四个变量,而不是三个或者五个变量?

        

        因为那个方法就是返回的四个值啊,我能有什么办法!!what can I say?!!

        return 训练集的特征值,测试集的特征值。训练集的目标值,测试集的目标值。

五.谢谢大家的观看,后续持续分享高质量内容~~~~ 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一款搭载远翔FP5207芯片的大功率音箱,蓝牙音箱的组成和拆解展示

一款搭载远翔FP5207芯片的大功率音箱,蓝牙音箱的组成和拆解展示: 它主要以电池、功放、蓝牙、外壳结构组成。音箱放电需内置升压芯片FP5207或5217进行电池升压给功放供电。 为同时满足便携性需求并提供足够的功率,音箱通常配备了12V铅酸电池…

MySQL中的DML操作()

一、添加数据(INSERT) 1.1 选择插入 INSERT INTO 表名(列名 1 ,列名 2 ,列名 3.....) VALUES(值 1 ,值 2 ,值 3......); 1.2 默认值处理(DEFAULT) 在 MySQL 中可以使用 DEFAULT 为列设定一个默认值。如果在插入数据时并未指定该…

【C++】OJ习题(初阶)

🚀个人主页:奋斗的小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 💥1、字符串💥1.1 字符串相加💥1.2 验证回文字符串💥1.3 反转…

单例模式 详解

单例模式 简介: 让类只初始化一次, 然后不同的地方都能获取到同一个实例 这是非常常用的一种模式, 系统稍微大一点基本上都会用到. 在系统中, 不同模块的总管理类都已单例模式居多 这里我们不仅使用c实现单例模式, 也会用python2实现一遍 python代码 想要看更详细的python单…

【Python机器学习】NLP——一个简陋的聊天机器人

目录 正则表达式 一个简答的聊天机器人 另一种方法 正则表达式就是一种FSM,同时它也给出了一种可能的NLP方法,即基于模式的方法。 正则表达式 现实生活中,密码锁其实就是一台简单的语言处理机。密码锁不能阅读和理解课本,但是…

高性能web服务器nginx

目录 nginx简介 服务端 I/O 流程 Nginx 进程结构 Nginx启动流程 nginx的源码编译下载 nginx命令常见参数 nginx的配置文件详解 全局配置优化 nginx的平滑升级和回滚 nginx目录匹配优先级测试(因为只支持访问文件,所有不比对匹配目录优先级&…

STM32GPIO引脚八种工作模式

1. GPIO简述 GPIO(General-purpose input/output),通用型输入输出。简单理解就是我们可以控制输入输出的STM32引脚,统称为GPIO。 GPIO存在的意义就是用程序控制或读取它们的输出或输入。 2. 功能描述 每个GPI/O端口有两个32位配…

代码随想录算法训练营day50:图论01:图论理论基础;深度优先搜索理论基础;98. 所有可达路径;广度优先搜索理论基础

图论理论基础 分类:有向图,无向图,有无权重 度:【无向图】:有几条边连接该节点,该节点就有几度。 【有向图】:每个节点有出度和入度。出度:从该节点出发的边的个数。入度&#xf…

.net maui安卓开发中适用明文传输(一)

背景:最近在做一个pad上的项目,目的是执行每日点检功能(就是检查设备的各项保养指标);前期用HBuilder做了一个,但是现场的触摸屏选用的是TouchPie 安卓版本是6.0版本,上次开发的软件可以在安卓7.0上完美兼容,但由于触摸屏安卓版本太低不能兼容;询问厂商才知道这款触摸…

前端性能优化的指标

性能优化指标的出现,谷歌在2020年提出的Core Web Vitals 和 Web Vitals 了解谷歌浏览器自带的性能调试工具DCL、L、FP、FCP、LCP,图层(有layout布局就是回流,painting绘制就是重绘) 回流和重绘的理解 页面第一次打开一定回流和重绘,回流一定重绘,回流出现一般是位置改变…

BEV世界:通过统一的BEV潜在空间实现自动驾驶的多模态世界模型

BEVWorld: A Multimodal World Model for Autonomous Driving via Unified BEV Latent Space BEV世界:通过统一的BEV潜在空间实现自动驾驶的多模态世界模型 Abstract World models are receiving increasing attention in autonomous driving for their ability t…

【数据结构】PTA 求链表的倒数第m个元素 C语言

请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素。 函数接口定义: ElementType Find( List L, int m ); 其中List结构定义如下: typedef struct…

什么是机器人快换盘?

机器人快换盘,行业内也称作工具快换盘、换枪盘、快换工具盘、快速更换器、快换器、 快换夹具、治具快换等。是末端执行器快速更换装置(End-Of-Arm Tooling,简称EOAT),是工业自动化领域中用于机器人手臂上的一种重要设备…

短视频矩阵工具种类繁多,一招教你轻松做选择!

在当下竞争日益激烈的市场中,选择一个稳定且高效的矩阵营销系统对于企业和实体店来说至关重要,然而众多的工具往往让人难以抉择,今天笔者给大家四个关键筛选点,帮你快速筛选出最合适自己的矩阵营销工具: 1. 功能全面性…

探索AI工作流工具:提升编程效率的三大利器

问题:面对屎山代码,你是如何处理的? 今天我将为你推荐三个强大的AI工作流工具,它们将彻底改变你的编程体验,让你在工作中如鱼得水,事半功倍! 1. 代码解释器:解读复杂代码的利器 初…

[CISCN 2023 华北]ez_date

[CISCN 2023 华北]ez_date 点开之后是一串php代码&#xff1a; <?php error_reporting(0); highlight_file(__FILE__); class date{public $a;public $b;public $file;public function __wakeup(){if(is_array($this->a)||is_array($this->b)){die(no array);}if( (…

初级python代码编程学习----简单的图形化闹钟小程序

我们来创建一个简单的图形化闹钟程序通常需要使用图形用户界面&#xff08;GUI&#xff09;库。以下是使用Python的Tkinter库创建一个基本闹钟程序的步骤&#xff1a; 环境准备 确保已安装Python。安装Tkinter库&#xff08;Python 3.8及以上版本自带Tkinter&#xff0c;无需…

计算机毕业设计选题推荐-餐馆满意度分析-Python爬虫-K-means算法-nlp情感分析

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

亿玛科技:TiDB 6.1.5 升级到 7.5.1 经验分享

作者&#xff1a; foxchan 原文来源&#xff1a; https://tidb.net/blog/6e628afd 为什么要升级&#xff1f; 本次升级7.5的目的如下&#xff1a; 1、tidb有太多的分区表需要归档整理。7.5版本这个功能GA了。 2、之前集群tikv节点的region迁移过慢&#xff0c;影响tikv节…

http连接未释放导致生产故障

凌晨4点运维老大收到报警&#xff08;公司官网页面超时&#xff0c;上次故障因为运维修改nginx导致官网域名下某些接口不可用后&#xff0c;运维在2台nginx服务器上放了检测程序&#xff0c;检测官网页面&#xff09;&#xff0c;运维自己先看了看服务器相关配置&#xff0c;后…