logo
Loading...

CountVectorizer 的 max_features 建議值? - Cupoy

在作業中有一段程式碼是要我們自己決定 max_features,想請問一般在實務上有建議值的值來挑選...

CountVectorizer 的 max_features 建議值?

2021/01/20 下午 05:13
KNN 實作
Chi-Kang Su
觀看數:31
回答數:2
收藏數:0

在作業中有一段程式碼是要我們自己決定 max_features,想請問一般在實務上有建議值的值來挑選嗎? ```python from sklearn.feature_extraction.text import CountVectorizer #max_features是要建造幾個column,會按造字出現的高低去篩選 cv=CountVectorizer(max_features = "自行嘗試") X=cv.fit_transform(X).toarray() ```

回答列表

  • 2021/01/20 下午 05:43
    李柏霆
    贊同數:1
    不贊同數:0
    留言數:2

    **針對max_features的選擇** 有時轉換整個corpus效果並不好,因為數據中可能包含一些非常稀有的單詞,如果將全部單詞當作input ,可能會增加不必要的維度。比較好的做法是設置一個threshold 門檻,若出現頻率小於門檻就忽略它。舉例來說假設你將閾值設置為20,並且數據集由200個單詞組成。在查看單詞頻率後,有30個單詞的出現次數少於20次。這時,設置max_features=170就有很好的效果了。

  • 2021/01/23 上午 01:26
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,你好
    越高通常效果越好,但容易有 overfitting 的現象出現。實務上建議用 實驗或是 grid search 的方式找。

    嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook技術部落格 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