我想獲得我用於項目的二元(好/壞)分類器的ROC曲線。該分類器使用遺傳算法進行預測。如何獲得繪製遺傳算法分類器ROC曲線的分數?
E.g.據說[1.0,0.5,0.4,0.7]給出的測試染色體如果與另一個染色體相匹配則被認爲是好的,例如[0.8,0.5,0.3,0.6]。通過匹配,我的意思是Euclidean distance值(來自其他染色體)低於特定值。
我已經完成了600個實例的分類,並且我有最終的混淆矩陣(通過這個矩陣我的意思是我們可以計算最終的TPR和FPR的四值表),正確的分類標籤每個實例以及每個實例的所有預測。
我看了一下ROC曲線本文檔,Receiver operating characteristic和Tools for Machine Learning Performance Evaluation: ROC Curves in Python。我如何繼續獲取ROC曲線?
隨着我最後的四值表,我想我只能繪製曲線中的一個點。上面附加的鏈接不斷提到我需要一個分數(即概率分數),但我不知道如何才能將這個分配給遺傳算法。但是,我如何使用每個實例的預測知識來創建一種連續的ROC曲線?免責聲明:我是ROC的新手,我在Python中對它進行編碼 - 因此,我附加了與Python相關的ROC文檔。
ROC曲線是爲二元分類定義的 - 結果可以取兩個值。你有一個最小化問題,這不是ROC曲線的任務。 – Calimo
@Calimo,我沒有做最小化問題。它是一個二元分類。也就是說,如果一個實例與一個項目相匹配,那麼它就是正數。否則,它的消極。這不是二元分類嗎?我認爲你誤解了我所談論的內容:「如果距離低於某個程度......這只是一個匹配的標準,以確定何時說出否定或肯定的答案。我的模型非常利用GA的一種修改形式來執行一個任務(如分類),並沒有真正使用遺傳算法來執行最小化或最大化問題 – obiigbe91
否這不是二元分類的定義,二元分類是當你給兩個組中的一個或另一個分配一個觀察時,那麼你檢查分配是否正確在這裏,你有兩個以上的染色體,因此它不是二元分類 – Calimo