- 转载于: 知乎
1. 调用方式
例如:
from sklearn import datasets
boston = datasets.load_boston() # 导入波士顿房价数据
boston
dataname.data
dataname.target
dataname.feature_names
2. Toy Datasets
2.1. 波士顿房价-回归
from sklearn import datasets
boston = datasets.load_boston() # 导入波士顿房价数据
boston
2.2. 鸢尾花-分类
from sklearn import datasets
iris = datasets.load_iris()
iris
2.3. 糖尿病-回归
from sklearn import datasets # 导入库
diabetes = datasets.load_diabetes() # 导入糖尿病数据
2.4. 手写数字-多分类
共有1797个样本,每个样本有64的元素,对应到一个8x8像素点组成的矩阵,每一个值是其灰度值, target值是0-9,适用于分类任务。
from sklearn import datasets # 导入库
digits = datasets.load_digits() # 导入手写数字数据
2.5. 体能训练-回归
兰纳胡德提供的体能训练数据,data和target都是20x3,data的特征包括Chins, Situps and Jumps.(引体向上 仰卧起坐 跳跃),target的三维分别是Weight, Waist and Pulse.(体重 腰围 脉搏),适用于回归问题,用的少。
2.6. 红酒
共178个样本,代表了红酒的三个档次(分别有59,71,48个样本),以及与之对应的13维的属性数据,适用于分类任务。
from sklearn import datasets # 导入库
wine = datasets.load_wine() # 导入红酒数据
2.7. 威斯康辛州乳腺癌
包含了威斯康辛州记录的569个病人的乳腺癌恶性/良性(1/0)类别型数据,以及与之对应的30个维度的生理指标数据,适用于二分类问题。
from sklearn import datasets # 导入库
cancer = datasets.load_breast_cancer() # 导入乳腺癌数据
3. True Datasets
3.1. 生成簇,用于聚类
from sklearn import datasets
centers = [[2,2],[8,2],[2,8],[8,8]]
x, y = datasets.make_blobs(n_samples=1000, n_features=2, centers=4,cluster_std=1)
其中的参数:
-
n_samples:样本数
-
n_features:特征数(维度)
-
centers:中心数,也可以是中心的坐标
-
cluster_std:簇的方差
利用下面的代码看一下生成的结果:
import seaborn as sns
import pandas as pd
data = []
for x,y in zip(x,y):
data.append((x[0],x[1],y))
data = pd.DataFrame(data,columns=['x1','x2','y'])
sns.scatterplot(x=data['x1'],y=data['x2'],hue=data['y'])
结果如下:
3.2. 生成同心圆
x, y = datasets.make_circles(n_samples=5000, noise=0.04, factor=0.7)
其中的参数
-
noise:噪声
-
factor:内圆与外圆的距离 为1的时候最小
再查看结果:
3.3. 生成月牙
x, y = datasets.make_moons(n_samples=3000, noise=0.05)
3.4. 分类
x, y =datasets.make_classification(n_classes=4, n_samples=1000, n_features=2, n_informative=2 , n_redundant=0, n_clusters_per_class=1,n_repeated=0, random_state=22)
其中的参数:
-
n_classes:类的数目
-
n_informative:有效的特征数
-
n_redundant:冗余特征数 有效特征数的线性组合
-
n_repeated:有效特征数和冗余特征数的有效组合
-
n_informative + n_redundant + n_repeated < = n_features
-
n_clusters_per_class:每一类的簇数
-
n_classes * n_clusters_per_class <= 2**n_informative
查看结果
4. 样例图片
scikit 在通过图片的作者共同授权下嵌入了几个样本 JPEG 图片。这些图像为了方便用户对 test algorithms (测试算法)和 pipeline on 2D data (二维数据管道)进行测试,用datasets.load_sample_image()加载。
from sklearn import datasets
import matplotlib.pyplot as plt
img = datasets.load_sample_image('flower.jpg')
print(img.shape) # (427, 640, 3)
print(img.dtype) # uint8
plt.imshow(img)
plt.show()