sklearn feature.Extraction 'DictVectorizer' 对象没有属性 'feature_names_'

sklearn feature.Extraction 'DictVectorizer' object has no attribute 'feature_names_'

每当我调用 transform 它总是给我以下错误:

AttributeError:'DictVectorizer' object has no attribute 'feature_names_'

这是函数调用:

vec = DictVectorizer()
x_test = vec.transform(X_features)

我的python版本是2.7,Scipy 0.16.0numpy 1.9.2+mklscikit-learn 0.16.1

这意味着 DictVectorizer 在将 X_features 转换为相应的矩阵格式之前未安装。

您需要调用 vec.fit(X_features),然后调用 vec.transform(X_features),或者更简洁地调用 X_test = vec.fit_transform(X_features)DictVectorizer 需要知道所有传递的字典的键,以便对看不见的数据进行转换始终产生相同的列数和列顺序。