sklearn数据集的使用

发布时间 2023-06-09 22:18:15作者: 哎呦哎(iui)

1.数据集

学习是可能用到的数据集

训练集分为训练集和测试集

Kaggle
https://www.kaggle.com/datasets
大数据竞赛平台
80 万科学家
真实数据
数据量巨大


UCI
http://archive.ics.uci.edu/ml/
收录了 559 个数据集
覆盖科学、生活、经济等领域
数据量几十万


scikit-learn
http://scikit-learn.org/stable/datasets/index.html#datasets(opens new window)
数据量较小
方便学习

2 sklearn

2.1 内容

Classification 分类
Regresslon 回归
Clustering 聚类
Dimenslonality reduction 降维
Model Selection 模型选择
Preprocessing 特征工程

2.2 介绍

sklearn.datasets

加载获取流行数据集

datasets.load_*()

获取小规模数据集,数据包含在datasets里

datasets.fetch_*(data_home=None)

获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home表示数据下载的目录,默认是~/scikit_learn_data/

2.3小数据集

sklearn.datasets.load_iris()
加载并返回鸢尾花数据集
sklearn.datasets.load_boston()
加载并返回波士顿房价数据集

2.4 大数据集**

sklearn.datasets.fetch_20newsgroups(data_home=None, subset='train')

subset: 'train' 或者 'test', 'all' ,可选,选择要加载的数据集
训练集的“训练”,测试集的“测试,两都的”全部“

2.5 使用

sklearn 数据集返回值介绍,load和fetch 返回的数据类型 datasets.base.Bunch(字典格式)
data: 特征数据数组,是[n_samples * n_features] 的二维 numpy.ndarray 数组
target: 标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR: 数据描述
feature_names: 特征名,新闻数据,手写数字,回归数据集没有
target_names: 标签名

代码

from sklearn.datasets import load_iris

def datasets_demo():
    """
    sklearn数据集的使用
    :return:
    """
    # 获取数据集
    iris = load_iris()
    print("鸢尾花数据集:\n", iris)
    print("查看数据集的描述:\n", iris["DESCR"])
    print("查看特特征值的名字:\n", iris.feature_names)
    print("查看特征值:\n",iris.data, iris.data.shape)
    return
	
if __name__ == "__main__":
    # 代码1:sklearn()数据集的使用
    datasets_demo()

2.5 数据集的划分

训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
​测试集 20%~30%

sklearn.model_selection.train_test_split(arrays, *options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为 float
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
返回值 训练集特征值,测试集特征值,训练集目标集,测试集目标集
返回值 x_train, x_test, y_train, y_test

代码

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def datasets_demo():
    """
    sklearn数据集的使用
    :return:
    """
    # 获取数据集
    iris = load_iris()
    print("鸢尾花数据集:\n", iris)
    print("查看数据集的描述:\n", iris["DESCR"])
    print("查看特特征值的名字:\n", iris.feature_names)
    print("查看特征值:\n",iris.data, iris.data.shape)
    # 数据集的划分
    x_train, x_test, y_train, y_test=train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
    print("训练集的特征值:\n", x_train, x_train.shape)
    return


if __name__ == "__main__":
    # 代码1:sklearn()数据集的使用
    datasets_demo()

下一节是特征工程:链接