我试图弄清楚是否可以同时使用min_df
,max_df
和max_features
作为Scikit.Sklearn中TfidfVectorizer类的参数。我完全理解他们每个人的目的。
我已将数据传递给TfidfVectorizer(),修复了min_df = 0.05
和max_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,但是我看不到。
有人知道发生了什么吗?
答案 0 :(得分:-1)
我试图用max_features=100, min_df=0.05, max_df= 0.95
复制它,结果是<11858x100 sparse matrix of type '<class 'numpy.float64'>'
,所以它按预期工作。检查您是否使用通过max_features
创建的矢量化器来拟合数据。
如果您可以提供代码,则可以更轻松地确定问题所在。