从酸洗模型中获取要素的名称

时间:2016-02-14 05:57:53

标签: python numpy pandas scikit-learn

我在拟合后腌制了一个scikit-learn模型,所以如果重新运行,我可以将它用于预测而不再适合。

在以下代码中:

# 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)

该模型已经过网格搜索以减少功能的数量。重新读取模型时,将其应用于数据会导致问题,因为模型和数据中的要素数量不同。

那么,如何从磁盘读取的酸洗模型中获取功能名称?

0 个答案:

没有答案