Scikit-Learn (1.Sklearn提供的常用数据集 - 自带的小数据集)

一、自带的小数据集(packageddataset):sklearn.datasets.load_

在这里插入图片描述

推荐读者阅读网站:

  1. w3cschool) https://www.w3cschool.cn/doc_scikit_learn/scikit_learn-modules-generated-sklearn-datasets-load_digits.html
  2. scikit-learn (sklearn) 官方文档中文版)https://sklearn.apachecn.org/docs/0.21.3/47.html
  3. Scikit-learn英文官网https://scikit-learn.org/stable/

1)鸢尾花数据集:load_iris():用于分类任务的数据集

  • 数据介绍:
    • 一般用于做分类测试
    • 有150个数据集,共分为3类,每类50个样本。每个样本有4个特征。
    • 每条记录都有 4 项特征:包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。
    • 可以通过这4个特征预测鸢尾花卉属于(iris-setosa(山鸢尾), iris-versicolour(杂色鸢尾), iris-virginica(维吉尼亚鸢尾))中的哪一品种。
  • 属性介绍:
    见代码注释
  • 代码示例:
# 鸢尾花数据集:
from sklearn import datasets

# iris:鸢尾花数据集:--> 用于分类
# 有150个数据集,共分为3类,每类50个样本。每个样本有4个特征。

# 加载数据集
iris = datasets.load_iris()  # 加载iris数据集

# 打印数据集的相关信息
n_samples,n_features=iris.data.shape
print("共有", n_samples, "个样本, 每个样本有", n_features, "个特征") #输出:共有 150 个样本, 每个样本有 4 个特征
print("iris.data.shape --> ",iris.data.shape) # 样本, 输出:iris.data.shape -->  (150, 4)
print("iris.target.shape --> ",iris.target.shape) # 标签, 输出:iris.target.shape -->  (150,)

# print("这是四个特征值:\n",iris.feature_names) # 样本对应的每个特征的意义
# print("iris.target_names --> ",iris.target_names) # 三种鸢尾花数据的具体名字

# print("iris data :\n ",iris.data) # 样本数据(150,4)
# print("iris traget :\n ",iris.target) # 每隔样本对应的标签(150,1)

# print("dict_keys:\n",iris.keys())  #dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])

# print("查看数据集描述:\n",iris["DESCR"])
# print("鸢尾花数据集:\n",iris)



# 给数据集划分训练集和测试集:
# 当我们得到所有的数据集,不能全部用来进行训练,要给他划分为训练集和测试集
# train_test_split(数据集的特征值,数据集的标签值,测试集的大小(float型), 随机种子(相同的随机种子结果相同))
from sklearn.model_selection import train_test_split # 导入模块

x_train, x_test, y_train, t_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
print("训练集样本大小",x_train.shape)  # 输出:训练集样本大小 (120, 4)
print("训练集标签大小",y_train.shape)  # 输出:训练集标签大小 (120,)
  • 其他:

参考博客:

  1. sklearn iris(鸢尾花)数据集应用

2)手写数字数据集:load_digits():用于分类任务或者降维任务的数据集

  • 数据介绍:

    • 手写数字数据集:load_digits():用于分类任务或者降维任务的数据集。
    • 1797张样本图片,每个样本有64维特征(8*8像素的图像)和一个[0, 9]整数的标签
  • 属性介绍:
    见代码注释

  • 代码示例:

# 手写数字数据集:load_digits():用于分类任务或者降维任务的数据集
# 1797张样本图片,每个样本有64维特征(8*8像素的图像)和一个[0, 9]整数的标签
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits

# 加载数据集
digits = load_digits()

n_samples,n_features=digits.data.shape
print("共有 ", n_samples, " 个样本数据,每个样本有 ", n_features, " 个特征")
print("手写数字集的大小 --> ",digits.data.shape) #(1797, 64)
print("手写数字集的形状 --> ", digits.images.shape) #(1797, 8, 8)

# 证明:digits.data 是将 digits.images 按行展开成一行,共有1797行
# print(np.all(digits.images.reshape((1797,64)) == digits.data))
# print(np.all(digits.data.reshape((1797,8,8)) == digits.images))

# print(digits.target[63]) # 第63张图的表示是多少



# print("digits.keys() --> ",digits.keys()) # digits.keys() -->  dict_keys(['data', 'target', 'target_names', 'images', 'DESCR'])

# # 显示第一张图片, 也可以用: plt.imshow(digits.images[0])
# plt.gray()
# plt.matshow(digits.images[0])
# plt.show()


# 显示手写数字 方法一:
fig=plt.figure(figsize=(6,6))
fig.subplots_adjust(left=0,right=1,bottom=0,top=1,hspace=0.05,wspace=0.05)

#绘制数字:每张图像8*8像素点
for i in range(64):
    ax=fig.add_subplot(8,8,i+1,xticks=[],yticks=[])
    ax.imshow(digits.images[i],cmap=plt.cm.binary,interpolation='nearest')
    #用目标值标记图像
    ax.text(0,7,str(digits.target[i]))
plt.show()

# # 显示手写数字 方法二:
# fig, ax = plt.subplots(
#         nrows=2,
#         ncols=5,
#         sharex=True,
#         sharey=True, )
 
# ax = ax.flatten()

# for i in range(10):
#     ax[i].imshow(digits.data[i].reshape((8,8)), cmap='Greys', interpolation='nearest')

# plt.show()

在这里插入图片描述

  • 其他:

参考博客:

  1. sklearn中digits手写字体数据集介绍

3)乳腺癌数据集load-barest-cancer():简单经典的用于二分类任务的数据集

用的比较少,具体用法可以见官网
在这里插入图片描述

4)糖尿病数据集:load-diabetes():经典的用于回归认为的数据集,值得注意的是,这10个特征中的每个特征都已经被处理成0均值,方差归一化的特征值。

用的比较少,具体用法可以见官网
在这里插入图片描述

5)波士顿房价数据集:load-boston():经典的用于回归任务的数据集

  • 数据介绍:
    • 该数据集是一个回归问题。每个类的观察值数量是均等的,共有 506 个观察,13 个输入变量和1个输出变量。
    • 每条数据包含房屋以及房屋周围的详细信息。其中包含城镇犯罪率,一氧化氮浓度,住宅平均房间数,到中心区域的加权距离以及自住房平均房价等等。
  • 代码示例:
'''
样本数据集的特征默认是一个(506, 13)大小的矩阵,样本值是一个包含506个数值的向量。
'''
 
# 房价数据
from sklearn.datasets import load_boston   # 波士顿房价数据,回归使用
from sklearn import linear_model
boston = load_boston()

data = boston.data
target = boston.target

print(data.shape) # 输出:(506, 13)
print(target.shape) # 输出: (506,)
  • 其他:

参考博客:

  1. 波士顿房价数据集解读

6)体能训练数据集:load-linnerud():经典的用于多变量回归任务的数据集。

用的比较少,具体用法可以见[官网]

在这里插入图片描述

  • 6
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值