【机器学习】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 的首页,持续学…

使用Vue.js框架的指令和事件绑定实现一个购物车的页面布局

使用了v-model指令来实现全选/全不选的功能,当全选框被点击时,isAllChecked的值会被改变。使用了v-if指令来判断购物车中是否有商品,如果有商品则渲染商品列表,否则显示购物车为空的提示。使用了v-for指令来遍历datalist数组&…

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

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

Keepalived入门指南:实现故障转移和负载均衡

文章目录 一、简介1. Keepalived概述2. 高可用性和负载均衡的重要性 二、故障转移1. 什么是故障转移2. Keepalived的故障转移原理a) VRRP协议b) 虚拟路由器ID和优先级 3. 配置Keepalived实现故障转移a) 主备服务器的设置b) 监控网络接口c) 虚拟IP的配置d) 备份服务器接管流程 三…

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

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

el-form自定义校验规则

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。 下面是一个示例,演示如何在 el-form 中使用自定义校验规则…

若依前端npm run dev启动时报错

本文主要解决问题:若依前端npm run dev启动时报错,解决办法。 目录 1、第1种解决方案(亲测有效) 2、第2种解决方案(亲测有效) Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node…

解决 adb install 错误INSTALL_FAILED_UPDATE_INCOMPATIBLE

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

centos 安装.net 6 sdk

按照以下步骤在 CentOS 上安装 .NET 6 SDK: 更新系统: sudo yum update安装依赖项: sudo yum install -y curl libunwind libicu下载并添加 Microsoft 的软件包存储库密钥: sudo rpm -Uvh https://packages.microsoft.com/config/…

单片机第一季:零基础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 第二…

在K8s上处理nginx

基本说明 创建一个名为ssl的TLS类型的Secret对象,用于存储证书和密钥信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events块,设置worker连接数为1024。 events {worker_connections 1024; }配置Nginx的http块&a…

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 原子变量结…

Shell 函数

Shell 函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 shell中函数的定义格式如下: [ function ] funname [()] { action; [return int;] } 说明: 1、可以带function fun() 定义,也可以直接fun…