From 796f8d6261e5fb8dc3ef9c17aa704a1d0ae8b69e Mon Sep 17 00:00:00 2001 From: bbauvin <baptiste.bauvin@centrale-marseille.fr> Date: Thu, 19 Oct 2017 16:27:11 -0400 Subject: [PATCH] Minor changes --- .../MonoviewClassifiers/RandomForest.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/RandomForest.py b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/RandomForest.py index 2d29ba19..66caa2d4 100644 --- a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/RandomForest.py +++ b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/RandomForest.py @@ -3,6 +3,7 @@ from sklearn.pipeline import Pipeline from sklearn.model_selection import RandomizedSearchCV from scipy.stats import randint import numpy as np +import cPickle from .. import Metrics from ..utils.HyperParameterSearch import genHeatMaps @@ -89,4 +90,18 @@ def getConfig(config): def getInterpret(classifier, directory): - pass + featureImportances = classifier.feature_importances_ + sortedArgs = np.argsort(-featureImportances) + featureImportancesSorted = featureImportances[sortedArgs][:50] + featureIndicesSorted = sortedArgs[:50] + featuresImportancesDict = dict((featureIndex, featureImportance) + for featureIndex, featureImportance in enumerate(featureImportances) + if featureImportance != 0) + with open(directory+'-feature_importances.pickle', 'wb') as handle: + cPickle.dump(featuresImportancesDict, handle) + interpretString = "Feature importances : \n" + for featureIndex, featureImportance in zip(featureIndicesSorted, featureImportancesSorted): + if featureImportance>0: + interpretString+="- Feature index : "+str(featureIndex)+ \ + ", feature importance : "+str(featureImportance)+"\n" + return interpretString -- GitLab