如何解决'CountVectorizer'对象无'get_feature_names'属性的AttributeError
修复CountVectorizer的AttributeError问题
错误原因
scikit-learn 1.0及以上版本中,CountVectorizer的get_feature_names()方法已被移除,替换为get_feature_names_out()方法,直接调用旧方法会触发属性不存在的错误。
修复方案
直接将代码中的get_feature_names()替换为get_feature_names_out()即可,这是官方推荐的适配新版本的方式。
修改后的完整代码
# 创建CountVectorizer实例 cv = CountVectorizer() # 拟合并转换文本数据 X = cv.fit_transform(df['lemmatized_text']).toarray() # 获取特征名称(使用新版本API) features = cv.get_feature_names_out() # 将词袋特征转换为DataFrame df_bow = pd.DataFrame(X, columns=features)
额外说明
如果需要兼容旧版本scikit-learn(低于1.0),可以先通过以下代码查看当前版本:
import sklearn print(sklearn.__version__)
若版本低于1.0,get_feature_names()可正常使用;若版本≥1.0,必须使用get_feature_names_out()。
内容的提问来源于stack exchange,提问作者Jishnu Janardhanan
相关产品推荐
相关产品推荐

