在动手操作一个算法的时候,可能需要自己生成数据集。Python sklearn给我们提供了一些有用的数据生成器和数据加载工具,所以就不需要我们写代码来生成数据啦。下面介绍几个大家都比较常用的数据集:

数据加载工具 

 这个工具下面一共有24个数据集,只要直接导入就可以使用,就像导入一个csv文件一样。

1.datasets.load_iris()这个数据集应该是最常见的了,经常看见网上博主们需要做分类的数据集时候,拿的就是这个鸢尾花数据集。大家点击数据集的链接就可以看到鸢尾花数据集的介绍:

Classes

3

Samples per class

50

Samples total

150

Dimensionality

4

Features

real, positive

下面是获取数据集的方法:

from sklearn import datasets

iris = datasets.load_iris()
### 打印数据集,可以看到数据集的详细信息
print(iris)
### 获取数据
X = iris.data
### 获取标签
y = iris.target
### 获取标签名称
TarName = iris.target_names
### 获取特征名称
FeaName = iris.feature_names

2. datasets.load_boston()这个数据集应该是回归问题里面,网上博主们最常用的数据集,也就是波士顿房价数据集。大家点击数据集的链接就可以看到它的介绍了:

Samples total

506

Dimensionality

13

Features

real, positive

Targets

real 5. - 50.

下面是数据集的获取方法:

boston = datasets.load_boston()
### 打印数据集,可以看到数据集的详细信息
print(boston)
### 获取数据集
X = boston.data
### 获取目标值
y = boston.target
### 获取特征名称
FeaName = boston.feature_names

数据生成器

datasets下面一共有20个数据集生成器,相比与上面的数据集,这个里面的数据集就很简单,主要是用来对算法的结果进行可视化。它是根据参数的值来生成数据,并不像上面的数据集一样导入就可以使用。

1.datasets.make_moons() 该函数会生成两个交叉的半圆型数据集,可以用做聚类和分类算法的数据集。具体的参数大家可以点击数据集的链接,参考官方文档。生成的图形如下图所示:       

### 生成200个数据点的数据
X,y = datasets.make_moons(200)
### 可视化数据
plt.scatter(X[:,0],X[:,1], s=40, c=y, cmap=plt.cm.Spectral)

 

                                              

python 组装数据帧 python自带数据集_python 组装数据帧

                             

我们可以看到上面的数据分布实在是太工整了,通常我们会加上noise参数,让数据的分布没有那么工整。

### 生成数据
X,y = datasets.make_moons(200, noise=0.20)
### 可视化数据
plt.scatter(X[:,0],X[:,1], s=40, c=y, cmap=plt.cm.Spectral)

 

                                             

python 组装数据帧 python自带数据集_数据集_02

2. datasets.make_circles()该函数会生成一个大圆,然后里面包含一个小圆。具体的参数大家可以点击数据集的链接,参考官方文档。生成的图形如下图所示:       

X,y = datasets.make_circles(1000)
plt.scatter(X[:,0],X[:,1], s=40, c=y,cmap=plt.cm.Spectral)

                                           

python 组装数据帧 python自带数据集_ci_03

和上面的数据集一样,为了让数据的分布没有那么工整,通常我们会加上noise参数。同时,会加上factor参数,用于控制大圆和小圆之间的间隔。

X,y = datasets.make_circles(1000, noise=0.03, factor=0.5)
plt.scatter(X[:,0],X[:,1], s=40, c=y,cmap=plt.cm.Spectral)

                                            

python 组装数据帧 python自带数据集_python 组装数据帧_04

API链接:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets