每当我致电transform
时,它都会一直给我以下错误:
AttributeError:'DictVectorizer' object has no attribute 'feature_names_'
这是函数调用:
vec = DictVectorizer()
x_test = vec.transform(X_features)
我的python版本是2.7,Scipy 0.16.0
,numpy 1.9.2+mkl
,scikit-learn 0.16.1
。
答案 0 :(得分:6)
这意味着,在将DictVectorizer
转换为相应的矩阵格式之前,X_features
尚未适合。
您需要致电vec.fit(X_features)
,然后致电vec.transform(X_features)
,或者更简洁地X_test = vec.fit_transform(X_features)
。 DictVectorizer
需要知道所有传递的字典的键,以便不可见数据的转换始终产生相同数量的列和列顺序。