我正在尝试理解代码示例使用波士顿数据进行深度神经网络回归。
数据集的描述在这里。它有14个属性。
示例使用以下代码来加载数据。
# 加载数据集boston = learn.datasets.load_dataset('boston')x, y = boston.data, boston.target
当我想了解更多关于x
和y
的信息时,我得到了以下结果。
>>> type(x)<type 'numpy.ndarray'>>>> type(y)<type 'numpy.ndarray'>>>> x.shape(506, 13)>>> y.shape(506,)>>>
我的问题:
- 为什么数据集被分为两个对象,一个有13个属性,另一个有1个属性?
- 这种划分是基于什么标准进行的?
回答:
boston.data中的13列是你的特征。boston.target中的1列是你的目标。分开的原因是,大多数情况下,机器学习算法需要特征和目标作为独立的数据结构。load_datasets函数通过分离MDEV列来简化操作,因为大多数情况下,人们希望预测这个特征。换句话说,load_data集的设计者假设你想根据其他13个特征来预测房屋的中位价格。
你不必这样做。你可以选择任何特征作为你的目标。例如,如果你想预测RM,即每栋房屋的平均房间数。只需将MDEV列合并回boston.data,然后分离出RM。然后使用RM作为你的目标。
顺便说一下,你提供的链接已失效,所以我通过谷歌找到了这个波士顿房价教程。如果你想在tensorflow中进行回归,它看起来相当完整