小编hyC*_*ook的帖子

使用Keras的数据集不平衡

我正在使用python和Keras库构建分类ANN。我正在使用3种不同类别的不平衡数据集训练NN。第1类大约是第2类和第3类的7.5倍。作为补救措施,我采纳了这个stackoverflow答案的建议,并按如下方式设置我的类权重:

class_weight = {0 : 1,
                1 : 6.5,
                2: 7.5}
Run Code Online (Sandbox Code Playgroud)

但是,这就是问题所在:人工神经网络正在以相同的速度预测3个班级!

因为数据集,这是没有用不平衡,并预测为各自具有33%的几率是不准确的结果。

问题是:如何处理不平衡的数据集,以使ANN不会每次都预测1类,而且还使得ANN不会以相同的概率预测这些类?

这是我正在使用的代码:

class_weight = {0 : 1,
1 : 6.5,
2: 7.5}

# Making the ANN
import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout

classifier = Sequential()


# Adding the input layer and the first hidden layer with dropout
classifier.add(Dense(activation = 'relu',
                     input_dim = 5,
                     units = 3,
                     kernel_initializer = 'uniform'))
#Randomly drops …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network keras

4
推荐指数
1
解决办法
7256
查看次数

标签 统计

keras ×1

machine-learning ×1

neural-network ×1

python ×1