神经网络;模型结果有问题

时间:2020-08-06 16:28:08

标签: python tensorflow

我正在运行NN来预测国家的工业生产。

我的数据如下:(由R生成)

structure(list( Word1 = c("0", "0", "0"), Word2 = c("15", "15",  "13"), Word3 = c("1", "1", "1"), Word4 = c("0", "0", "0"), Word5 = c("0", "0", "0"), IndustrialP = c(107.35586
, NA_real_, 113.66342
)), row.names = c(NA, 3L), class = "data.frame")

我按以下方式拆分数据:

y=df.IndustrialP
X=df.drop('IndustrialP', axis=1)
split = int(len(df)*0.8)
X_train, X_test, y_train, y_test = X[:split], X[split:], y[:split], y[split:]

模型代码如下:

import tensorflow as tf

model = Sequential([
    Dense(32, activation='relu', input_shape=(5,)),
    Dense(32, activation='relu'),
    Dense(1, activation='sigmoid'),
])
model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])
model.fit(X_train, y_train, batch_size=20, epochs=50)

不幸的是,所有迭代我都得到loss: nan - accuracy: 0.0000e+00

这是什么问题?

谢谢。

2 个答案:

答案 0 :(得分:0)

df中的标签缺少需要首先估算的值:

df = df.fillna(df.mean()['IndustrialP'])

此外,这是一个回归问题,需要另一个损失函数,例如MSE或MAE。

model.compile(loss="mean_squared_error", optimizer="sgd")

答案 1 :(得分:0)

这是保存R中的csv文件之后的全部提示:

username / password

历次1/50 1/1 [=============================]-0s 1ms / step-损耗:11810.6562