def overall_statistics(
        RACC,
        RACCU,
        TPR,
        PPV,
        TP,
        FN,
        FP,
        POP,
        P,
        TOP,
        jaccard_list,
        CEN_dict,
        MCEN_dict,
        AUC_dict,
        classes,
        table):
    """
    Return overall statistics.

    :param RACC: random accuracy
    :type RACC : dict
    :param TPR: sensitivity, recall, hit rate, or true positive rate
    :type TPR : dict
    :param PPV: precision or positive predictive value
    :type PPV : dict
    :param TP: true positive
    :type TP : dict
    :param FN: false negative
    :type FN : dict
    :param FP: false positive
    :type FP: dict
    :param POP: population
    :type POP:dict
    :param P: condition positive
    :type P : dict
    :param POP: population
    :type POP:dict
    :param TOP: test outcome positive
    :type TOP : dict
    :param jaccard_list : list of jaccard index for each class
    :type jaccard_list : list
    :param CEN_dict: CEN dictionary for each class
    :type CEN_dict : dict
    :param classes: confusion matrix classes
    :type classes : list
    :param table: input matrix
    :type table : dict
    :return: overall statistics as dict
    """
    population = list(POP.values())[0]
    overall_accuracy = overall_accuracy_calc(TP, population)
    overall_random_accuracy_unbiased = overall_random_accuracy_calc(RACCU)
    overall_random_accuracy = overall_random_accuracy_calc(RACC)
    overall_kappa = reliability_calc(overall_random_accuracy, overall_accuracy)
    PC_PI = PC_PI_calc(P, TOP, POP)
    PC_AC1 = PC_AC1_calc(P, TOP, POP)
    PC_S = PC_S_calc(classes)
    PI = reliability_calc(PC_PI, overall_accuracy)
    AC1 = reliability_calc(PC_AC1, overall_accuracy)
    S = reliability_calc(PC_S, overall_accuracy)
    kappa_SE = kappa_se_calc(
        overall_accuracy,
        overall_random_accuracy, population)
    kappa_unbiased = reliability_calc(
        overall_random_accuracy_unbiased,
        overall_accuracy)
    kappa_no_prevalence = kappa_no_prevalence_calc(overall_accuracy)
    kappa_CI = CI_calc(overall_kappa, kappa_SE)
    overall_accuracy_se = se_calc(overall_accuracy, population)
    overall_accuracy_CI = CI_calc(overall_accuracy, overall_accuracy_se)
    chi_squared = chi_square_calc(classes, table, TOP, P, POP)
    phi_squared = phi_square_calc(chi_squared, population)
    cramer_V = cramers_V_calc(phi_squared, classes)
    response_entropy = entropy_calc(TOP, POP)
    reference_entropy = entropy_calc(P, POP)
    cross_entropy = cross_entropy_calc(TOP, P, POP)
    join_entropy = joint_entropy_calc(classes, table, POP)
    conditional_entropy = conditional_entropy_calc(classes, table, P, POP)
    mutual_information = mutual_information_calc(
        response_entropy, conditional_entropy)
    kl_divergence = kl_divergence_calc(P, TOP, POP)
    lambda_B = lambda_B_calc(classes, table, TOP, population)
    lambda_A = lambda_A_calc(classes, table, P, population)
    DF = DF_calc(classes)
    overall_jaccard_index = overall_jaccard_index_calc(list(
        jaccard_list.values()))
    hamming_loss = hamming_calc(TP, population)
    zero_one_loss = zero_one_loss_calc(TP, population)
    NIR = NIR_calc(P, population)
    p_value = p_value_calc(TP, population, NIR)
    overall_CEN = overall_CEN_calc(classes, TP, TOP, P, CEN_dict)
    overall_MCEN = overall_CEN_calc(classes, TP, TOP, P, MCEN_dict, True)
    overall_MCC = overall_MCC_calc(classes, table, TOP, P)
    RR = RR_calc(classes, TOP)
    CBA = CBA_calc(classes, table, TOP, P)
    AUNU = macro_calc(AUC_dict)
    AUNP = AUNP_calc(classes, P, POP, AUC_dict)
    RCI = RCI_calc(mutual_information, reference_entropy)
    C = pearson_C_calc(chi_squared, population)
    return {
        "Overall ACC": overall_accuracy,
        "Kappa": overall_kappa,
        "Overall RACC": overall_random_accuracy,
        "SOA1(Landis & Koch)": kappa_analysis_koch(overall_kappa),
        "SOA2(Fleiss)": kappa_analysis_fleiss(overall_kappa),
        "SOA3(Altman)": kappa_analysis_altman(overall_kappa),
        "SOA4(Cicchetti)": kappa_analysis_cicchetti(overall_kappa),
        "TPR Macro": macro_calc(TPR),
        "PPV Macro": macro_calc(PPV),
        "TPR Micro": micro_calc(
            TP=TP,
            item=FN),
        "PPV Micro": micro_calc(
            TP=TP,
            item=FP),
        "Scott PI": PI,
        "Gwet AC1": AC1,
        "Bennett S": S,
        "Kappa Standard Error": kappa_SE,
        "Kappa 95% CI": kappa_CI,
        "Chi-Squared": chi_squared,
        "Phi-Squared": phi_squared,
        "Cramer V": cramer_V,
        "Chi-Squared DF": DF,
        "95% CI": overall_accuracy_CI,
        "Standard Error": overall_accuracy_se,
        "Response Entropy": response_entropy,
        "Reference Entropy": reference_entropy,
        "Cross Entropy": cross_entropy,
        "Joint Entropy": join_entropy,
        "Conditional Entropy": conditional_entropy,
        "KL Divergence": kl_divergence,
        "Lambda B": lambda_B,
        "Lambda A": lambda_A,
        "Kappa Unbiased": kappa_unbiased,
        "Overall RACCU": overall_random_accuracy_unbiased,
        "Kappa No Prevalence": kappa_no_prevalence,
        "Mutual Information": mutual_information,
        "Overall J": overall_jaccard_index,
        "Hamming Loss": hamming_loss,
        "Zero-one Loss": zero_one_loss,
        "NIR": NIR,
        "P-Value": p_value,
        "Overall CEN": overall_CEN,
        "Overall MCEN": overall_MCEN,
        "Overall MCC": overall_MCC,
        "RR": RR,
        "CBA": CBA,
        "AUNU": AUNU,
        "AUNP": AUNP,
        "RCI": RCI,
        "Pearson C": C}
