2013-10-08 186 views
0

假設我有一個連續輸出值在相同範圍內的四類問題。 (假設在10-50之內)。如果我將所有的班級數據(訓練數據)放在一個單獨的.csv文件(對於WEKA)中,每個訓練樣本都有連續的輸出......那麼我的迴歸模型將如何告訴我輸出(連續)獲得的是哪一類?我想同時對多類輸入數據進行量化WEKA中的多類迴歸

+0

你似乎用一些錯誤的詞來形容你的問題。如果你有**迴歸**比你沒有**類**,類是**分類**(有限數量的輸出值 - class ID)的元素。你只是在處理多維迴歸。 – lejlot

+0

我知道分類和迴歸的區別(實際上我經常做這些問題),但我有四種類型的數據。通過這種方式,我想對四類(類型)數據執行迴歸。我想混合數據集,然後用它訓練迴歸模型,然後預測給定數據集的四個類中的任何一個的連續輸出......就像我們在多類分類問題中一樣。 (我知道輸出將是連續的)我實際上想要對不同類型的數據同時進行迴歸 – sunny

+0

它似乎還是錯誤的 - 它與多維迴歸有何不同,它對於每個輸入都有一個實際向量? – lejlot

回答

0

我現在仍然完全確定你的問題,但我假設你有四個數據集,每個數據集都有一個迴歸問題,並且你想執行對累積數據集進行迴歸,並期望該模型不僅可以恢復迴歸值,還可以回收「來源」。

  1. 在天真的實現(只是串聯數據),它是不可能,因爲你將失去有關數據的sourece
  2. 你可以增加產值的任何信息,因此,而不只是「Y」 (迴歸值),您還添加了另一個值,指示它來自哪個集合,例如:

Set1: 
x11 -> y11 

Set2: 
x21 -> y21 

Set3: 
x31 -> y31 

Set4: 
x41 -> y41 

將其轉換爲

Big set: 
x11 -> (y11,1) 
x21 -> (y21,2) 
x31 -> (y31,3) 
x41 -> (y41,4) 

還是以一元譯碼

Big set: 
x11 -> (y11,1,0,0,0) 
x21 -> (y21,0,1,0,0) 
x31 -> (y31,0,0,1,0) 
x41 -> (y41,0,0,0,1) 

這樣,一旦你訓練不僅可以檢索迴歸價值,而且源數據集(其中你稱之爲「班級」)。

當然,最簡單的解決方案是建立兩個獨立的模型,一個用於迴歸,一個用於分類,這樣您可以使用爲這些任務設計的模型(同時使用一個模型需要選擇一些次優解決方案至少一部分)。

Big set regression: 
x11 -> y11 
x21 -> y21 
x31 -> y31 
x41 -> y41 

Big set classification: 
x11 -> 1 
x21 -> 2 
x31 -> 3 
x41 -> 4 

的問題是否有利於創造這樣的「大集」,而不是在小的工作相當於回答的問題:

Wheter正在迴歸價值具有非常相似每個子問題中的預測變量

所以 - 如果你有合理的理由,那麼在每個子問題中,這個特徵可以以類似的方式派生(因爲它對應於一些物理現象獨立於你的數據分割)是的,這是一個好方法。儘管只有在訓練集非常有限的情況下才應採取這些步驟 - 如果給出足夠的數據,最好假設每個子問題具有不同的特徵以防止模型偏差。最後,「最終」的答案是「檢查兩種方法並評估它們的表現會更好」(例如使用交叉驗證),這也可以讓你瞭解這個值是否真的在子集中是獨立的。

+0

感謝lejlot爲您的答案...實際上,我正在關注您提到的第二個選項,但是我確實想要提供第一個選項......在WEKA GUI中,我無法對累積數據集執行迴歸。 ..我應該嘗試使用命令提示符嗎? – sunny

+0

並且是...被倒退的值在每個子問題中都有非常相似的預測變量......在我的案例中 – sunny

+0

一旦您將數據轉換爲所描述的格式,無論您使用何種工具 - WEKA都會加載該增強數據,但是你必須自己擴充/轉換它,因爲它是非常不尋常的數據處理。 – lejlot