调用TfidfVectorizer的get_feature_names_out报属性不存在错误怎么办
报错原因
get_feature_names_out 是scikit-learn 1.0及更高版本才新增的API,你当前环境安装的scikit-learn版本低于1.0,不存在该方法,因此调用时会触发AttributeError报错。
版本验证方法
执行以下命令查看当前scikit-learn的安装版本:
pip show scikit-learn
若返回结果中Version字段的数值小于1.0.0,即可确认报错由版本过低导致。
解决方案
有两种适配方案可选:
- 方案1:升级scikit-learn版本
直接执行升级命令,即可适配你现有代码的写法:
若使用conda管理环境,执行对应命令:pip install --upgrade scikit-learnconda update scikit-learn - 方案2:替换为旧版本兼容API
如果不方便升级现有环境,只需将代码中调用get_feature_names_out的行,替换为旧版本支持的get_feature_names方法即可,修改后的代码如下:feature_names = vectorizer.get_feature_names()
内容的提问来源于stack exchange,提问作者MheadHero
相关产品推荐
相关产品推荐

