【机器学习】sklearn数据集的使用,数据集的获取和划分 您所在的位置:网站首页 numpy划分数据集 【机器学习】sklearn数据集的使用,数据集的获取和划分

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

2023-10-10 21:02| 来源: 网络整理| 查看: 265

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

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

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

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

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

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

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

二、安装sklearn

环境要求:

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

先安装 numpy、scipy,再安装 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.target x_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)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有