示例#1
0
 def test_compute_features_import_2(self):
     """
     Unit test compute_features_import 2
     Checking classification case
     """
     xpl = SmartExplainer()
     contrib1 = pd.DataFrame(
         [[1, 2, 3, 4],
          [5, 6, 7, 8],
          [9, 10, 11, 12]],
         columns=['contribution_0', 'contribution_1', 'contribution_2', 'contribution_3'],
         index=[0, 1, 2]
     )
     contrib2 = pd.DataFrame(
         [[13, 14, 15, 16],
          [17, 18, 19, 20],
          [21, 22, 23, 24]],
         columns=['contribution_0', 'contribution_1', 'contribution_2', 'contribution_3'],
         index=[0, 1, 2]
     )
     contributions = [contrib1, contrib2]
     xpl.features_imp = None
     xpl.contributions = contributions
     xpl.state = xpl.choose_state(contributions)
     xpl._case = "classification"
     xpl.compute_features_import()
     expect1 = contrib1.abs().sum().sort_values(ascending=True)
     expect1 = expect1 / expect1.sum()
     expect2 = contrib2.abs().sum().sort_values(ascending=True)
     expect2 = expect2 / expect2.sum()
     assert expect1.equals(xpl.features_imp[0])
     assert expect2.equals(xpl.features_imp[1])
示例#2
0
 def test_compute_features_import_1(self):
     """
     Unit test compute_features_import 1
     Checking regression case
     """
     xpl = SmartExplainer()
     contributions = pd.DataFrame(
         [[1, 2, 3, 4],
          [5, 6, 7, 8],
          [9, 10, 11, 12]],
         columns=['contribution_0', 'contribution_1', 'contribution_2', 'contribution_3'],
         index=[0, 1, 2]
     )
     xpl.features_imp = None
     xpl.contributions = contributions
     xpl.state = xpl.choose_state(contributions)
     xpl._case = 'regression'
     xpl.compute_features_import()
     expected = contributions.abs().sum().sort_values(ascending=True)
     expected = expected / expected.sum()
     assert expected.equals(xpl.features_imp)