python - 神经网络; 模型结果有问题
问题描述
我正在运行 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
所有迭代
这里会有什么问题?
谢谢。
解决方案
您的 df 中的标签缺少需要首先估算的值:
df = df.fillna(df.mean()['IndustrialP'])
此外,这是一个回归问题,需要另一个损失函数,例如 MSE 或 MAE。
model.compile(loss="mean_squared_error", optimizer="sgd")
推荐阅读
- hashicorp-vault - 旧密钥被重新发布/撤销时,保险柜可以发送通知吗?
- harmon.ie - Harmon.ie 从 SharePoint 检索包含 23.000 个项目的列表时非常慢
- many-to-many - 如何解决在nestjs中导入存储库的问题
- android - 如何在 Android 的文本文件中捕获应用程序日志?
- r - gmnl错误'没有“choiceid”变量的索引'
- mysql - 使用 AFTER 触发器为 INSERT、UPDATE 和 DELETE 事件创建自动审计系统
- r - R中的特征选择(重复添加特征)
- c++ - 如何在任何字符串中找到转义序列的数量?
- hibernate - JPQL 限制
- javascript - HTML 默认验证消息样式