《数据科学与分析:Python语言实现》 —3.10 Scikit-learn是我们的朋友

举报
华章计算机 发表于 2020/02/15 21:47:23 2020/02/15
【摘要】 本节书摘来自华章计算机《数据科学与分析:Python语言实现》 一书中第3章,第3.10节,作者是[英]赫苏斯·罗格尔–萨拉查(Jesús Rogel-Salazar),白 皓 刘江一 上官明乔 刁 娟 译。

3.10 Scikit-learn是我们的朋友

正如我们所看到的,机器学习的广泛目标是开发和应用从数据中学习的算法,这个目标可以通过各种方式实现。最近随着计算机技术的进步,以及我们掌握的有用的软件工具具有越来越高的可用性,许多人都可以实现这样的目标。

在众多编程语言和工具中,我们选择使用Python。在可以使用的库和包中,我们主要关注Scikit-learn,因为它包含广泛的机器学习算法。Scikit-learn构建于第2章中已经看过的库,例如NumPy、SciPy和Matplotlib。Scikit-learn能够与Pandas数据帧和Python中的其他对象进行交互。值得一提的是,Scikit-learn的重点是数据科学工作流的建模部分,而不是数据的操纵。

Scikit-learn提供了一些流行的模型和技术,例如:

  • 回归

  • 聚类

  • 特征选择

  • 降维

  • 分类

  • 交叉验证

……

在接下来的章节中,我们将有机会探索这些模型的一些实现。Scikit-learn还附带了一些测试数据集,可用于研究各种模型的用法。

鉴于我们将广泛使用该库,很值得在这里谈一下Scikit-learn中的模型所期望的典型数据表示。如2.4节所述,矩阵和向量是一种受欢迎的数据表示,特别是对于数学计算和操作。Scikit-learn继承了这一点,并且它期望数据以具有M个数据实例(行)和N个不同特征(列)的二维数字矩阵的形式表示。

数据科学和分析中的典型示例是Iris数据集,可以想象它包含在Scikit-learn中。该数据集最初由Ronald Fisher使用,并且总共有M=150个样品,其中包含3种鸢尾花,分别 是Setosa(50)、Virginica(50)和Versicolor(50)。对于每个样本,我们提供N=4个特征量度(以厘米为单位):萼片长度、萼片宽度、花瓣长度和花瓣宽度。

我们可以通过直接从Scikit-learn导入来加载此数据集,如下所示:

 image.png

通过上面的两行代码,我们导入了数据集并将其加载到名为iris的对象中。我们现在可以检查包含特征数据的矩阵。例如,矩阵的大小必须是M=150和N=4,我们可以使用shape方法验证这一点,如下所示:

 image.png

其中,iris数据集由150×4矩阵表示。

让我们先看看这6个数据实例:

 image.png

数据集还包含每个数据实例所属的类,即setosa、versicolor或virginica。可以通过查看iris对象的target_names来获取信息:

 image.png

请记住,Scikit-learn需要数字格式的数据,因此使用字符串来表示类是不合适的。相反,3个类别中的每一个都使用与上面列表中名称的位置相对应的数字进行编码:

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200