Machine-Learning
什麼是創建保留集更合適的方法:刪除一些主題或刪除每個主題的一些觀察?
我有一個包含 26 個特徵和 31000 行的數據集。它是 38 個主題的數據集。它適用於生物識別系統。所以我希望能夠識別主題。
為了有一個測試集,我知道我必須刪除一些值。
那麼做什麼更好,為什麼?
- (a) 保留 30 個主題作為訓練集,移除 8 個主題作為測試集
- (b) 保留 38 個科目,但刪除每個科目的一些行。所以最後我會得到一個訓練集:24800 行 38 個科目和一個測試集:6200 行 38 個科目
我認為 Matthew Gunn 的回答是正確的,但在我看來,“記錄明智”的簡歷可以涵蓋兩個不同的概念:
- 無論主題或時間如何,記錄都被隨機劃分為多個折疊。
- 記錄被劃分為基於時間的折疊,沒有折疊用於包含測試折疊開始之後的數據的訓練。
在第一種情況下,數據的任何時間序列性質都會受到影響,因為您的訓練集可以包含測試集之前和之後的數據。訓練/測試的原理是訓練數據代表現在已知的數據,而測試數據代表尚未見過的數據(可能從字面上看來自未來)。
也許時間序列自相關會影響選項 #2。也許模型的時間元素並不重要,因此“過去”和“未來”的觀察結果可能是相同的。在這些情況下,#1或#2都不是要走的路。
如果只有季節性而沒有趨勢,似乎可以在某些科目的訓練中包含“未來”以預測新科目(他們將受到相同的季節性影響)。如果有趨勢,關於未來的培訓應該了解一些你在生產中使用模型時真的不知道的未來。
在 OP 的示例中,聽起來主題方面很好。但是,如果趨勢和時間序列問題是模型的一部分,我會嘗試使用基於主題和時間的分區,以便您在特定時間點之前對一組主題進行訓練,然後在之後對其他主題進行測試那個特定的時間點。