【机器学习】sklearn数据集的使用,数据集的获取和划分

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

sklearn数据集

  • 二、安装sklearn
  • 二、获取数据集
  • 三、数据集划分

机器学习是人工智能的一个实现途径,可以从「数据」中自动分析获得「模型」,并利用模型对未知数据进行「预测」

简单来说就是从历史数据中总结规律,用来解决新出现的问题。

从数据中总结规律,需要提供一个「数据集」,数据集由「特征值」「目标值」两部分组成。

机器学习有很多好用的工具,这里我们使用sekearn。

sklearn是基于Python的机器学习工具包,自带大量数据集,可供我们练习各种机器学习算法。

二、安装sklearn

环境要求:

  • Python(>=2.7 or >=3.3)
  • NumPy (>= 1.8.2)
  • SciPy (>= 0.13.3)

先安装 numpyscipy,再安装 scikit-learn

PyCharm左上角【file】-【Settings】-【Project:pythonProject】-【Python Interpreter】

在这里插入图片描述

二、获取数据集

sklearn数据集有有三种「获取数据」的方式:

  • sklearn.datasets.load_*():小规模数据集(本地加载)
  • sklearn.datasets.fetch_*():大规模数据集(在线下载)
  • sklearn.datasets.make_*():本地生成数据集(本地构造)

sklearn数据集的「返回值」是字典格式:

  • data:特征值数据数组
  • target:目标值数据数组(标签)
  • target_names:标签名(目标值和标签的对应关系)
  • DESCR:数据描述
  • feature_names:特征名

接下来,我们获取一个自带的本地数据集:

from sklearn import datasets# 获取数据集
iris = datasets.load_iris()
# 打印数据集
print(iris)

输出:

在这里插入图片描述

从输出结果来看,它返回的数据集是一个字典,里面包含了特征值(data)、目标值(target)等信息。

我们可以调用返回值「属性」,单独查看数据集的某个信息:

from sklearn import datasets# 获取数据集
iris = datasets.load_iris()# 查看数据值
print(iris.data)
# 查看目标值(标签)
print(iris.target)
# 查看标签名
print(iris.target_names)
# 查看数据描述
print(iris.DESCR)
# 查看特征名
print(iris.feature_names)

三、数据集划分

数据集通常会划分为两个部分:

  • 「训练数据」:用于训练,生成模型。
  • 「测试数据」:用于检验,判断模型是否有效。

sklearn.model_selection.train_test_split() 用来划分数据集

参数:

  • x:(必选)数组类型,数据集的特征值
  • y:(必选)数组类型,数据集的目标值
  • test_size:(可选,默认0.25)浮点型,测试集的大小
  • random_state:(可选)整型,随机数种子,不同的随机数对应不同的采样结果。

返回值:

  • 训练集特征值、测试集特征值、训练集目标值、测试集目标值

接下来,我们对刚才获取的本地数据集进行划分,测试集大小不给值,就是默认的0.25,意思是25%当做测试数据、剩下的75%当做训练数据。

from sklearn import datasets
from sklearn import model_selection# 获取数据集
iris = datasets.load_iris()# 数据集的特征值
data_arr = iris.data
# 数据集的目标值(标签)
target_arr = iris.targetx_data, y_data, x_target, y_target = model_selection.train_test_split(data_arr, target_arr)
print('训练集特征值', x_data)
print('测试集特征值', y_data)
print('训练集目标值', x_target)
print('测试集目标值', y_target)

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

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

相关文章

mac录屏工具,录屏没有声音的解决办法

