首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Scikit-learn应用指南:数据的表示与可视化

课程简介

机器学习算法是一种在数据上进行分析,进而得出规律,并利用规律来对未知数据进行预测的算法。但是现实生活中的大多数数据并不能直接用于训练机器学习算法,我们需要将数据重新表示成机器学习系统能够理解的形式。本节将主要介绍如何将数据表示成可用于算法学习的形式,同时,也将介绍如何可视化数据集,以便我们了解数据集的情况。

学习目标

了解如何表示数据集

了解如何可视化数据集

了解 scikit-learn 中的数据集

了解鸢尾花数据集

了解其它数据集的获取

了解数字数据集

1. scikit-learn 中的数据

除了极少数特例,scikit-learn 中的数据都被假设为一个形状如 [n_samples, n_features] 的二维数组。许多算法也可传入相同形状的 scipy.sparse 矩阵。

n_samples: 样本的数量: 每个样本都是一个要处理(例如:分类)的对象。样本可以是文件,图片,声音,视频,天文物体,数据库或 CSV 文件中的 一行,也可以是其它任何你能用一组确定的数量特征集合来描述的对象。

n_features: 特征或特质的数量,特征或特质可以用来以定量的方式描述每个对象。特征通常是实值的,但是在某些情况下也可能是布尔值或离散值。

特征的数量必须预先确定。然而,对于给定的样本其维度可能非常高(例如:数百万个特征),且其中大部分是 "0" ,这时 scipy.sparse 稀疏矩阵就变得十分有用,因为它比 NumPy 数组存储效率更高。

正如我们上一节所回顾的,我们将样本(数据点或实例)表示为数组中的行,并将对应的特征(也就是 "维度" )表示为列。

一个简单的例子:鸢尾花数据集

我们先了解一下 scikit-learn 中存储的鸢尾花数据集。该数据集由三种不同鸢尾花种类的测量结果组成,三种不同的鸢尾花如下图所示:

山鸢尾花(Iris Setosa)

变色鸢尾花(Iris Versicolor)

维吉尼亚鸢尾花(Iris Virginica)

一个小提问:

假设我们对于新观测数据的分类更感兴趣; 想要预测未知的花种是山鸢尾花、变色鸢尾花还是维吉尼亚鸢尾花。在上部分讨论的内容的基础上,我们要如何构建这样的一个数据集呢?

记住: 我们需要一个 [n_samples x n_features] 维度的二维数组。

n_samples 表示什么呢?

n_features 表示什么呢?

请记住,每个样本都必须有一个确定值的特征数,并且特征数 j 对每个样本来说必须是相同的数值。

使用 Scikit-learn 加载鸢尾花数据集

为了接下来用机器学习算法进行实验,建议您将 http://archive.ics.uci.edu/ml/index.php 添加为书签,这个库容纳了许多常用的数据集,这些数据集可用于机器学习算法的基准测试 -- 对机器学习实践者和研究人员来说是非常欢迎的资源。为了方便使用,这些数据集中的一部分已经包含在 scikit-learn 中,这样我们就可以跳过下载,阅读,解析和清理文本/CSV文件这几个单调乏味的步骤。您可以在 scikit-learn 官网中找到可用的数据集列表:http://scikit-learn.org/stable/datasets/#toy-datasets 。

例如:scikit-learn 在鸢尾花种类上有一组非常简单的数据集。数据集包含以下内容:

鸢尾花数据集中的特征:

萼片长度(cm)

萼片宽度(cm)

花瓣长度(cm)

花瓣宽度(cm)

需要预测的目标分类:

山鸢尾花

变色鸢尾花

维吉尼亚鸢尾花

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180323B07YV800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com