簡體   English   中英

使用拆分表與完全獨立的表(CreateML,Swift)時,評估准確度不同

[英]Evaluation Accuracy is Different When Using Split Table Versus Completely Separate Table (CreateML, Swift)

我正在使用CreateML和Swift創建表格分類模型。 我使用的數據集總共有大約300個項目,以及大約13個不同的功能。 我嘗試過以兩種方式訓練/測試我的模型, 結果出乎意料地完全不同

1)從原始完整數據集中隨機分割我的訓練和評估數據表:

let (classifierEvaluationTable, classifierTrainingTable) = classifierTable.randomSplit(by: 0.1, seed: 4)

我使用.1分割數和4種子數進行了一些比較,但結果已經到位:在某些情況下可能是33%或80%的評估准確度。 (在這種情況下,我獲得了78%的訓練准確率,83%的驗證准確率, 75%的評估准確率 。)

2)我手動從原始數據集中取出10個項目並將它們放入一個新的數據集中以便稍后進行測試。 然后,我從用於培訓的300項數據集中刪除了這些項目。 當我測試這10個項目時,我的評估准確率達到96% (在這種情況下,我獲得了98%的訓練准確率,71%的驗證准確率,96%的評估准確率。)

我想知道為什么會有這么大的差異? 哪種閱讀應該被視為更現實和可信? 有什么我可以做任何模型來提高准確性和可信度嗎? 另外:我對於不同的准確度測量意味着什么以及我應該如何解釋它們(培訓,驗證,評估)感到困惑?

謝謝。

訓練/驗證准確性的含義是,如果后者低於前者,則您的模型過度擬合,即過於適應訓練集並且無法正確推廣。

所以你的第一個案例取得了良好的結果,第二個案例產生了不好的結果。

當您為模型提供的新(未見)數據在某些方面(可能通過預處理或可能通過將其添加到訓練集並重新訓練模型)解決時,評估准確性較低。

在第二種情況下,您的模型嚴重過度擬合,並且從訓練集中取出10個項目,因此它們沒有實質性的差異,這顯然給您高評估准確性。 所以這是一個相當無用的測試。

目前尚不清楚第一種情況下您在哪里獲得評估准確性測試的數據。

TL; DR:第一種情況是好的結果,第二種是不好的結果。 如果對新數據進行測試會產生過低的評估准確度,那么數據可能會在質量上有所不同。

然而另一種說法是:如果驗證准確度低於訓練准確度,那么你的模型在數量上是不好的(過度擬合); 如果您的評估准確性較低,那么您的模型在質量上是不合適的/不適合您打算使用它的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM