def test_pipeline_loaded_from_zip_has_feature_contributions(self): features = ['age', 'education-num', 'hours-per-week'] model_nimbusml = Pipeline( steps=[FastLinearBinaryClassifier(feature=features)]) model_nimbusml.fit(train, label) fc = model_nimbusml.get_feature_contributions(test) # Save the model to zip model_filename = get_temp_file(suffix='.zip') model_nimbusml.save_model(model_filename) # Load the model from zip model_nimbusml_zip = Pipeline() model_nimbusml_zip.load_model(model_filename) fc_zip = model_nimbusml_zip.get_feature_contributions(test) assert ['FeatureContributions.' + feature in fc_zip.columns for feature in features] assert [fc['FeatureContributions.' + feature].equals( fc_zip['FeatureContributions.' + feature]) for feature in features] os.remove(model_filename)
def test_unpickled_pipeline_has_feature_contributions(self): features = ['age', 'education-num', 'hours-per-week'] model_nimbusml = Pipeline( steps=[FastLinearBinaryClassifier(feature=features)]) model_nimbusml.fit(train, label) fc = model_nimbusml.get_feature_contributions(test) # Save with pickle pickle_filename = get_temp_file(suffix='.p') with open(pickle_filename, 'wb') as f: pickle.dump(model_nimbusml, f) # Unpickle model with open(pickle_filename, "rb") as f: model_nimbusml_pickle = pickle.load(f) fc_pickle = model_nimbusml_pickle.get_feature_contributions(test) assert ['FeatureContributions.' + feature in fc_pickle.columns for feature in features] assert [fc['FeatureContributions.' + feature].equals( fc_pickle['FeatureContributions.' + feature]) for feature in features] os.remove(pickle_filename)