1. 程式人生 > >文字分類——怎麼評價訓練出的分類模型?

文字分類——怎麼評價訓練出的分類模型?

模型的評價就是對模型的準確性和覆蓋性的評價。 1. 當然最保險的方法是抽取大量預測例項,進行人工校對。原因是第1實際應用中沒有太多的標註測試集可用。第2當預測的例項類別分佈不均衡時,很可能導致評價出的結果不能反映真實的準確性。 2. 使用交叉驗證除錯模型。交叉驗證只適用在模型的訓練階段,也就是說要把語料分成3部分,第1部分作為訓練集用來訓練模型;第2部分作為驗證集用來除錯模型;第3部分作為測試集用來評價模型的泛化能力。交叉驗證結束後,會選出一個準確性最高的模型。 3. 使用準確率和召回率來評價模型。這一部分是在測試集或隨機抽取的預測例項上做的。

  • 交叉驗證
  • 模型準確率與召回率

交叉驗證

  1. 簡單交叉驗證 首先隨機地將已給資料分為兩部分,一部分作為訓練集,另一部分作為驗證集;然後用訓練集在各種條件下訓練模型,從而得到不同的模型;在測試集上評價各個模型的測試誤差,選出測試誤差最小的模型。
  2. S折交叉驗證 首先隨機地將已給資料切分為S個互不相交的大小相同的子集;然後利用S-1個子集的資料訓練模型,利用餘下的子集測試模型;將這一過程對可能的S種選擇重複進行;最後選出S次評測中平均測試誤差最小的模型。
  3. 留一交叉驗證 S折交叉驗證的特殊情形是S=N,N是給定資料集的容量,稱為留一交叉驗證。

模型準確率和召回率

準確率和召回率針對不同的應用場景可以使用不同的定義方法。準確率主要側重描述模型預測結果的準確性。召回率側重描述模型正確預測了多少測試集中的資料,主要關注的是模型的覆蓋性。

準確率=正確預測樣本數量/測試集樣本總量 召回率=正確預測樣本數量/模型給出預測結果的樣本數量 召回率(某一個類別i)=在類別i下的正確預測的樣本數量/類別i下的樣本總量

準確率描述了模型進行預測時的準確性。而不在意模型預測的覆蓋效能。比如一個商品分類模型,測試集中含有1000個樣本,經過模型後,只對100個樣本給出了預測類別,雖然經過人工校對這100個樣本的預測結果都是正確的,模型準確率是100%,但是剩下的900個樣本都沒有給出預測結果,也就是說剩下的900個樣本的類別,這個模型都沒有覆蓋到。召回率太低了。召回率描述了模型對於測試集樣本的覆蓋率。