做文本分類的時候,我使用Scikit.
這裏開發一個垃圾郵件過濾器是我遵循的步驟:我需要標準化數據Scikit
擴展數據= ["This is spam" , "This is Ham" , "This is spam again"]
Matrix
=Countvectorizer (XData)
。矩陣將包含所有文檔中每個單詞的計數。所以Matrix [i] [j]會給我計數字j
在文檔中i
Matrix_idfX
=TFIDFVectorizer(Matrix)
。它會使得分數正常化。Matrix_idfX_Select
=SelectKBest(Matrix_IdfX , 500)
。它將矩陣減少到500分的最好成績列Multinomial.train(Matrix_Idfx_Select)
現在我的問題,我需要在任何以上四個步驟進行正常化或標準化?如果是,那麼在哪一步之後,爲什麼?
感謝
如果我使用二進制那麼我應該使用bernaulli然後多項分類..右邊? – voila
不,你應該使用伯努利,如果你有短文本 –