type
status
date
slug
summary
tags
category
icon
password
Property
数据类型
不同类型的数据集采用的算法是不一样的。总体来说,生活场景中只有两种类型的数据,一种是离散型,一种是连续型:
- 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据不能再细分,也不能进一步提高他们的精确度。比如分类就是离散型数据。
- 连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续的。如长度、时间、质量值等,这类数通常是非整数,含有小数部分
可用数据集
Kaggle
:一个大数据竞赛平台,上面的数据都是真实的,并且有很多数据集。
UCI
:收录了360个数据集,覆盖了科学、生活、经济等领域。
scikit-learn
数据集:用于学习的数据集,数据量比较小,但是方便获取和学习。
获取数据集方式
获取数据集的方式有两种,有
load_*
和fetch_*
。以下:sklearn.datasets.load_*()
:获取小规模的数据集,数据集已经随着scikit-learn
安装而下载了。
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(是否返回回归系数)
make_hastie_10_2,make_classification或make_multilabel_classification生成分类模型数据
几个关键参数有n_samples(生成样本数), n_features(样本特征数), n_redundant(冗余特征数)和n_classes(输出的类别数)
make_blobs生成聚类模型数据
几个关键参数有n_samples(生成样本数), n_features(样本特征数),centers(簇中心的个数或者自定义的簇中心)和cluster_std(簇数据方差,代表簇的聚合程度)
make_gaussian_quantiles生成分组多维正态分布的数据
几个关键参数有n_samples(生成样本数), n_features(正态分布的维数),mean(特征均值), cov(样本协方差的系数), n_classes(数据在正态分布中按分位数分配的组数)