如何将特征管道从 scikit-learn V0.21 移植到 V0.24
How to port feature pipeline from scikit-learn V0.21 to V0.24
我正在尝试将在 scikit-learn V0.21 中训练的 sklearn 特征管道移植到 scikit-learn V0.24,因为我没有原始特征数据来再次训练管道。如果我使用新数据,特征维度和位置可能与以下模型不同,因为我在管道中有 DictVectorizer。
我尝试使用 pickle 和 joblib 在 V0.21 中序列化管道,然后在 V0.24 中反序列化它.不幸的是,在这两种情况下,代码在加载 V0.24 时都引发了 ModuleNotFoundError: No module named 'sklearn.feature_extraction.dict_vectorizer'
错误。
我分别使用 V0.21 和 V0.24 使用相同的代码创建了管道。打印出来时,它们显示出一些细微差别。
在 V0.21 中
Pipeline(memory=None,
steps=[('selector', ItemSelector(key='hsd_feature_map')),
('dv1',
DictVectorizer(dtype=<class 'numpy.float64'>, separator='=',
sort=True, sparse=False)),
('tfidf',
TfidfTransformer(norm='l2', smooth_idf=True, sublinear_tf=True,
use_idf=True)),
('max', MaxAbsScaler(copy=True))],
verbose=False)
在 V0.24 中
Pipeline(steps=[('selector', ItemSelector(key='hsd_feature_map')),
('dv1', DictVectorizer(sparse=False)),
('tfidf', TfidfTransformer(sublinear_tf=True)),
('max', MaxAbsScaler())])
我想知道是否可以将特征管道或其参数从 scikit-learn V0.21 转移到 V0.24。
从 sklearn 版本 0.22.X DictVectorizer
导入已更改
来自
sklearn/feature_extraction/dict_vectorizer.py
至
sklearn/feature_extraction/_dict_vectorizer.py
我认为您可以根据此
覆盖 DictVectorizer
导入
我正在尝试将在 scikit-learn V0.21 中训练的 sklearn 特征管道移植到 scikit-learn V0.24,因为我没有原始特征数据来再次训练管道。如果我使用新数据,特征维度和位置可能与以下模型不同,因为我在管道中有 DictVectorizer。
我尝试使用 pickle 和 joblib 在 V0.21 中序列化管道,然后在 V0.24 中反序列化它.不幸的是,在这两种情况下,代码在加载 V0.24 时都引发了 ModuleNotFoundError: No module named 'sklearn.feature_extraction.dict_vectorizer'
错误。
我分别使用 V0.21 和 V0.24 使用相同的代码创建了管道。打印出来时,它们显示出一些细微差别。
在 V0.21 中
Pipeline(memory=None,
steps=[('selector', ItemSelector(key='hsd_feature_map')),
('dv1',
DictVectorizer(dtype=<class 'numpy.float64'>, separator='=',
sort=True, sparse=False)),
('tfidf',
TfidfTransformer(norm='l2', smooth_idf=True, sublinear_tf=True,
use_idf=True)),
('max', MaxAbsScaler(copy=True))],
verbose=False)
在 V0.24 中
Pipeline(steps=[('selector', ItemSelector(key='hsd_feature_map')),
('dv1', DictVectorizer(sparse=False)),
('tfidf', TfidfTransformer(sublinear_tf=True)),
('max', MaxAbsScaler())])
我想知道是否可以将特征管道或其参数从 scikit-learn V0.21 转移到 V0.24。
从 sklearn 版本 0.22.X DictVectorizer
导入已更改
来自
sklearn/feature_extraction/dict_vectorizer.py
至
sklearn/feature_extraction/_dict_vectorizer.py
我认为您可以根据此
DictVectorizer
导入