src.test.test_private_hcms_client API documentation

# src.test.test_private_hcms_client

View Source

     1import os
     2import sys
     3
     4sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
     5from private_hadamard_count_mean.private_hcms_client import run_private_hcms_client
     6from tabulate import tabulate
     7
     8def test_algoritmos():
     9    """
    10    Runs a test for various parameter combinations using the Private Hadamard Count Mean Sketch algorithm.
    11
    12    This function tests the algorithm by passing different values of k (number of hash functions) and
    13    m (number of counters) to the `run_private_hcms_client` function. The results include various error
    14    metrics, including Mean Error, Percentage Error, MSE, RMSE, Normalized MSE, Normalized RMSE, and Pearson
    15    Correlation Coefficient. The results are displayed in a tabular format.
    16
    17    The test data used is based on the 'exp_distrib_50k' dataset, and the error tolerance (e) is set to 2.
    18
    19    The results are printed in a table, where each row contains:
    20        - k: Number of hash functions
    21        - m: Number of counters
    22        - Mean Error
    23        - Percentage Error
    24        - MSE (Mean Squared Error)
    25        - RMSE (Root Mean Squared Error)
    26        - Normalized MSE
    27        - Normalized RMSE
    28        - Pearson Correlation Coefficient
    29    """
    30    excel_file = os.path.join(os.path.join('..', '..', 'data', 'raw'), 'dataOviedo.xlsx')
    31    df = pd.read_excel(excel_file)
    32
    33    e = 2
    34    k = [16, 128, 128, 1024, 32768]
    35    m = [16, 16, 1024, 256, 256]
    36
    37    general_table = []
    38
    39    for i in range(len(k)):
    40        _, error_table = run_private_hcms_client(k[i], m[i], e, df)
    41
    42        error_dict = { key: value for key, value in error_table }
    43
    44        row = [
    45            k[i],
    46            m[i],
    47            error_dict.get("Mean Error", ""),
    48            error_dict.get("Percentage Error", ""),
    49            error_dict.get("MSE", ""),
    50            error_dict.get("RMSE", ""),
    51            error_dict.get("Normalized MSE", ""),
    52            error_dict.get("Normalized RMSE", ""),
    53            error_dict.get("Pearson Correlation Coefficient", "")
    54        ]
    55        general_table.append(row)
    56
    57    headers = [
    58        "k", "m", "Mean Error", "Percentage Error",
    59        "MSE", "RMSE", "Normalized MSE", "Normalized RMSE", "Pearson Corr"
    60    ]
    61
    62    print(tabulate(general_table, headers=headers, tablefmt="grid"))
    63
    64if __name__ == '__main__':
    65    test_algoritmos()

def test_algoritmos(): View Source

     9def test_algoritmos():
    10    """
    11    Runs a test for various parameter combinations using the Private Hadamard Count Mean Sketch algorithm.
    12
    13    This function tests the algorithm by passing different values of k (number of hash functions) and
    14    m (number of counters) to the `run_private_hcms_client` function. The results include various error
    15    metrics, including Mean Error, Percentage Error, MSE, RMSE, Normalized MSE, Normalized RMSE, and Pearson
    16    Correlation Coefficient. The results are displayed in a tabular format.
    17
    18    The test data used is based on the 'exp_distrib_50k' dataset, and the error tolerance (e) is set to 2.
    19
    20    The results are printed in a table, where each row contains:
    21        - k: Number of hash functions
    22        - m: Number of counters
    23        - Mean Error
    24        - Percentage Error
    25        - MSE (Mean Squared Error)
    26        - RMSE (Root Mean Squared Error)
    27        - Normalized MSE
    28        - Normalized RMSE
    29        - Pearson Correlation Coefficient
    30    """
    31    excel_file = os.path.join(os.path.join('..', '..', 'data', 'raw'), 'dataOviedo.xlsx')
    32    df = pd.read_excel(excel_file)
    33
    34    e = 2
    35    k = [16, 128, 128, 1024, 32768]
    36    m = [16, 16, 1024, 256, 256]
    37
    38    general_table = []
    39
    40    for i in range(len(k)):
    41        _, error_table = run_private_hcms_client(k[i], m[i], e, df)
    42
    43        error_dict = { key: value for key, value in error_table }
    44
    45        row = [
    46            k[i],
    47            m[i],
    48            error_dict.get("Mean Error", ""),
    49            error_dict.get("Percentage Error", ""),
    50            error_dict.get("MSE", ""),
    51            error_dict.get("RMSE", ""),
    52            error_dict.get("Normalized MSE", ""),
    53            error_dict.get("Normalized RMSE", ""),
    54            error_dict.get("Pearson Correlation Coefficient", "")
    55        ]
    56        general_table.append(row)
    57
    58    headers = [
    59        "k", "m", "Mean Error", "Percentage Error",
    60        "MSE", "RMSE", "Normalized MSE", "Normalized RMSE", "Pearson Corr"
    61    ]
    62
    63    print(tabulate(general_table, headers=headers, tablefmt="grid"))

Runs a test for various parameter combinations using the Private Hadamard Count Mean Sketch algorithm.

This function tests the algorithm by passing different values of k (number of hash functions) and m (number of counters) to the `run_private_hcms_client` function. The results include various error metrics, including Mean Error, Percentage Error, MSE, RMSE, Normalized MSE, Normalized RMSE, and Pearson Correlation Coefficient. The results are displayed in a tabular format.

The test data used is based on the 'exp_distrib_50k' dataset, and the error tolerance (e) is set to 2.

The results are printed in a table, where each row contains: - k: Number of hash functions - m: Number of counters - Mean Error - Percentage Error - MSE (Mean Squared Error) - RMSE (Root Mean Squared Error) - Normalized MSE - Normalized RMSE - Pearson Correlation Coefficient