TensorFlow 示例平方米转亩

TensorFlow 和 Keras 来构建一个简单的神经网络模型,用于将输入的平方米数值转换为对应的亩数。代码包括了数据准备、模型构建、编译、训练、评估以及绘制损失曲线的过程。下面我会详细解释每一部分TensorFlow 和 Keras 来构建一个简单的神经网络模型,用于将输入的平方米数值转换为对应的亩数。代码包括了数据准备、模型构建、编译、训练、评估以及绘制损失曲线的过程。下面我会详细解释每一部分

1. 数据准备与预处理

复制代码
平方米 = np.array([15, 30, 50, 100, 150, 300, 315, 666.66, 1000], dtype=float)
亩 = np.array([0.0225, 0.0450, 0.0750, 0.1500, 0.2250, 0.4500, 0.4725, 1.0000, 1.5000], dtype=float)
#将 平方米 数组的形状调整为一个列向量。
平方米 = 平方米.reshape(-1, 1)

2. 构建模型

构建了一个简单的神经网络,只有一个 Dense 层,输入是一个值,输出也是一个值。这个网络尝试找到输入(平方米)和输出(亩)之间的关系。

复制代码
layer = tf.keras.layers.Dense(units=1, input_shape=[1])  # 输入一个值,输出一个值
model = tf.keras.Sequential([layer])

3. 编译模型

这里使用了 Adam 优化器来最小化均方误差(MSE)。学习率设置为 0.1。Adam 优化器通常可以在较小的数据集上快速收敛。

复制代码
model.compile(optimizer=tf.keras.optimizers.Adam(0.1), loss='mean_squared_error')

4. 训练模型

这里训练模型 1000 个 epoch,每次迭代更新权重以减少损失函数。verbose=1 会显示每个 epoch 的训练进度。

复制代码
history = model.fit(平方米, 亩, epochs=1000, verbose=1)

5. 评估模型

这里循环通过每个输入数据,预测出相应的亩数并与实际值进行对比。这部分的输出将告诉你模型在每个输入数据点上的预测效果。

复制代码
print("预测结果:")
for c, f in zip(平方米, 亩):
    predicted_value = model.predict(np.array([[c]]))
    print(f"{c[0]} 平方米 => 实际: {f} 亩, 预测: {predicted_value[0][0]:.4f} 亩")

6. 绘制损失曲线

这部分代码绘制了训练过程中每个 epoch 的损失曲线,帮助你了解训练过程中的损失变化,判断模型的收敛情况。

复制代码
plt.plot(history.history['loss'])
plt.title('Model Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.show()

7. 完整代码

复制代码
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

# 1. 数据准备与预处理
# 输入数据 (平方米)对应亩
平方米 = np.array([15, 30, 50, 100, 150, 300, 315, 666.66, 1000], dtype=float)
亩 = np.array([0.0225, 0.0450, 0.0750, 0.1500, 0.2250, 0.4500, 0.4725, 1.0000, 1.5000], dtype=float)
平方米 = 平方米.reshape(-1, 1)
# 2. 构建模型
layer = tf.keras.layers.Dense(units=1, input_shape=[1])  # 输入一个值,输出一个值
model = tf.keras.Sequential([layer])
# 3. 编译模型
model.compile(optimizer=tf.keras.optimizers.Adam(0.1), loss='mean_squared_error')
 
# 4. 训练模型
history = model.fit(平方米, 亩, epochs=1000, verbose=1)
 
# 5. 评估模型
print("预测结果:")
for c, f in zip(平方米, 亩):
    predicted_value = model.predict(np.array([[c]]))
    print(f"{c[0]} 平方米 => 实际: {f} 亩, 预测: {predicted_value[0][0]:.4f} 亩")

# 6. 绘制损失曲线
plt.plot(history.history['loss'])
plt.title('Model Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.show()

8. 总结

该代码实现了一个基础的神经网络回归模型,用于预测面积之间的关系。通过训练,模型学习到了从平方米到亩的转换规律,并且可以进行准确的预测。

相关推荐
贾全几秒前
第十章:HIL-SERL 真实机器人训练实战
人工智能·深度学习·算法·机器学习·机器人
每日摸鱼大王6 分钟前
互联网摸鱼日报(2025-07-01)
人工智能
GIS小天15 分钟前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月4日第128弹
人工智能·算法·机器学习·彩票
我是小哪吒2.027 分钟前
书籍推荐-《对抗机器学习:攻击面、防御机制与人工智能中的学习理论》
人工智能·深度学习·学习·机器学习·ai·语言模型·大模型
慕婉030730 分钟前
深度学习前置知识全面解析:从机器学习到深度学习的进阶之路
人工智能·深度学习·机器学习
阿蒙Amon36 分钟前
【Python小工具】使用 OpenCV 获取视频时长的详细指南
python·opencv·音视频
荔枝吻1 小时前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
橘子编程1 小时前
Python-Word文档、PPT、PDF以及Pillow处理图像详解
开发语言·python
Jamie201901061 小时前
高档宠物食品对宠物的健康益处有哪些?
大数据·人工智能
蓝婷儿2 小时前
Python 机器学习核心入门与实战进阶 Day 2 - KNN(K-近邻算法)分类实战与调参
python·机器学习·近邻算法