【问题标题】:Use at the same time min_df, max_df and max_features in Scikit TfidfVectorizer在 Scikit TfidfVectorizer 中同时使用 min_df、max_df 和 max_features
【发布时间】:2019-03-06 12:06:14
【问题描述】:

我想弄清楚我是否可以同时使用 min_dfmax_dfmax_features 作为来自 Scikit.Sklearn 的 TfidfVectorizer 类的参数。我完全理解他们每个人的用途。

我已将数据传递给 TfidfVectorizer() 修复 min_df = 0.05max_df = 0.95 这意味着出现在我的文档中不到 5% 的术语被忽略,并且与出现在我超过 95% 的文档中的术语相同(如解释 Understanding min_df and max_df in scikit CountVectorizer)。

像这样,我的数据,在做 TF-IDF 后有 360 列。但是,这太多了,所以我想设置max_features = 100。但是,当我在转换后打印新数据的形状时,我仍然得到 360 列,而不是我应该得到的 100 列。

我还尝试仅修复 max_features = 100 以检查如果没有其他参数,它是否只会返回 100 列,但它没有,它实际上有 952 列。我阅读了文档,它说这个参数应该返回最高的 max_features,但是我无法观察到这一点。

有人知道发生了什么吗?

【问题讨论】:

    标签: python machine-learning scikit-learn nlp


    【解决方案1】:

    我试图用max_features=100, min_df=0.05, max_df= 0.95 复制它,结果是<11858x100 sparse matrix of type '<class 'numpy.float64'>',所以它按预期工作。检查您是否使用使用max_features 创建的矢量化器来拟合数据。

    如果您可以提供您的代码,则可能更容易识别问题。

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 2018-12-14
      • 2018-02-17
      • 2017-02-11
      • 2015-08-30
      • 2018-01-23
      • 1970-01-01
      • 2017-06-23
      相关资源
      最近更新 更多