diff --git a/summit/multiview_platform/result_analysis/feature_importances.py b/summit/multiview_platform/result_analysis/feature_importances.py index df74b53bfe94cd2d4aff1f4cfd846f8177d43ba7..ec233dc22b50e0e50ab5cfb18752852b7577705d 100644 --- a/summit/multiview_platform/result_analysis/feature_importances.py +++ b/summit/multiview_platform/result_analysis/feature_importances.py @@ -72,22 +72,31 @@ def publish_feature_importances(feature_importances, directory, database_name, feature_std = feature_std.loc[feature_importance.index] - importance_dfs.append(feature_importance.set_index(pd.Index([view_name+"-"+ind for ind in list(feature_importance.index)]))) + importance_dfs.append(feature_importance.set_index(pd.Index([view_name+"-"+ind for ind in list(feature_importance.index)])).fillna(0)) # importance_dfs.append(pd.DataFrame(index=[view_name+"-br"], # columns=feature_importance.columns, # data=np.zeros((1, len( # feature_importance.columns))))) std_dfs.append(feature_std.set_index(pd.Index([view_name+"-"+ind for ind - in list(feature_std.index)]))) + in list(feature_std.index)])).fillna(0)) # std_dfs.append(pd.DataFrame(index=[view_name + "-br"], # columns=feature_std.columns, # data=np.zeros((1, len( # feature_std.columns))))) if "mv" in feature_importances: - importance_dfs.append(feature_importances["mv"].loc[(feature_importances["mv"] != 0).any(axis=1), :]) + importance_dfs.append(feature_importances["mv"].loc[(feature_importances["mv"] != 0).any(axis=1), :].fillna(0)) if len(importance_dfs)>0: - feature_importances_df = pd.concat(importance_dfs) + print(importance_dfs) + indices=None + for df in importance_dfs: + if indices is None: + indices = list(df.index) + else: + indices += [ind for ind in df.index if ind not in indices] + feat_imp_df = pd.DataFrame(index=indices) + feature_importances_df = pd.concat([feat_imp_df]+importance_dfs, axis=1) + print(feature_importances_df) feature_importances_df = feature_importances_df/feature_importances_df.sum(axis=0) if len(std_dfs)>0: feature_std_df = pd.concat(std_dfs)