You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于多参数的深度学习房价预测模型准确率始终为0的技术求助

房价预测模型准确率为0的问题修复方案

核心问题:任务类型完全错配

房价预测是连续值回归任务,但你的模型配置完全是针对二分类任务的:

  • 输出层用sigmoid激活(仅适用于0/1二分类场景)
  • 损失函数选binary_crossentropy(二分类专用损失函数)
  • 用accuracy(分类任务指标)评估回归结果,两者完全不匹配,这是准确率始终为0的直接原因。

具体修复步骤

1. 调整模型结构与训练配置

将模型修改为适配回归任务的版本:

import tensorflow as tf

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(units=6, activation='relu'))
model.add(tf.keras.layers.Dense(units=6, activation='relu'))
# 回归任务输出层无需激活(默认linear激活,适配连续值输出)
model.add(tf.keras.layers.Dense(units=1))
# 回归任务用均方误差(MSE)作为损失,评估用平均绝对误差(MAE)等回归指标
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['mean_absolute_error'])
model.fit(X_train, y_train, batch_size=32, epochs=100)

2. 替换评估逻辑

回归任务不能使用accuracy_score,换成回归专用的评估指标:

from sklearn.metrics import mean_squared_error, mean_absolute_error

# 生成测试集预测结果
y_pred = model.predict(X_test)
# 计算回归任务指标
mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
print(f"测试集均方误差: {mse}, 平均绝对误差: {mae}")

3. 额外优化建议

  • 校验目标变量:确认y_train和y_test是连续的房价数值,而非误处理为0/1的分类标签
  • 特征缩放:深度学习模型对特征尺度敏感,用StandardScaler或MinMaxScaler对面积、房龄等连续特征做标准化/归一化处理
  • 数据集检查:确保训练集与测试集分布一致,避免数据泄露(比如预处理时不能用测试集数据拟合缩放器)

内容的提问来源于stack exchange,提问作者Krystian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:20:41