Aaaao. 2022-02-22 22:19 采纳率: 100%
浏览 280
已结题

Python sklearn fit_transform()函数报错

问题遇到的现象和发生背景

在文本主题建模的过程中出现了报错

问题相关代码:
for time in ['#B4','#C5','#C8','#D6','D23','D24']:
    
    raw_data=''
    for file in files:
        if re.match(str(time),file):
            with open(os.path.join(path,file), 'r',errors='ignore') as f:
                raw_data=raw_data+'#'+f.read()
                f.close()

    data=raw_data.split('#')

    data_vectorized = vectorizer.fit_transform(data)
 
    # Build a Latent Dirichlet Allocation Model
    lda_model = LatentDirichletAllocation(n_components=NUM_TOPICS, max_iter=10, learning_method='online')
    lda_Z = lda_model.fit_transform(data_vectorized)
 
    # Build a Non-Negative Matrix Factorization Model
    nmf_model = NMF(n_components=NUM_TOPICS)
    nmf_Z = nmf_model.fit_transform(data_vectorized)
 
    # Build a Latent Semantic Indexing Model
    lsi_model = TruncatedSVD(n_components=NUM_TOPICS)
    lsi_Z = lsi_model.fit_transform(data_vectorized)

    print_topics(lda_model, vectorizer)
    print_topics(nmf_model, vectorizer)
    print_topics(lsi_model, vectorizer)
    print(time)

运行结果及报错内容
#B4
#C5
#C8
#D6
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/var/folders/85/h9zn7p197rv7q9qq734vvvsr0000gn/T/ipykernel_4497/1169374454.py in <module>
     10     data=raw_data.split('#')
     11 
---> 12     data_vectorized = vectorizer.fit_transform(data)
     13 
     14     # Build a Latent Dirichlet Allocation Model

~/opt/anaconda3/lib/python3.9/site-packages/sklearn/feature_extraction/text.py in fit_transform(self, raw_documents, y)
   1342             )
   1343             if max_doc_count < min_doc_count:
-> 1344                 raise ValueError("max_df corresponds to < documents than min_df")
   1345             if max_features is not None:
   1346                 X = self._sort_features(X, vocabulary)

ValueError: max_df corresponds to < documents than min_df

问题所在:

看不懂报错,不知道怎么解决

  • 写回答

1条回答 默认 最新

  • Aaaao. 2022-02-23 15:08
    关注

    发现问题了,修改关键词"D23""D24"为“#D23”“#D24”,解决。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月23日
  • 已采纳回答 2月23日
  • 创建了问题 2月22日

悬赏问题

  • ¥150 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装