鸢尾花种类预测--数据集介绍

1.6 案例:鸢尾花种类预测--数据集介绍

学习目标

  • 目标
    • 知道sklearn中获取数据集的方法
    • 知道sklearn中对数据集的划分方法

本实验介绍了使用Python进行机器学习的一些基本概念。 在本案例中,将使用K-Nearest Neighbor(KNN)算法对鸢尾花的种类进行分类,并测量花的特征。

本案例目的:

  1. 遵循并理解完整的机器学习过程
  2. 对机器学习原理和相关术语有基本的了解。
  3. 了解评估机器学习模型的基本过程。

1 案例:鸢尾花种类预测

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。关于数据集的具体介绍:

在这里插入图片描述

2 scikit-learn中数据集介绍

2.1 scikit-learn数据集API介绍

  • sklearn.datasets
    • 加载获取流行数据集
    • datasets.load_*()
      • 获取小规模数据集,数据包含在datasets里
    • datasets.fetch_*(data_home=None)
      • 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
2.1.1 sklearn小数据集
  • sklearn.datasets.load_iris()

    加载并返回鸢尾花数据集

在这里插入图片描述

2.1.2 sklearn大数据集
  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
    • subset:'train'或者'test','all',可选,选择要加载的数据集。
    • 训练集的“训练”,测试集的“测试”,两者的“全部”

2.2 sklearn数据集返回值介绍

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

2.3 查看数据分布

通过创建一些图,以查看不同类别是如何通过特征来区分的。 在理想情况下,标签类将由一个或多个特征对完美分隔。 在现实世界中,这种理想情况很少会发生。

  • seaborn介绍

    • Seaborn 是基于 Matplotlib 核心库进行了更高级的 API 封装,可以让你轻松地画出更漂亮的图形。而 Seaborn 的漂亮主要体现在配色更加舒服、以及图形元素的样式更加细腻。
    • 安装 pip3 install seaborn
    • seaborn.lmplot() 是一个非常有用的方法,它会在绘制二维散点图时,自动完成回归拟合

      • sns.lmplot() 里的 x, y 分别代表横纵坐标的列名,
      • data= 是关联到数据集,
      • hue=*代表按照 species即花的类别分类显示,
      • fit_reg=是否进行线性拟合。

在这里插入图片描述

  • 参考链接: api链接
  • 2.4 数据集的划分

    机器学习一般的数据集会划分为两个部分:

    • 训练数据:用于训练,构建模型
    • 测试数据:在模型检验时使用,用于评估模型是否有效

    划分比例:

    • 训练集:70% 80% 75%
    • 测试集:30% 20% 25%

    数据集划分api

    • sklearn.model_selection.train_test_split(arrays, *options)
      • 参数:
        • x 数据集的特征值
        • y 数据集的标签值
        • test_size 测试集的大小,一般为float
        • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
      • return
        • x_train, x_test, y_train, y_test

    3 总结

    • 获取数据集【知道】
      • 小数据:
        • sklearn.datasets.load_*
      • 大数据集:
        • sklearn.datasets.fetch_*
    • 数据集返回值介绍【知道】
      • 返回值类型是bunch--是一个字典类型
      • 返回值的属性:
        • data:特征数据数组
        • target:标签(目标)数组
        • DESCR:数据描述
        • feature_names:特征名,
        • target_names:标签(目标值)名
    • 数据集的划分【掌握】
      • sklearn.model_selection.train_test_split(arrays, *options)
      • 参数:
        • x -- 特征值
        • y -- 目标值
        • test_size -- 测试集大小
        • ramdom_state -- 随机数种子
      • 返回值:
        • x_train, x_test, y_train, y_test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fishel-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值