【问题标题】:How to predict after training?训练后如何预测?
【发布时间】:2021-02-22 22:13:19
【问题描述】:

我的 csv 数据在这里:https://storage.googleapis.com/download.tensorflow.org/data/abalone_train.csv 我想根据其他列预测“年龄”。训练代码在这里:

import pandas as pd
import numpy as np
# Make numpy values easier to read.
np.set_printoptions(precision=3, suppress=True)
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras.layers.experimental import preprocessing
abalone_train = pd.read_csv("https://storage.googleapis.com/download.tensorflow.org/data/abalone_train.csv", header=None, 
names=["Length", "Diameter", "Height", "Whole weight", "Shucked weight","Viscera weight", "Shell weight", "Age"])
abalone_train.head()
abalone_features = abalone_train.copy()
abalone_labels = abalone_features.pop('Age')
abalone_features = np.array(abalone_features)
abalone_features
abalone_model = tf.keras.Sequential([
layers.Dense(64),
layers.Dense(1)
])

abalone_model.compile(loss = tf.losses.MeanSquaredError(),optimizer = tf.optimizers.Adam())
abalone_model.fit(abalone_features, abalone_labels, epochs=10)

输出:

Epoch 1/10 104/104 [===============================] - 0s 1ms/step - 损失:63.1474 Epoch 2/10 104/104 [==============================] - 0s 924us/步 - 损失:11.8933 Epoch 3/10 104/104 [==============================] - 0s 920us/step - loss: 8.4037 Epoch 4/10 104/104 [===============================] - 0s 885us/步 - 损失: 7.9656 纪元 5/10 104/104 [===============================] - 0s 900us/步 - 损失:7.5481 纪元6/10 104/104 [==============================] - 0s 908us/step - loss: 7.2339 Epoch 7/10 104/104 [==============================] - 0s 926us/步 - 损失: 6.9871 纪元 8/10 104/104 [==============================] - 0s 919us/步 - 损失:6.7886 纪元9/10 104/104 [==============================] - 0s 956us/step - loss: 6.6482 Epoch 10/10 104/104 [==============================] - 0s 953us/步 - 损失: 6.5404

现在我想上传另一个具有空白“年龄”列的 csv 文件并查看预测,但我被卡住了。我得到了一些教训,但在“时代”阶段之前的所有课程中。在“纪元”阶段之后,如何导入我的“空白年龄”csv 文件并查看“年龄预测”?

【问题讨论】:

  • model.predict(new_data)?
  • #是的,它有效 我也添加了这段代码: score = norm_abalone_model.predict(abalone_predict, verbose=0) # 将预测保存为 csv np.savetxt("score.csv", score, delimiter= ",") #check if score.csv exit in google colab !ls #将预测数据下载为csv files.download('score.csv')

标签: machine-learning keras deep-learning


【解决方案1】:

根据文档 (https://www.tensorflow.org/api_docs/python/tf/keras/Sequential#predict),Sequential 对象具有 predict 方法。 输入数据可以是:

  • NumPy 数组
  • TensorFlow 张量或张量列表
  • tf.data 数据集

您可以使用abalone_model.predict(YourData),其中YourData 是上述数据类型之一。当然,您可以在自己的训练数据上使用predict(),这可能会过拟合。如果提供或拆分可用的数据集,请尝试脱节的验证或测试集。 在这里你可以找到一个很好的例子来解决你所面临的回归问题:https://www.tensorflow.org/tutorials/keras/regression

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2020-09-02
    • 2018-10-16
    • 2021-11-24
    • 2019-07-19
    • 2021-11-08
    • 2017-08-16
    相关资源
    最近更新 更多