使用 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
当我想进一步了解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 作为目标。
顺便说一句,你提供的 link 坏了,所以我 google 想出了这个 Boston Housing price tutorial。如果你想在 tensorflow
中做回归,它看起来很完整
我正在尝试理解代码示例 Deep Neural Network Regression with Boston Data。
描述了数据集here。它有14个属性。
该示例使用以下代码加载数据。
# Load dataset
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 作为目标。
顺便说一句,你提供的 link 坏了,所以我 google 想出了这个 Boston Housing price tutorial。如果你想在 tensorflow
中做回归,它看起来很完整