用神經網路分類乙個多類別的資料,請問怎麼實現輸出每種類別的精確率呢?

時間 2021-06-23 03:28:09

1樓:蔣承越

二分類問題我們可以算精確率(precision),因為我們會明確選擇乙個為正例,另乙個為負例。

多分類的話通常我們就沒有這種明顯的正負例關係了,一般就用accuracy,或者看一下confusion matrix.

2樓:

精確度如果是指accuracy,對每一類並不是乙個好的metric。

TP: True Positive; TN: True Negative; FP: False Positive; FN: False Negative

具體到某一類,應該轉化為這個類VS所有其他類的binary classification問題,然後算precision recall。

TF/Keras裡有現成的。比如計算Class_3的precision和recall。tf.

keras

.metrics

.Precision

(class_id=3

,top_k=1

)類似地,tf.

keras

.metrics

.Recall

(class_id=3

,top_k=1)

3樓:迷路森林

多個類別每個類別的精確率可以使用sklearn下的metrics工具,下面是乙個四分類的例子,target_names是類別名,在輸出的時候用到, 輸出Precision, Recall和f1-score等衡量指標。

from sklearn import metricsmetrics.classification_report(labels_all, predict_all, target_names=config.class_list, digits=4)

同樣的,你可以輸出混淆矩陣

confusion = metrics.confusion_matrix(labels_all, predict_all)

想做乙個三分類,輸出每種類別的概率,資料集是自己採集的所以很少每類不到100條,應該用什麼方法呢?

yyHaker 可以考慮使用邏輯回歸模型,這樣可以輸出每種類別的概率 此外,由於你的資料量很小,可以考慮去採集更多資料,或者根據資料的特點進行一些資料增強。 Jack Stark 每類不到100條指的是全部資料集嗎?這樣再分一下訓練 測試集,訓練集確實太少了。資料量少那麼訓練會很快呀,所以多嘗試各種...

如果乙個神經網路的總loss loss1 loss2,那麼這個網路是如何反向傳遞更新loss1的呢

Tridu 現在大資料這麼離譜的嗎?希望是巧合。剛出實驗室,剛批改的作業就是BP反向求導的習題,居然一開啟知乎就看到了這個問題。建議題主看看相關網課ppt資料 這裡lecture18有個手寫求導pdf 貓頭嚶 我寫了一篇BP原理,你可以系統性的了解一下。 靈劍 感覺是沒有理解梯度下降的意義,我理解你...

能否設計乙個神經網路實現類似FFT的功能?

cuimolei 其實FFT是DFT的快速實現,而DFT實際上就是卷積。DFT本質上就是乙個線性變換,所以用不帶非線性變換的卷積實現FFT是完全沒問題。而DFT有各項同性的特性,意味著其可以拆解為nx1,1xn卷積兩步實現,而FFT是針對DFT冗餘計算進行的優化。也就是從計算量講 多層卷積 單層nx...