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

news/2024/10/25 14:28:25/

「作者主页」:士别三日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.ppmy.cn/news/531484.html

相关文章

国产数据库---Oracle迁移至GBase8a---第一章---数据类型

从今天开始,分享Oracle迁移至GBase8a的一些随笔,希望对大家有帮助。 经过一段时间的分析和整理了基于ORACLE数据库的应用系统向GBase 8a数据库迁移的过程中需要注意的问题和对应的方法。 涉及的内容包括数据库迁移和应用程序迁移两部分。 数据库迁移是…

由oracle数据库转为mysql数据库

项目场景: 由oracle数据库转为mysql数据库 解决方案: 1.在oracle数据库中将所有的Date字段都修改成TIMESTAMP(6),否则会转换失败。(我们是手动修改的) 2.利用navicat工具进行数据转换。 ①工具-数据传输 ②数据传输…

oracle编码转换:AL32UTF8-ZHS16GBK

首先查询数据库编码: select userenv(language) from dual; 得到: 【更改编码】 --修改Oracle数据库字符集为utf-8:SQL>conn / as sysdba;SQL>shutdown immediate;SQL>startup mount;SQL>alter system enable restricted session;SQL>alt…

oracle二进制转换字母,如何将oracle二进制数据转换为word文本

现在很多项目和技术支持在线编辑word文档。有控件的和javascript操作的。这里简单的推荐一个在线编辑word文档的控件。 地址:http://www.dianju.cn/p/weboffice/ 在这个控件中,word文档的编辑很好用。但是这里面用到两个方法。word文档和数据库保存的二进…

oracle转mysql数据库

一、在oracle上创建函数: CREATE OR REPLACE procedure convert_date_to_timestamp isv_query_base_sql varchar2(100) : SELECT table_name, column_name, data_type FROM all_tab_cols WHERE table_name ;v_query_table_sql varchar2(150);v_alter_sql varchar2…

石油化工领域生产作业流程合规检测 yolov8

石油化工领域生产作业流程合规检测通过引入yolov8视觉数据智能分析技术,石油化工领域生产作业流程合规检测对生产作业流程进行实时监测和合规性检测,通过与预设标准进行比对,系统能够检测出不合规的操作或异常情况,并及时发出警报…

基础甲骨文2

Promise构造函数: 多层回调函数的相互嵌套,就形成了回调地狱。牵一发而动全身,难以维护,可读性差。 为了解决回调地狱,ES6引入了Promise构造函数概念。 ① Promise 是一个构造函数 我们可以创建 Promise 的实例 co…

惠普服务器故障代码_hp常见错误代码

惠普系列激光打印机,大多数通过面板的液晶显示,可以迅速找出故障原因,下面列表为常见的错误代码及其解释。 1.常见错误代码 显示信息 信息解释 解除方法 13.1 paper jam或 13.2 paper jam 打印纸在送纸部分被延迟或停止 1) 确定纸盒被正确安装; 2) 确定送纸部分没有阻碍物;…