-1

我正在使用sklearn爲Kaggle上的文本分類競賽實施邏輯迴歸模型。即使在sklearn中使用交叉驗證也能進行邏輯迴歸過度裝配?

  1. 當我使用unigram時,有23,617個特徵。最好的mean_test_score交叉驗證搜索(sklearn的GridSearchCV)給了我類似於我從Kaggle得到的分數,使用最好的模型。

  2. 如果我使用bigram,則有1,046,524個特徵。 GridSearchCV與單元相比,給我更好mean_test_score,但是使用這個新模型我在Kaggle上得分低得多。

我想可能是因爲我有太多的功能過於合適的原因。我試圖設置GridSearchCV使用5倍,甚至2倍,但分數仍然不一致。

這是否真的表明我的第二個模型是過度擬合,即使在驗證階段?如果是這樣,我如何使用sklearn調整我的邏輯模型的正則化術語?任何建議表示讚賞!

+0

無論誰喜歡,請添加您的評論。所以我可以在未來提出更好的問題。 –

回答

1

假設你正在使用sklearn。您可以嘗試使用調整參數max_dfmin_dfmax_features。將這些引入GridSearch可能需要很長時間,但您可能會收到一些有趣的結果。我知道這些功能在sklearn.feature_extraction.text.TfidfVectorizer中實現,但我確定他們在別處也使用它們。基本上這個想法是,包含太多的克可能會導致過度配合,同樣的情況下,文件頻率過高或過低。

+0

你知道爲什麼'mean_test_score'在交叉驗證搜索中很不錯嗎?那是因爲在進入驗證子集之前發生過度擬合? –

相關問題