def overall_statistics ( RACC , RACCU , TPR , PPV , TP , FN , FP , POP , P , TOP , jaccard_list , CEN_dict , MCEN_dict , AUC_dict , classes , table ) : population = list ( POP . values ( ) ) [ 0 ] overall_accuracy = overall_accuracy_calc ( TP , population ) overall_random_accuracy_unbiased = overall_random_accuracy_calc ( RACCU ) overall_random_accuracy = overall_random_accuracy_calc ( RACC ) overall_kappa = reliability_calc ( overall_random_accuracy , overall_accuracy ) PC_PI = PC_PI_calc ( P , TOP , POP ) PC_AC1 = PC_AC1_calc ( P , TOP , POP ) PC_S = PC_S_calc ( classes ) PI = reliability_calc ( PC_PI , overall_accuracy ) AC1 = reliability_calc ( PC_AC1 , overall_accuracy ) S = reliability_calc ( PC_S , overall_accuracy ) kappa_SE = kappa_se_calc ( overall_accuracy , overall_random_accuracy , population ) kappa_unbiased = reliability_calc ( overall_random_accuracy_unbiased , overall_accuracy ) kappa_no_prevalence = kappa_no_prevalence_calc ( overall_accuracy ) kappa_CI = CI_calc ( overall_kappa , kappa_SE ) overall_accuracy_se = se_calc ( overall_accuracy , population ) overall_accuracy_CI = CI_calc ( overall_accuracy , overall_accuracy_se ) chi_squared = chi_square_calc ( classes , table , TOP , P , POP ) phi_squared = phi_square_calc ( chi_squared , population ) cramer_V = cramers_V_calc ( phi_squared , classes ) response_entropy = entropy_calc ( TOP , POP ) reference_entropy = entropy_calc ( P , POP ) cross_entropy = cross_entropy_calc ( TOP , P , POP ) join_entropy = joint_entropy_calc ( classes , table , POP ) conditional_entropy = conditional_entropy_calc ( classes , table , P , POP ) mutual_information = mutual_information_calc ( response_entropy , conditional_entropy ) kl_divergence = kl_divergence_calc ( P , TOP , POP ) lambda_B = lambda_B_calc ( classes , table , TOP , population ) lambda_A = lambda_A_calc ( classes , table , P , population ) DF = DF_calc ( classes ) overall_jaccard_index = overall_jaccard_index_calc ( list ( jaccard_list . values ( ) ) ) hamming_loss = hamming_calc ( TP , population ) zero_one_loss = zero_one_loss_calc ( TP , population ) NIR = NIR_calc ( P , population ) p_value = p_value_calc ( TP , population , NIR ) overall_CEN = overall_CEN_calc ( classes , TP , TOP , P , CEN_dict ) overall_MCEN = overall_CEN_calc ( classes , TP , TOP , P , MCEN_dict , True ) overall_MCC = overall_MCC_calc ( classes , table , TOP , P ) RR = RR_calc ( classes , TOP ) CBA = CBA_calc ( classes , table , TOP , P ) AUNU = macro_calc ( AUC_dict ) AUNP = AUNP_calc ( classes , P , POP , AUC_dict ) RCI = RCI_calc ( mutual_information , reference_entropy ) C = pearson_C_calc ( chi_squared , population ) return { "Overall ACC" : overall_accuracy , "Kappa" : overall_kappa , "Overall RACC" : overall_random_accuracy , "SOA1(Landis & Koch)" : kappa_analysis_koch ( overall_kappa ) , "SOA2(Fleiss)" : kappa_analysis_fleiss ( overall_kappa ) , "SOA3(Altman)" : kappa_analysis_altman ( overall_kappa ) , "SOA4(Cicchetti)" : kappa_analysis_cicchetti ( overall_kappa ) , "TPR Macro" : macro_calc ( TPR ) , "PPV Macro" : macro_calc ( PPV ) , "TPR Micro" : micro_calc ( TP = TP , item = FN ) , "PPV Micro" : micro_calc ( TP = TP , item = FP ) , "Scott PI" : PI , "Gwet AC1" : AC1 , "Bennett S" : S , "Kappa Standard Error" : kappa_SE , "Kappa 95% CI" : kappa_CI , "Chi-Squared" : chi_squared , "Phi-Squared" : phi_squared , "Cramer V" : cramer_V , "Chi-Squared DF" : DF , "95% CI" : overall_accuracy_CI , "Standard Error" : overall_accuracy_se , "Response Entropy" : response_entropy , "Reference Entropy" : reference_entropy , "Cross Entropy" : cross_entropy , "Joint Entropy" : join_entropy , "Conditional Entropy" : conditional_entropy , "KL Divergence" : kl_divergence , "Lambda B" : lambda_B , "Lambda A" : lambda_A , "Kappa Unbiased" : kappa_unbiased , "Overall RACCU" : overall_random_accuracy_unbiased , "Kappa No Prevalence" : kappa_no_prevalence , "Mutual Information" : mutual_information , "Overall J" : overall_jaccard_index , "Hamming Loss" : hamming_loss , "Zero-one Loss" : zero_one_loss , "NIR" : NIR , "P-Value" : p_value , "Overall CEN" : overall_CEN , "Overall MCEN" : overall_MCEN , "Overall MCC" : overall_MCC , "RR" : RR , "CBA" : CBA , "AUNU" : AUNU , "AUNP" : AUNP , "RCI" : RCI , "Pearson C" : C }
Return overall statistics.

    :param RACC: random accuracy
    :type RACC : dict
    :param TPR: sensitivity, recall, hit rate, or true positive rate
    :type TPR : dict
    :param PPV: precision or positive predictive value
    :type PPV : dict
    :param TP: true positive
    :type TP : dict
    :param FN: false negative
    :type FN : dict
    :param FP: false positive
    :type FP: dict
    :param POP: population
    :type POP:dict
    :param P: condition positive
    :type P : dict
    :param POP: population
    :type POP:dict
    :param TOP: test outcome positive
    :type TOP : dict
    :param jaccard_list : list of jaccard index for each class
    :type jaccard_list : list
    :param CEN_dict: CEN dictionary for each class
    :type CEN_dict : dict
    :param classes: confusion matrix classes
    :type classes : list
    :param table: input matrix
    :type table : dict
    :return: overall statistics as dict