如何使用 TensorFlow 和 Auto MPG 数据集对数据进行归一化以预测燃油效率?


Tensorflow 是 Google 提供的一个机器学习框架。它是一个开源框架,与 Python 结合使用以实现算法、深度学习应用程序等等。可以使用以下代码行在 Windows 上安装“tensorflow”包:

pip install tensorflow

张量是 TensorFlow 中使用的数据结构。它有助于连接流图中的边。此流图称为“数据流图”。张量只不过是多维数组或列表。

回归问题的目标是预测连续或离散变量的输出,例如价格、概率、是否会下雨等等。

我们使用的数据集称为“Auto MPG”数据集。它包含 1970 年代和 1980 年代汽车的燃油效率。它包括重量、马力、排量等属性。通过这些属性,我们需要预测特定车辆的燃油效率。

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,并且无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是建立在 Jupyter Notebook 之上的。

以下是代码片段:

示例

print("Separating the label from features")
train_features = train_dataset.copy()
test_features = test_dataset.copy()

train_labels = train_features.pop('MPG')
test_labels = test_features.pop('MPG')
print("The mean and standard deviation of the training dataset : ")
train_dataset.describe().transpose()[['mean', 'std']]
print("Normalize the features since they use different scales")
print("Creating the normalization layer")
normalizer = preprocessing.Normalization()
normalizer.adapt(np.array(train_features))
print(normalizer.mean.numpy())
first = np.array(train_features[3:4])
print("Every feature has been individually normalized")
with np.printoptions(precision=2, suppress=True):
print('First example is :', first)
print()
print('Normalized data :', normalizer(first).numpy())

代码来源 - https://tensorflowcn.cn/tutorials/keras/regression

输出

Separating the label from features
The mean and standard deviation of the training dataset :
Normalize the features since they use different scales
Creating the normalization layer
[ 5.467 193.847 104.135 2976.88 15.591 75.934 0.168 0.197
0.635]
Every feature has been individually normalized
First example is : [[ 4. 105. 63. 2125. 14.7 82. 0. 0. 1. ]]

Normalized data : [[−0.87 −0.87 −1.11 −1.03 −0.33 1.65 −0.45 −0.5 0.76]]

解释

  • 目标值(标签)与特征分离。

  • 标签是需要为预测发生而训练的值。

  • 特征被归一化,以便训练稳定。

  • Tensorflow 中的“Normalization”函数预处理数据。

  • 创建第一层,并将均值和方差存储在此层中。

  • 调用此层时,它会返回输入数据,其中每个特征都已归一化。

更新于: 20-Jan-2021

161 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告