如何在LSTM或卷积神经网络上理解Precision-Recall-Fscore阵列



我一直在尝试使用LSTM网络进行序列分类。这是我的模型:

model = Sequential()
model.add(LSTM(10, input_shape=(1, 30)))  # returns a sequence of vectors of dimension 30
model.add(Dense(1))
model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])
model.summary()
model.fit(X_train, y_train, batch_size = 400, epochs = 20, verbose = 1)
y_pred = model.predict(X_test)
print(precision_recall_fscore_support(y_test, y_pred.round()))

precision_recall_fscore_support的输出:

(阵列([0.,0.,0.5199002,0.5197487,0.,0 0.,0.](,阵列([0.,0.,0.62014302,0.38130374,0.,0 0.,0.](,阵列([0.,0.,0.56561448,0.43989032,0.,0.,0 0.,0.](,数组([0,0,48384,48384,0,0,0,0](

由于每个阵列具有两个非零得分,因此每个度量的准确分数是多少?输出不是为每个精度,召回和F得分度量的单个值吗?

sklearn.metrics.precision_recall_fscore_support函数调用返回与每个度量相对应的4个数组的序列,每个数组记录了分类问题中每个标签的分数。(阅读此文档(

我假设您有一个7个标签分类问题,因此每个数组分数7个。0值表示您在这些标签上获得零精度/召回。

最新更新