2016-06-26 52 views
0

在weka中運行SMO分類器時,如果我已將我的訓練標籤輸入爲0和5(二元集),然後在運行分類器模型時測試數據,輸出是0到5之間的一些十進制數值,在後一步明確分類爲兩個二進制標籤,還是沒有中間十進制數值?獲取SMO分類的確切輸出值,然後將其明確劃分爲類別

如果它們存在,如何獲得這些中間十進制值? (例如,在上述模型中,smo/svm分類器是否在給定範圍內分配值,如1,2,3和4或其他一些十進制/浮點值,然後將這些值合適地分組到0和5個價值等級)。

回答

1

分類中沒有「標籤值」的概念。標籤只是一個標識符,而不是可比較的對象,它被分配給問題中的特定實例。 「0」和「5」也可以是「獅子」和「大象」。特別是對於SVM(WEKA通過讓人們稱SVM爲SMO而使科學界做了一件可怕的事情,僅僅是因爲這裏面使用瞭解算器算法......),每個標籤都被轉換成「-1」和「 +1" 。在內部,SVM確實有一個支持的概念,因爲它會線性地投影你的數據點,從而從整個R(-inf,+ inf)獲得一個值,並根據符號分配標籤。這在很粗略的意義上說是一種模型的確定性(不過沒有以任何可能的方式進行校準,因此「0.01」並不意味着除了「小於0.02」之外的任何其他指標,但我們甚至不能說0.01比不確定性0.02點,因爲有這些價值的合理比例。

在「純」秧雞有classifier.distributionForInstance()返回這些值。在classify選項卡上秧雞資源管理器,點擊More options...並勾選Output predictions得到它們。

+0

如果我在分類器中有兩個類的輸入,那麼輸出預測只會提供更接近分離SVM超平面的點的值嗎?我的分類器se ems只給出0.444,0.555的數值,而不是0. – codeninja

+1

它應該提供所有點的數值 – lejlot