我是Keras的新人,拥有用于深度学习分类的数字数据集(非图像)。数据集具有3类,但它们的大小不平衡。例如1:200级,2:3200级,3:190级标签。我正在尝试在Keras或Tensorflow中对其进行分类训练。结果;所有预测均收集在第2类中:
所以我在互联网上搜索了这个问题,发现必须根据班级人数来定义加权的厕所功能。
所以我需要一个加权的loos函数,这样我的分类模型才能正常工作。
有人可以帮我做些松散的功能吗?
我的模特就是这样
class_weights=[6.59259259 0.37129746 6.44927536]
model.add(tf.keras.layers.Dense(128, input_dim=19, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(128,activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(32,activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(3,activation='softmax'))
model.compile(optimizer='adam' , loss=cost_function, metrics=['accuracy'] )
model.fit( egitimData,egitimEtiket,epochs=15,class_weight = class_weights)