Scikit-Learn数据集
2021-9-11
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property

数据类型

不同类型的数据集采用的算法是不一样的。总体来说,生活场景中只有两种类型的数据,一种是离散型,一种是连续型:
  1. 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据不能再细分,也不能进一步提高他们的精确度。比如分类就是离散型数据。
  1. 连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续的。如长度、时间、质量值等,这类数通常是非整数,含有小数部分
 

可用数据集

  1. Kaggle:一个大数据竞赛平台,上面的数据都是真实的,并且有很多数据集。
  1. UCI:收录了360个数据集,覆盖了科学、生活、经济等领域。
  1. scikit-learn数据集:用于学习的数据集,数据量比较小,但是方便获取和学习。
 

获取数据集方式

获取数据集的方式有两种,有load_*fetch_*。以下:
  1. sklearn.datasets.load_*():获取小规模的数据集,数据集已经随着scikit-learn安装而下载了。
    1. sklearn.datasets.fetch_*(data_home=None):用于从远程获取大规模的数据集,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
     
    两种方式返回的结果都是sklearn.utils.Bunch类型,这种数据类型有以下方法和属性:
    • data:特征数据数组,是[n_samples * n_features]的二维numpy.ndarray数组
    • target:标签数组,是n_samples的一维numpy.ndarray数组
    • DESCR:数据描述
    • feature_names:特征名,新闻数据、手写数字、回归数据集没有
    • target_names:标签名,回归数据集没有
     
     

    数据集的划分

    拿到数据集后,一般会采用75%的用于训练,25%的用来测试。因此在把数据进行训练之前,先要对数据进行划分。可以使用sklearn.model_selection.train_test_split进行分割,train_test_split中的常用参数如下:
    • x:数据集的特征值
    • y:数据集的目标值
    • test_size:测试的数据的占比,用小数表示
    返回值如下:
    • x_train:训练部分的特征值
    • x_test:测试部分的特征值
    • y_train:训练部分的特征值
    • y_test:测试部分的目标值
     
     
     

    本地数据集

    分类数据集

    • load_iris:鸢尾花花瓣数据集
    • load_digits:手写数字数据集
    • load_wine:红酒数据集
    • load_breast_cancer:乳腺癌数据集

    回归数据集

    • load_boston:波士顿房价数据集
    • load_diabetes:糖尿病数据集
    • load_linnerud:体能训练数据集
    以上所有的数据集的网址为:
     

    远程数据集

    远程数据集是一些真实的数据,一般都比较大,因此在需要的时候进行加载即可。

    分类数据集

    • fetch_olivetti_faces:面孔数据集。
    • fetch_20newsgroups:20个新闻组数据集。
    • fetch_lfw_people:户外人脸识别数据集。
    • fetch_lfw_pairs:户外人脸对(同一个人两个图片)数据集。
    • fetch_covtype:美国一块30*30m的森林斑块土地,上面覆盖了不同类型的树木。
    • fetch_rcv1:路透社文集I (RCV1)。由路透社有限公司为研究目的提供的80多万篇手动分类的新闻专线报道的存档。
    • fetch_california_housing:加利福尼亚房子数据集。
     
     

    Scikit-learn随机数据生成

    scikit-learn生成随机数据的API都在datasets类之中,和numpy比起来,可以用来生成适合特定机器学习模型的数据。常用的API有:

    make_regression 生成回归模型的数据

    几个关键参数有n_samples(生成样本数),n_features(样本特征数),noise(样本随机噪音)和coef(是否返回回归系数)
    notion image
     

    make_hastie_10_2,make_classification或make_multilabel_classification生成分类模型数据

    几个关键参数有n_samples(生成样本数), n_features(样本特征数), n_redundant(冗余特征数)和n_classes(输出的类别数)
    notion image
     

    make_blobs生成聚类模型数据

    几个关键参数有n_samples(生成样本数), n_features(样本特征数),centers(簇中心的个数或者自定义的簇中心)和cluster_std(簇数据方差,代表簇的聚合程度)
    notion image
     

    make_gaussian_quantiles生成分组多维正态分布的数据

    几个关键参数有n_samples(生成样本数), n_features(正态分布的维数),mean(特征均值), cov(样本协方差的系数), n_classes(数据在正态分布中按分位数分配的组数)
    notion image
  2. Scikit-Learn
  3. 特征抽取 流形学习方法的比较交叉验证和网格搜索
    目录