sklearn之datasets模块常用功能详细介绍

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn之datasets模块常用功能详细介绍相关的知识,希望对你有一定的参考价值。

序言

datasets模块对我们初入机器学习的小萌新来说,真的是帮助很大,但是去官网阅读又都是英文,阅读起来有点困难。基于这点,特意写了这篇文章来简单介绍datasets的2个主要模块。
每个模块会有一个简单的示例,告诉我们怎样获得数据,这篇文章主要将获得数据,所以不会关注模型的训练测试相关的知识,需要了解相关知识的看我的其他博文。

datasets简单概述

官方文档
sklearn.datasets包含三个主要的获得数据的模块

  • loader模块:其中包含了一些很小的,很标准的,不需要进行数据处理的,可以直接使用模型训练的数据集,
    比如波士顿房间数据集,这个模块中的数据集在安装sklearn时已经自动下载下来了。通用格式为load_*()
  • fetcher模块:这个模块用来下载在现实生活中的大型的数据集,通用格式为fetch_*()
  • maker模块:这个模块用来自己生成数据,通用格式为maker_*()
    三个模块返回的数据都是字典形式一定有data,target这两个键
    字典中data存储数据是,一个(n_samples*n_features)的numpy二维数组,
    target存储数据的标签,feature_names存储特征的名字, targe存储标签的名字
    需要注意的是,fetcher,maker产生的数据返回值中不一定有feature_names这个键

loader模块

数据集总览

数据集获得方法适用模型
波士顿房价数据集load_boston()回归模型
鸢尾花数据集load_irir()分类模型
糖尿病数据集load_diabetes回归模型
手写数字识别数据集load_digits()分类模型
Linnerud数据集load_linnerud多输出回归模型
红酒数据集load_wine()分类模型
乳腺癌数据集load_breast_cancer()分类模型

示例(boston房价数据集)

# loader模块展示波士顿房价数据集
# boston房价数据集用于回归模型的学习
boston = datasets.load_boston()
X, y = boston['data'], boston['target']
print(X.shape, y.shape) # (506, 13) (506,)
# 将标签特征数据转化为datafram,更加直观的展现数据
pd.DataFrame(X).head()

在这里插入图片描述

maker模块

分类型数据的生成

make_blobs()

# n_samples为一个整数类型的话,所有的数据将按照中心的个数平均分配。centers默认为3
# n_features设置特征的数量,默认为2
X, y = datasets.make_blobs(n_samples=1000, n_features=2, centers=6, random_state=2)
plt.scatter(X[:, 0], X[:, 1], c=y)

在这里插入图片描述

# n_samples为列表类型时。每一个元素对应每一个分类中的样本数。
# 当n_samples为列表时,centers建议设置为None。
X, y = datasets.make_blobs(n_samples=[100, 200, 40, 70, 150, 200], 
                           n_features=2, centers=None, random_state=2)
plt.scatter(X[:, 0], X[:, 1], c=y)

在这里插入图片描述

make_circles()

# n_samples 总的样本点数
# factor 小圆与大圆的比例
# noise 噪声率
X, y = datasets.make_circles(n_samples=300, random_state=0, factor=0.9, noise=0.04)
plt.scatter(X[:, 0], X[:, 1], c=y)

在这里插入图片描述

make_moons()

# n_samples 总的样本点数
# noise 噪声率
X, y = datasets.make_moons(n_samples=400, random_state=0, noise=0.05)
plt.scatter(X[:, 0], X[:, 1], c=y)

在这里插入图片描述

回归型数据的生成

make_regression()

X, y = datasets.make_regression(n_samples=300, n_features=2, noise=0.05, n_targets=1, random_state=9)
plt.scatter(X[:, 0], X[:, 1], c=y)

在这里插入图片描述

以上是关于sklearn之datasets模块常用功能详细介绍的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 sklearn 获取无用功能列表?

测试用例设计之从0到1

1.1.3:sklearn库中的标准数据集及基本功能

如何使用 sklearn.datasets.load_files 加载数据百分比

Python 数据分析打怪升级之路 day01sklearn进行数据预处理数据: 加载划分转换降维

Python 数据分析打怪升级之路 day01sklearn进行数据预处理数据: 加载划分转换降维