使用 TensorFlow 加载波士顿住房数据集

Loading Boston housing dataset using TensorFlow

我正在尝试理解代码示例 Deep Neural Network Regression with Boston Data

描述了数据集here。它有14个属性。

该示例使用以下代码加载数据。

# Load dataset
boston = learn.datasets.load_dataset('boston')
x, y = boston.data, boston.target

当我想进一步了解xy时,我有以下

>>> type(x)
<type 'numpy.ndarray'>
>>> type(y)
<type 'numpy.ndarray'>
>>> x.shape
(506, 13)
>>> y.shape
(506,)
>>> 

我的问题:

  1. 为什么数据集被分成两个对象,一个有 13 个属性,另一个有 1 个?
  2. 这个划分的依据是什么?

boston.data 中的 13 列是您的特征。 boston.target 中的第 1 列是您的目标。之所以进行拆分,是因为在大多数情况下,机器学习算法都需要将特征和目标作为单独的数据结构。 load_datasets 函数只是通过拆分 MDEV 列让您更轻松,因为大多数时候,这是人们想要预测的特征。换句话说,load_data 集的设计者假设您想尝试根据其他 13 个特征找出房价中位数。

您不必这样做。您可以选择任何功能作为目标。假设您想预测 RM,即每个住宅的平均房间数。只需将 MDEV 列合并回 boston.data 并拆分出 RM。然后使用 RM 作为目标。

顺便说一句,你提供的 link 坏了,所以我 google 想出了这个 Boston Housing price tutorial。如果你想在 tensorflow

中做回归,它看起来很完整