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