Python 如何使用 TensorFlow 对汽车 MPG 数据集进行数据归一化以预测燃油效率?
TensorFlow 是由 Google 提供的机器学习框架。它是一个开源框架,与 Python 一起使用来实现算法、深度学习应用等。下面的代码可以在 Windows 上安装“tensorflow”包。
pip install tensorflow
Tensor 是 TensorFlow 中使用的数据结构。它有助于连接流程图中的边缘,这个流程图被称为“数据流图”。Tensors 实际上是多维数组或列表。
回归问题的目标是预测连续或离散变量的输出,例如价格、概率、是否会下雨等。
我们使用的数据集称为“Auto MPG”数据集。它包含了 1970 年代和 1980 年代汽车的燃油效率,包括重量、马力、排量等属性。我们需要根据这些数据预测特定车辆的燃油效率。
我们使用 Google Colaboratory 运行以下代码。Google Colab 或 Colaboratory 可以在浏览器中运行 Python 代码,不需要任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是基于 Jupyter Notebook 构建的。
以下是代码片段。
阅读更多:Python 教程
示例
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://www.tensorflow.org/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’函数预处理数据。
-
创建并存储在第一层中的平均值和方差。
-
当调用此层时,它将返回经过归一化的每个特征的输入数据。