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

2021-08-28 04:02:57 字數 1060 閱讀 5972

模型的評價就是對模型的準確性和覆蓋性的評價。

1. 當然最保險的方法是抽取大量**例項,進行人工校對。原因是第1實際應用中沒有太多的標註測試集可用。第2當**的例項類別分布不均衡時,很可能導致評價出的結果不能反映真實的準確性。

2. 使用交叉驗證除錯模型。交叉驗證只適用在模型的訓練階段,也就是說要把語料分成3部分,第1部分作為訓練集用來訓練模型;第2部分作為驗證集用來除錯模型;第3部分作為測試集用來評價模型的泛化能力。交叉驗證結束後,會選出乙個準確性最高的模型。

3. 使用準確率和召回率來評價模型。這一部分是在測試集或隨機抽取的**例項上做的。

簡單交叉驗證

首先隨機地將已給資料分為兩部分,一部分作為訓練集,另一部分作為驗證集;然後用訓練集在各種條件下訓練模型,從而得到不同的模型;在測試集上評價各個模型的測試誤差,選出測試誤差最小的模型。

s折交叉驗證

首先隨機地將已給資料切分為s個互不相交的大小相同的子集;然後利用s-1個子集的資料訓練模型,利用餘下的子集測試模型;將這一過程對可能的s種選擇重複進行;最後選出s次評測中平均測試誤差最小的模型。

留一交叉驗證

s折交叉驗證的特殊情形是s=n,n是給定資料集的容量,稱為留一交叉驗證。

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

準確率=正確**樣本數量/測試集樣本總量

召回率=正確**樣本數量/模型給出**結果的樣本數量

召回率(某乙個類別i)=在類別i下的正確**的樣本數量/類別i下的樣本總量

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

高效的文字分類

文字分類任務是自然語言處理中重要的任務之一,近來,神經網路的使用變得更為普遍,神經網路在文字分類任務中表現更好,但是在訓練和測試時間比較慢,限制了在大型語料庫中的使用。與此同時,線性分類器在文字分類器中被認為是一種很好的baseline,儘管他們很簡單,但當正確的特徵被使用時,經常能夠得到很好的表現...

實現文字分類的過程

資料集的預處理 去停用詞,過濾標點,空格分隔並去掉標點,大小寫統一等 詳細請參考 將原始資料轉換為特徵向量,為了從資料集中選出重要的特徵,有以下幾種方式 特徵工程詳情請見 詞嵌入作為特徵 基於文字 nlp的特徵 主題模型作為特徵 樸素貝葉斯分類器 線性分類器 支援向量機 淺層神經網路 深層神經網路 ...

文字分類的基本流程

author fuguizen email fuguizen596 163.com time 2020 3 8 13 51 from sklearn.feature extraction.text import countvectorizer,tfidftransformer,tfidfvector...