2013-03-02 210 views
0

我在matlab中使用libsvm進行蛋白質結構類別預測。使用我不同的尺寸特徵集,我做了7次交叉驗證並取得了很好的結果。但是當我試圖測試數據並得到混淆矩陣時,我只能得到真正的正面和負面的值,沒有爲真正的負面和正面的正面獲得任何價值。混淆矩陣中的真陰性和假陰性ero

我真的被卡住了,並會很感激,如果有人幫助我通過提供解決方案。

回答

0

那麼你爲什麼不自己計算它們呢?準確性會給出預測「錯誤」的總數,因此如果您有1000個測試項目並且準確度爲80%,那麼false negatives + false positives = 200.由於您有false negatives的數量,因此可以計算false positives = 200 - false negatives 。同樣,考慮到上述準確度,這意味着true negatives + true positives = 800,因此您可以計算true negatives = 800 - true positives

上述理由應該容易推廣到更多維度,但我可能會在這裏錯過某些東西,所以請澄清您的問題。

+0

感謝您的回覆。但在我的情況下,真正的肯定和虛假的否定結果顯示錯誤的結果。我很困惑。由於我通過sross驗證獲得了良好的結果,因此有可能得到錯誤的測試數據結果? – begum 2013-03-03 01:39:33

+1

是的,當然,取決於你如何構建你的測試集。假設你拿着你的訓練集,你隨機化它中的矢量的順序,並把它分成3部分:60%的訓練數據,20%的交叉驗證數據和20%的測試數據。在這種情況下,我沒有看到CV精確度與測試精度不同的原因。如果您當前的培訓數據與您的測試數據不是同一來源,那麼的確的確會產生糟糕的結果。 – 2013-03-03 10:06:32

+0

非常感謝您的回覆。我的問題是我得到TP,TN,FP,FN的錯誤值。 – begum 2013-03-03 17:03:42