tensorflow - 通过神经网络 (Keras) 进行价格预测
问题描述
我正在尝试进行通话价格预测,我的数据集看起来像这样
call_category_id,duration,Number 1,Number 2,price
9,24,77348,70000,0.01
9,144,77348,70000,0.08
9,138,77348,70000,0.08
9,12,77348,70000,0.01
拨打的号码分为两个号码(号码 1,号码 2),因为我认为这会改善预测结果。通常呼叫的前几位数字决定了每分钟的价格。
我的模型看起来像这样:
def get_model():
model = Sequential([
Dense(40,
activation='relu',
kernel_initializer='uniform',
input_shape=(4,)),
Dropout(0.3),
Dense(36,
activation='relu',
kernel_initializer='uniform'),
Dropout(0.3),
Dense(32,
activation='relu',
kernel_initializer='uniform'),
Dropout(0.3),
Dense(28,
activation='relu',
kernel_initializer='uniform'),
Dropout(0.3),
Dense(24,
activation='relu',
kernel_initializer='uniform'),
Dense(32,
activation='relu',
kernel_initializer='uniform'),
Dropout(0.3),
Dense(20,
activation='relu',
kernel_initializer='uniform'),
Dropout(0.3),
Dense(1, activation='linear'),
])
c_optimizers = optimizers.Adam()
model.compile(optimizer=c_optimizers,
loss='mean_squared_error',
metrics=['accuracy'])
return model
model.fit(
x_train,
y_train,
batch_size=1024,
epochs=1000,
validation_data=(x_test, y_test),
shuffle=True,
callbacks=[tensor_board])
然而,挑战在于准确性永远不会提高它停留在 19.6%。
39879/39879 [==============================] - 0s 5us/step - loss: 0.1646 - acc: 0.1969 - val_loss: 0.1003 - val_acc: 0.2065
解决方案
推荐阅读
- visual-studio - 调试期间如何在Watch窗口中显示继承树?
- c# - #c (ArrayList) 中 for 循环或 foreach 中带有索引的集合
- kubernetes - 当一个工作 pod 成功时完成并行 Kubernetes 作业
- node.js - Fetch /POST request to Server:接收 multipart/form-data 时为空数组;
- cordova - 定位在 OpenTok 视频上的 HTML 元素不可点击
- mongodb - 如何使用 Mongo 聚合来限制给定输入周围的结果?
- c# - 为什么在表达式树中不允许丢弃?
- mongodb - 如何制作重复记录
- node.js - 将自定义信息添加到 Firebase Functions 中的 Stackdriver 错误日志
- scala - 无法分析数据