You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用CountVectorizer的get_feature_names()报AttributeError,求解决方案

解决CountVectorizer的get_feature_names/get_feature_names_out问题

1. 确认scikit-learn版本

get_feature_names_out()是scikit-learn 0.24.0及以上版本新增的方法,替代了已废弃的get_feature_names()。先检查版本是否达标:

import sklearn
print(sklearn.__version__)

若版本低于0.24,在当前工作环境中重新执行升级命令:

  • pip方式:pip install --upgrade scikit-learn
  • conda方式:conda update scikit-learn

2. 必须先拟合CountVectorizer

调用get_feature_names_out()前,需通过fit()或fit_transform()让模型学习语料特征,否则会触发异常。正确代码示例:

from sklearn.feature_extraction.text import CountVectorizer

# 示例语料
corpus = ["Hello world", "Hello stackoverflow", "Stackoverflow answers"]
vectorizer = CountVectorizer()

# 关键步骤:拟合语料
vectorizer.fit(corpus)
# 也可通过fit_transform同时生成词频矩阵并完成拟合
# X = vectorizer.fit_transform(corpus)

# 获取特征词列表
vocab = vectorizer.get_feature_names_out()
print(vocab)

3. 排查其他潜在问题

  • 若在Pipeline中使用,需确保整个Pipeline已完成fit()操作,再从vectorizer组件调用方法。
  • 检查是否误导入了其他同名Vectorizer类,确保使用的是sklearn.feature_extraction.text.CountVectorizer。

内容的提问来源于stack exchange,提问作者Elina Makipova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:37:02