数据集

sklearn中自带有几个用于学习和测试的数据集,本次学习的就是自带的波士顿房价数据集。
在成功安装 sklearn 后,只需调用对应的数据导入方法,即可完成数据的加载。这些数据导入方法的命名规则是 sklearn.datasets.load_。这里的 就是对应的数据集名称。常见的数据集如表 1 所示。

导入数据的函数名称 对应的数据集
load_boston() 波士顿房价数据集
load_breast_cancer() 乳腺癌数据集
load_iris() 鸢尾花数据集
load_diabetes() 糖尿病数据集
load_digits() 手写数字数据集
load_linnerud() 体能训练数据集
load_wine() 红酒品类数据集

波士顿房价数据集Web版:http://lib.stat.cmu.edu/datasets/boston
教程:https://www.92python.com/view/251.html
所以,我们可以导入波士顿数据集:

  1. from sklearn.datasets import load_boston
  2. boston = load_boston()
  3. print(boston.data)
  4. print(boston.target)
  5. print(boston.target)

在 sklearn 内置的所有数据集中,数据的类型 都是 numpy 的 ndarray 类型,即数组类型。所以可以使用ndarray的所有方法。
在 sklearn 框架中,所有内置的数据集(如表 1 所示)都有 5 个属性值。它们所代表的含义分别如下:

  • data:首先,data 并不泛指数据,而是特指除标签之外的特征数据,针对波士顿房价数据集,它指的是前面的13个特征(即列数据)
  • target:相对而言,target 的本意是“目标”,这里是指标签(label)数据(样本即行数据)。针对波士顿房价数据集,就是指房价;
  • feature_names:属性值 feature_names 给出的实际上就是 data 对应的各个特征的名称。对于波士顿房价数据集而言,它指的就是影响房价的 13 个特征的名称;
  • DESCR:属性值 DESCR 其实是英文单词“description”的简写。顾名思义,它是对当前数据集的详细描述,有点类似于数据集的说明文档。比如,这个数据从哪里来,它有什么特征,每个特征是什么数据类型,如果引用数据集该引用哪些论文,等等;
  • filename:最后一个属性值就是 filename,它说明的是这个数据集的名称,以及在当前计算机中的存储路径。

波士顿房价中的特征描述

你可以通过 boston.DESC 来获取数据集中特征的英文描述。
为了方便读者理解,这里给出缩写特征的中文描述,如表 2 所示。
表2

名称 中文描述
CRIM 住房所在城镇的人均犯罪率
ZN 住房用地超过 25000 平方尺的比例
INDUS 住房所在城镇非零售商用土地的比例
CHAS 有关查理斯河的虚拟变量(如果住房位于河边则为1,否则为0 )
NOX 一氧化氮浓度
RM 每处住房的平均房间数
AGE 建于 1940 年之前的业主自住房比例
DIS 住房距离波士顿五大中心区域的加权距离
RAD 距离住房最近的公路入口编号
TAX 每 10000 美元的全额财产税金额
PTRATIO 住房所在城镇的师生比例
B 1000(Bk-0.63)^2,其中 Bk 指代城镇中黑人的比例
LSTAT 弱势群体人口所占比例
MEDV 业主自住房的中位数房价(以千美元计)


注:1平方尺≈0.093平方米。