Tensorflow2.0之实战汽车油耗预测
文章目录
完整代码在最后面
数据集
我们采用Auto MPG 数据集,它记录了各种汽车效能指标与气缸数、重量、马力等其它因子的真实数据,查看数据集的前5 项,如表 6.1 所示,其中每个字段的含义列在表6.2 中。除了产地的数字字段表示类别外,其他字段都是数值类型。对于产地地段,1 表示美国,2 表示欧洲,3 表示日本。

代码(数据集处理)
导入模块
import tensorflow as tf
import pandas as pd
from tensorflow import keras
from tensorflow.keras import layers, losses
import matplotlib.pyplot as mp
读取数据集
Auto MPG 数据集一共记录了398 项数据,我们从UCI 服务器下载并读取数据集到DataFrame 对象中,代码如下:
# 在线下载汽车效能数据集
dataset_path = keras.utils.get_file("auto-mpg.data",
"http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data")
# 效能(公里数每加仑),气缸数,排量,马力,重量
# 加速度,型号年份,产地
column_names = ['MPG', 'Cylinders', 'Displacement', 'Horsepower', 'Weight',
'Acceleration', 'Model Year', 'Origin']
raw_dataset = pd.read_csv(dataset_path, names=column_names,
na_values="?", comment='\t',
sep=" ", skipinitialspace=True)
对数据集进行处理
首先我们发现数据集中又叫做Origin的一列,1表示美国,2表示欧洲,3表示日本。我们对这一列进行如下处理:
# delete origin row and get it
origin = raw_dataset.pop('Origin')
dataset = raw_dataset.copy()
# use continues' name instead origin
dataset['USA'] = (origin == 1) * 1.0
dataset['Europe'] = (origin == 2) * 1.0
dataset['Japan'] = (origin == 3) * 1.0
之后以为数据集中有一些空白项,所以我们将其删除
# clear blank data
dataset = dataset.dropna()
切割测试集和训练集
按8:2的比例分为训练集和测试集
# splice data to get train_db and test_db (8:2)
train_dataset = dataset.sample(frac=0.8, random_state=0)
test_dataset = dataset.drop(train_dataset.index)
获取标签
获取标签并将其从训练集和测试集中删除,同时使用panads中的decribe()方法获取训练集的均方差,标准差等信息
# splice data to get train_db and test_db (8:2)
train_dataset = dataset.sample(frac=0.8, random_state=0)
test_dataset = dataset.drop(train_dataset.index)
# get MPG labels meantime pop it from dataset
train_labels = train_dataset.pop('MPG')
test_labels = test_dataset.

本文介绍如何使用TensorFlow 2.0构建神经网络预测汽车油耗。通过处理AutoMPG数据集,标准化特征,构建并训练了一个包含三层全连接层的网络模型。
最低0.47元/天 解锁文章
2121

被折叠的 条评论
为什么被折叠?



