Python 从pickle模型获取要素名称
我在拟合后对scikit学习模型进行了pickle处理,所以如果重新运行,我可以使用它进行预测,而无需再次拟合 在以下代码中:Python 从pickle模型获取要素名称,python,numpy,pandas,scikit-learn,Python,Numpy,Pandas,Scikit Learn,我在拟合后对scikit学习模型进行了pickle处理,所以如果重新运行,我可以使用它进行预测,而无需再次拟合 在以下代码中: # Load dataset iris = datasets.load_iris() X, y = iris.data, iris.target rf_feature_imp = RandomForestClassifier(100) feat_selection = SelectFromModel(rf_feature_imp, threshold=0.5) cl
# Load dataset
iris = datasets.load_iris()
X, y = iris.data, iris.target
rf_feature_imp = RandomForestClassifier(100)
feat_selection = SelectFromModel(rf_feature_imp, threshold=0.5)
clf = RandomForestClassifier(5000)
model = Pipeline([
('fs', feat_selection),
('clf', clf),
])
params = {
'fs__threshold': [0.5, 0.3, 0.7],
'fs__estimator__max_features': ['auto', 'sqrt', 'log2'],
'clf__max_features': ['auto', 'sqrt', 'log2'],
}
gs = GridSearchCV(model, params, ...)
gs.fit(X,y)
model = gs.best_estimator_
with open(path_pickle_model, 'wb') as f:
cPickle.dump(model, f)
为了减少特征的数量,该模型已经进行了网格搜索。重新读取模型时,将其应用于数据会导致问题,因为模型和数据中的要素数量不同
那么,如何从磁盘读取的pickle模型中获取特征的名称呢?它是什么类型的模型?如果执行了功能选择步骤,则需要保存管道的该部分。
dir(.model)
将是很好的第一步。感谢@DavidMaust,编辑代码以反映我使用的内容。您可以使用熊猫和熊猫。它是什么类型的模型?如果您执行了功能选择步骤,则需要保存管道的该部分。dir(.model)
将是一个很好的第一步。谢谢@DavidMaust,编辑代码以反映我使用的内容。您可以使用pandas和。