mac录屏工具,录屏没有声音的解决办法 在使用macbook录制屏幕时,发现自带的录屏工具QuickTime Player没有声音,于是尝试了多款录屏工具,对其做一些经验总结(省流:APP Store直接可以免费下载使用Omi录屏专家…

第三课-界面介绍SD-Stable Diffusion 教程

前言 我们已经安装好了SD,这篇文章不介绍难以理解的原理,说使用。以后再介绍原理。 我的想法是,先学会画,然后明白原理,再去提高技术。 我失败过,知道三天打鱼两天晒网的痛苦,和很多人一样试了…

TiDB数据库从入门到精通系列之六:使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka

TiDB数据库从入门到精通系列之六:使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka 一、技术流程二、搭建环境三、创建Kafka changefeed四、写入数据以产生变更日志五、配置 Flink 消费 Kafka 数据 一、技术流程 快速搭建 TiCDC 集群、Kafka 集群和 Flink 集群创建 c…

【网络编程系列】网络编程实战

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

jvm内存溢出排查(使用idea自带的内存泄漏分析工具)

文章目录 1.确保生成内存溢出文件2.使用idea自带的内存泄漏分析工具3.具体实验一下 1.确保生成内存溢出文件 想分析堆内存溢出,一定在运行jar包时就写上参数-XX:HeapDumpOnOutOfMemoryError,可以看我之前关于如何运行jar包的文章。若你没有写。可以写上…

Python学习笔记_基础篇(九)_面向对象编程

本篇内容: 1、反射2、面向对象编程3、面向对象三大特性4、类成员5、类成员修饰符6、类的特殊成员7、单例模式 反射 python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象内部执行:检…

解决 adb install 错误INSTALL_FAILED_UPDATE_INCOMPATIBLE

最近给游戏出包,平台要求 v1 签名吧,AS 打包后,adb 执行安装到手机,我用的设备是google pixel6 , android 系统 13, 提示如下: adb install -r v5_android_202308161046.apk Performing Streamed Install a…

单片机第一季:零基础13——AD和DA转换

1,AD转换基本概念 51 单片机系统内部运算时用的全部是数字量,即0 和1,因此对单片机系统而言,无法直接操作模拟量,必须将模拟量转换成数字量。所谓数字量,就是用一系列0 和1 组成的二进制代码表示某个信号大…

Linux -- 进阶 Autofs自动挂载服务 实验详解

服务端创建共享目录, 客户端实现自动挂载 第一步 : 客户端,服务端 均关闭安全软件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootnode1 ~]# setenforce 0 [rootnode1 ~]# systemctl stop firewalld 第二…

MyBaits(单独使用,与整合无关)小白版

文章目录 概述比较配置写xml加载上面配置并执行加载配置的方法方式一 执行方法方式一方式二(MyBatis映射器) 写配置文件的映射文件设置对象的别名(简写)获取自动生成的主键 查询结果和java的映射规则基本类型映射:简单对象映射:嵌…

加盐加密算法

MD5加密加盐加密项目密码升级 MD5加密 MD5一系列公式进行复杂数学运算;特点:(用途校验和、计算hash值方式、加密) 1:定长;无论原始数据多长;算出的结果都是4或者8字节的版本。 2:冲…

Java多线程实战

Java多线程实战 java多线程(超详细) java自定义线程池总结 Java创建线程方式 方法1,继承Thread类 方法2,实现Runable接口 方法2-2,匿名内部类形式lambda表达式 方法3,实现Callable接口,允许…

【深入理解Linux内核锁】三、原子操作

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强企业! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录 1、原子操作思想2、整型变量原子操作2.1 API接口2.2 API实现2.2.1 原子变量结…

log4j:WARN No appenders could be found for logger问题

本文将idea场景下的使用。 IDEA中,将配置文件命名为log4j.properties(该命名才会被自动加载), 并放到某个目录下(通常放到resources目录),并在resources上右键,找到Mark Directory a…

微信程序 自定义遮罩层遮不住底部tabbar解决

一、先上效果 二 方法 1、自定义底部tabbar 实现: https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html 官网去抄 简单写下:在代码根目录下添加入口文件 除了js 文件的list 需要调整 其他原封不动 代码&#xf…

【路由协议】使用按需路由协议和数据包注入的即时网络模拟传递率(PDR)、总消耗能量和节点消耗能量以及延迟研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

斯坦福「小镇」开源AI智能体;小米应用商店将要求AI应用符合资质标准

🦉 AI新闻 🚀 斯坦福「小镇」开源AI智能体 摘要:斯坦福研究人员开源了一个类似《西部世界》的数字化「小镇」,里面有25个AI智能体可以生活、工作、社交。这项研究被视为AGI的重要开端,可能会改变游戏、企业应用领域。网友期待这项技术改善游戏NPC的交互…

PyMuPDF`库实现PDF旋转功能

本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。主要用于csdn网站中导出的博客pdf是横向的,看起来不是很方便,才想到用python编制一个将pdf从横向转为纵向的功能。 功能 该PDF转换工具具有以下功能&#xff1a…

信息安全:防火墙技术原理与应用.

信息安全:防火墙技术原理与应用. 防火墙是网络安全区域边界保护的重要技术。为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离,其方法是根据网络的安全信任程度和需要保护的对象,人为地划分若干安全…

C#工程建立后修改工程文件名与命名空间

使用之前的项目做二次开发,项目快结束的时候,需要把主项目的名称修改成我们想要的。 之前从来没有这么干过,记录一下。 步骤如下: 1:打开vs2010项目解决方案,重命名,如下图所示: …