def get_psi_score()

in src/mlmax/monitoring.py [0:0]


def get_psi_score(X_train: pd.DataFrame, X_test: pd.DataFrame, args=None) -> List[dict]:
    """Get PSI for numerical columns.

    Return:
        [{'name': 'age', 'psi': 0.000531655721643536}]
    """
    _, num_cols = get_cols_types(X_train)

    psi_list = []
    for col in num_cols:
        temp_dict = {"name": col}
        temp_dict["psi"] = calculate_psi(
            X_train[col], X_test[col], bins=10, buckettype="bins"
        )
        psi_list.append(temp_dict)

    return psi_list