Beispiel #1
0
 def feature_importance(self):
     if not self.model:
         raise Exception("There are no predictions yet!")
     weights = PermutationImportance(self.model).fit(
         self.x_test.values, self.y_test.values)
     weights = pd.DataFrame({
         'Features': list(self.features),
         'Importance': weights.feature_importances_
     })
     weights = weights.reindex(
         weights['Importance'].abs().sort_values(ascending=False).index)
     # weights = weights[(weights["Importance"] != 0)]
     self.plot(weights)
Beispiel #2
0
    def surrogate(self, white_box):

        white_box.fit(self.x_train, self.model.predict(self.x_train))
        prediction = white_box.predict(self.x_test)
        print('~~~~ Global surrogate ~~~~')
        print("Fidelity: ", accuracy_score(self.y_test, prediction))
        weights = PermutationImportance(white_box).fit(self.x_test.values,
                                                       self.y_test.values)
        weights = pd.DataFrame({
            'Features': list(self.features),
            'Importance': weights.feature_importances_
        })
        weights = weights.reindex(
            weights['Importance'].abs().sort_values(ascending=False).index)
        weights = weights[(weights["Importance"] != 0)]
        self.plot(weights)