1. 鸢尾花数据集

在这里插入图片描述

2. sklearn数据集返回值介绍

  • load和fetch返回的数据类型datasets.base.Bunch(字典格式)
    • data:特征数据数组,是 [n_samples * n_features] 的二维
    • numpy.ndarray 数组
    • target:标签数组,是 n_samples 的一维 numpy.ndarray 数
    • DESCR:数据描述
    • feature_names:特征名,新闻数据,手写数字、回归数据集没有
    • -target_names:标签名

代码:

from sklearn.datasets import load_iris

# 获取鸢尾花数据集
iris = load_iris()
print(type(iris))
# print('鸢尾花数据集的返回值:\n', iris)
# print('鸢尾花数据集的特征值:\n', iris['data'])
print(iris['data'].shape)
print('鸢尾花数据集的目标值/标签值:\n', iris.target)
print('鸢尾花数据集特征的名字:\n', iris.feature_names)
print('鸢尾花数据集目标值的名字:\n', iris.target_names)
print('鸢尾花数据集的描述:\n', iris.DESCR)

部分结果:
在这里插入图片描述

3.划分数据集

在这里插入图片描述

3.1 数据集划分的API
  • sklearn.model_selection.train_test_split(arrays, *options)
    • x 数据集的特征值
    • y 数据集的标签值
    • test_size 测试集的大小,一般为float
    • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
    • return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取)
      注意:当要做对比实验的时候,要将random_state设置为一个固定的值,这样才能到达控制变量的效果

完整代码

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def datasets_demo():
    # 1.获取鸢尾花数据集
    iris = load_iris()
    # print(type(iris))
    # print('鸢尾花数据集的返回值:\n', iris)
    # print('鸢尾花数据集的特征值:\n', iris['data'])
    # print(iris['data'].shape)
    # print('鸢尾花数据集的目标值/标签值:\n', iris.target)
    # print('鸢尾花数据集特征的名字:\n', iris.feature_names)
    # print('鸢尾花数据集目标值的名字:\n', iris.target_names)
    # print('鸢尾花数据集的描述:\n', iris.DESCR)

    # 2. 对鸢尾花数据集进行划分
    # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test
    # test_size 默认为0.25
    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:\n', x_train.shape)
    # 设置随机数种子
    x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, test_size=0.2, random_state=6)
    x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, test_size=0.2, random_state=6)
    print('随机数种子不一致:\n', x_train == x_train1)
    print('随机数种子一致:\n', x_train2 == x_train1)
    return None

if __name__ == '__main__':
    datasets_demo()

参考:b站sklearn菜菜的课程。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