我有一个基于时间序列数据集的LSTM模型,该模型是类不平衡的5000k(pos):7k(neg)。
我尝试如下使用加权损失函数weighted_cross_entropy_with_logits
model = tf.keras.Sequential([
tf.keras.layers.LSTM(64, activation='tanh', input_shape=(n_input, n_features),return_sequences = True),
tf.keras.layers.LSTM(64, activation='tanh',return_sequences = True),
tf.keras.layers.LSTM(64, activation='tanh',return_sequences = True),
tf.keras.layers.LSTM(64, activation='tanh',return_sequences = True),
tf.keras.layers.LSTM(64, activation='tanh',return_sequences = True),
tf.keras.layers.LSTM(64, activation='tanh',return_sequences = False),
tf.keras.layers.Dense(128, activation='relu')
])
last_layer = tf.keras.layers.Dense(1,activation='sigmoid')
model.add(last_layer)
model.compile(optimizer='adam', loss= tf.nn.weighted_cross_entropy_with_logits ,metrics=['accuracy'])
结果显示我需要一个名为pos_weight
的位置参数,如何设置pos_weight并在model.compile
中使用它?
我已经搜索过此内容,但未找到与此相关的任何示例代码 谢谢!