TensorFlow之回归模型-3

1 基本概念

回归模型

线性

线性模型

非线性模型

线性回归

逻辑回归

Log Loss(损失函数)

分类临界值

2 效率预测

TensorFlow之回归模型-3_第1张图片

如上所示,使用测试数据集进行评估、用图形显示逻辑回归的预测结果,其中,test_features是测试特征数据集,test_labels是测试标签数据集。

Predictions是线性模型的预测值,Data是数据集的原始标签值,Data均匀地分布在Predictions直线的两侧,说明该线性模型的预测比较准确。

前面的预测是仅使用马力的参数作为单一特征值,当使用多个参数的特征值,则在线性模型y=mx+b的方程式中,m是一个特征集合的矩阵,b是一个集合,预测值y也是一个集合。

TensorFlow之回归模型-3_第2张图片

如上所示,使用normalizer作为多个参数的特征集的规范化处理器,构建一个只有一层的全连接层的线性模型linear_model,在训练前对特征集合的10条记录进行预测。

TensorFlow之回归模型-3_第3张图片

如上所示,是Adam作为优化器,对线性模型linear_model执行训练,其中,train_features是训练的特征集,train_labels是训练的标签集,训练数据集与验证数据集的分割比例是8比2。

TensorFlow之回归模型-3_第4张图片

如上所示,Epoch标签训练的迭代次数,loss与val_loss的损失值,随着训练次数的增长,损失值不断降低,然后趋于平滑,则说明预测的准确度不断趋于稳定的状态,与仅训练马力的单一参数的特征集相比较,其输出更低的错误率,说明使用多维度多参数的特征数据集进行预测更加准确。最后调用linear_model. evaluate对模型执行评估。

TensorFlow之回归模型-3_第5张图片

如上所示,定义一个DNN类型的深度神经网络的回归模型,其中,norm是数据规范化的处理器,由用户输入,中间定义两层非线性的全连接层,输出层是一个线性的全连接层,优化器使用Adam。

TensorFlow之回归模型-3_第6张图片

如上所示,使用单一的马力特征数据集构建一个dnn模型,输出dnn_horsepower_model模型的各层的元数据信息,然后,调用模型的fit函数执行训练,其中,train_features只使用马力的单一参数的特征集进行训练。

TensorFlow之回归模型-3_第7张图片

如上所示,dnn_horsepower_model模型的输出,loss与val_loss的损失值在前面两个模型的中间,则说明使用深度神经网络进行回归的预测更加准确。

TensorFlow之回归模型-3_第8张图片

TensorFlow之回归模型-3_第9张图片

如上所示,dnn_horsepower_model模型调用predict函数执行预测,并输出原始数据标签(Data)与预测标签(Predictions)的对比分析图,说明该模型是逻辑回归模型,最后,调用模型的evaluate函数执行评估。

TensorFlow之回归模型-3_第10张图片

如上所示,使用所有参数的特征集构建一个dnn模型,输出模型的元数据信息,使用所有参数的特征集train_features执行训练。

TensorFlow之回归模型-3_第11张图片

如上所示,dnn_model模型输出loss与val_loss的对比分析。

TensorFlow之回归模型-3_第12张图片

TensorFlow之回归模型-3_第13张图片

如上所示,使用dnn_model模型执行预测,输出MPG的原始值与MPG的预测值的对比分析,原始值均匀分布在预测值的两侧,预测值分布合理,则说明预测较为准确。

TensorFlow之回归模型-3_第14张图片

如上所示,显示dnn_model模型预测的错误分布图,说明出错的预测较少,0值附近不出错的预测较多,分布合理。

TensorFlow之回归模型-3_第15张图片

TensorFlow之回归模型-3_第16张图片

如上所示,调用dnn_model模型的save函数保存训练之后的模型,然后,重新加载模型reloaded,再执行reloaded模型的评估,最后,显示前面所有模型的预测错误率的平均值,dnn_model的错误率最小,则说明dnn_model模型的预测值最准确。

(未完待续)

你可能感兴趣的:(人工智能技术与架构,tensorflow,回归)