我已經和Weka一起工作了一段時間,在我的研究中,我發現很多代碼示例都使用測試和訓練集。例如,使用離散化和貝葉斯網絡,他們的例子幾乎總是用測試和訓練集顯示。我可能在這裏錯過了對數據處理的一些基本理解,但我不明白爲什麼這似乎總是如此。我在一個項目中使用離散化和貝葉斯網絡,對於他們兩個,我沒有使用測試或訓練集,也沒有看到爲什麼我需要。我在BayesNet上進行交叉驗證,所以我正在測試它的準確性。我誤解了什麼測試和訓練集用於?哦,請使用最簡單的術語;我對數據處理世界還不是很有經驗。何時使用Weka的測試和訓練集?
回答
培訓和測試集背後的想法是測試概括性錯誤。也就是說,如果只使用一個數據集,只需簡單地學習這個集合就可以達到完美的精確度(這是最近鄰分類器所做的,Weka中的IBk
)。一般而言,這不是您想要的 - 機器學習算法應該學習您給出的示例數據背後的一般概念。測試這種情況的一種方式是使用單獨的數據進行培訓和測試。
如果您使用的是交叉驗證,那麼您正在使用單獨的培訓和測試集。這只是將整個數據集劃分爲訓練和測試的一種方式。例如,如果您進行10次交叉驗證,則您的整個數據將被劃分爲10組大小相等的數據。其中9個被組合並用於訓練,剩下的一個用於測試。然後重複這個過程,並結合九個不同的訓練集合等等,直到所有十個單獨的分區都將被用於測試。
因此,訓練/測試集和交叉驗證在概念上是做同樣的事情,交叉驗證通過對整個數據集進行平均來簡單地採取更嚴格的方法。
培訓數據是指用於「構建模型」的數據。例如,它使用算法J48(樹分類器)對實例進行分類,訓練數據將用於生成代表「學習概念」的樹,該概念應該是概念的概括。這意味着學習規則,生成樹,調整後的神經網絡,或其他任何;將能夠獲得新的(看不見的)實例並將其正確分類(「學習概念」不依賴於培訓數據)。
測試集是將用於測試模型是否正確學習概念(它獨立於訓練數據)的數據的百分比。
在WEKA中,您可以執行將數據集分解爲trainig數據(在J48的情況下構建樹)和測試數據(測試模型以確定概念已被學習)的執行。例如,您可以將60%的數據用於培訓,40%用於測試(確定需要多少數據進行培訓和測試是數據挖掘的關鍵問題之一)。
但我建議您快速查看交叉驗證,這是一種在WEKA中實施的穩健測試方法。這裏已經很好地解釋了: https://stackoverflow.com/a/10539247/1565171
如果您還有其他問題,請發表評論。
- 1. 使用StratifiedRemoveFolds示例在weka中創建訓練和測試集
- 2. R訓練和測試集
- 3. Weka中的訓練和測試集不兼容
- 4. 在weka中使用均衡訓練集
- 5. Weka例外:訓練和測試文件不兼容
- 6. PROC glmselect訓練和測試
- 7. 的R - 計算測試MSE給出從訓練集訓練模型和測試集
- 8. 如何將文檔分割爲訓練集和測試集?
- 9. 如何修復測試,並使用MATLAB的SVM訓練集?
- 10. 如何在Apache Spark中訓練Matrix分解模型MLlib的ALS使用訓練,測試和驗證數據集
- 11. IndexOutOfBoundsException當試圖添加更多的實例使用Weka的訓練集
- 12. 用MAHOUT測試和訓練不同的數據集
- 13. 使用預測模型和TunePareto包測試和訓練數據集
- 14. 在Postgres中將數據集分成訓練和測試集
- 15. Pyspark - 從數據框創建訓練集和測試集
- 16. WEKA的多層感知器:訓練然後再訓練
- 17. Weka中說,「訓練和測試集不兼容」時,兩者是相同的文件
- 18. 雙向LSTM(BLSTM)的訓練,測試和驗證集
- 19. 1)從整個訓練集中訓練CNN和2)訓練集中的訓練集,然後是整個訓練集之間的區別是什麼?
- 20. 如何將訓練數據轉換爲weka分類器的測試數據?
- 21. removeSparseTerms培訓和測試集
- 22. 在R中創建訓練和測試數據集
- 23. 在Pandas中創建訓練和測試數據集
- 24. 經常性神經網絡訓練和測試集
- 25. 什麼是訓練和測試數據集
- 26. 如何在caffe中訓練/測試我自己的數據集?
- 27. 如何在使用Caffe訓練時獲得訓練錯誤?
- 28. 訓練數據集羣的BOW預測
- 29. Weka分類與訓練集中移除的實例
- 30. 如何使用liblinearutil包來訓練和預測python中的測試文件?
相當古老的問題,但有關於此問題。因此,如果我有培訓,開發和測試集,WEKA的發展角色是什麼?我如何在WEKA中使用我的開發集? – KillBill
不確定你的意思是「開發集」。你通常會有訓練,測試和驗證集。 –