我正在尝试保存DataFramMapper
对象以用于模型的新数据。
mapper = DataFrameMapper([
(['price', 'Argentina', 'Canada', 'Australia', 'barcat_numeric'], None),
('TTL',CountVectorizer( ngram_range=(1, 2))),
('BARCAT', CountVectorizer( ngram_range=(1, 2)))
])
with open('company_dill.pkl', 'wb') as f:
dill.dump(mapper, f)
当我读到数据时:
with open('company_dill.pkl', 'rb') as f:
mapper_v = dill.load(f)
print(type(mapper_v))
输出是:
但是当我尝试使用它时,我得到:
---> 20 X = mapper.transform(data_frame)
21 return X
C:\Users\eliav\Anaconda3\lib\site-
packages\sklearn_pandas\dataframe_mapper.py in transform(self, X)
269 extracted = []
270 self.transformed_names_ = []
--> 271 for columns, transformers, options in self.built_features:
272 input_df = options.get('input_df', self.input_df)
273 # columns could be a string or list of
TypeError: 'NoneType' object is not iterable
当我不保存到pickle它工作正常,同时使用pickle
和dill