解决AttributeError: ‘DictVectorizer’ object has no attribute ‘get_feature_names’
在当前版本的 scikit-learn 中,DictVectorizer类已经没有get_feature_names方法了。如果你想要获取转换后的特征名,可以通过以下方式来替代:
使用get_feature_names_out方法来获取转换后的特征名,以替代旧版本中的get_feature_names方法
from sklearn.feature_extraction import DictVectorizer
def dict_demo():
# 获取数据
data = [{'city':'北京','temperature':100},
{'city':'上海','temperature':60},
{'city':'广州','temperature':30}]
# 字典特征提取
# 实例化
transfer = DictVectorizer(sparse=False)
# 转换
new_data = transfer.fit_transform(data)
print(new_data)
# 获取具体属性名
feature_names = transfer.get_feature_names_out()
print("属性名:\n", feature_names)