def figures_mc_three_class(): classifiers = utils.get_classifiers() feature_sets = utils.get_base_feature_sets() trial_count = 20 three_class_performance_summaries = [] for attributed_classifier in classifiers: if Constants.VERBOSE: print('Running ' + attributed_classifier.name + '...') classifier_summary = ThreeClassClassifierSummaryBuilder.build_monte_carlo( attributed_classifier, feature_sets, trial_count) CurvePlotBuilder.make_roc_one_vs_rest(classifier_summary) three_class_performance_dictionary = CurvePlotBuilder.make_three_class_roc( classifier_summary) classifier_summary.performance_dictionary = three_class_performance_dictionary three_class_performance_summaries.append(classifier_summary) TableBuilder.print_table_three_class(three_class_performance_summaries) CurvePlotBuilder.combine_plots_as_grid(classifiers, trial_count, '_three_class_roc') CurvePlotBuilder.combine_plots_as_grid(classifiers, trial_count, '_ovr_rem_roc') CurvePlotBuilder.combine_plots_as_grid(classifiers, trial_count, '_ovr_nrem_roc') CurvePlotBuilder.combine_plots_as_grid(classifiers, trial_count, '_ovr_wake_roc')
def figures_mesa_three_class(): classifiers = utils.get_classifiers() # Uncomment to just use MLP: # classifiers = [AttributedClassifier(name='Neural Net', classifier=MLPClassifier(activation='relu', hidden_layer_sizes=(15, 15, 15), # max_iter=1000, alpha=0.01, solver='lbfgs'))] feature_sets = utils.get_base_feature_sets() three_class_performance_summaries = [] for attributed_classifier in classifiers: if Constants.VERBOSE: print('Running ' + attributed_classifier.name + '...') classifier_summary = ThreeClassClassifierSummaryBuilder.build_mesa_leave_one_out( attributed_classifier, feature_sets) PerformancePlotBuilder.make_bland_altman(classifier_summary, '_mesa') PerformancePlotBuilder.make_single_threshold_histograms( classifier_summary, '_mesa') for attributed_classifier in classifiers: if Constants.VERBOSE: print('Running ' + attributed_classifier.name + '...') classifier_summary = ThreeClassClassifierSummaryBuilder.build_mesa_all_combined( attributed_classifier, feature_sets) three_class_performance_dictionary = CurvePlotBuilder.make_three_class_roc( classifier_summary, '_mesa') classifier_summary.performance_dictionary = three_class_performance_dictionary three_class_performance_summaries.append(classifier_summary) CurvePlotBuilder.combine_sw_and_three_class_plots( attributed_classifier, 1, 'mesa') TableBuilder.print_table_three_class(three_class_performance_summaries) CurvePlotBuilder.combine_plots_as_grid(classifiers, 1, '_mesa_three_class_roc')