:py:mod:`bluecast.evaluation.eval_metrics` ========================================== .. py:module:: bluecast.evaluation.eval_metrics .. autoapi-nested-parse:: Module for evaluation metrics. This is called as part of the fit_eval function. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: bluecast.evaluation.eval_metrics.ClassificationEvalWrapper bluecast.evaluation.eval_metrics.RegressionEvalWrapper Functions ~~~~~~~~~ .. autoapisummary:: bluecast.evaluation.eval_metrics.plot_lift_chart bluecast.evaluation.eval_metrics.plot_roc_auc bluecast.evaluation.eval_metrics.plot_probability_distribution bluecast.evaluation.eval_metrics.balanced_log_loss bluecast.evaluation.eval_metrics.eval_classifier bluecast.evaluation.eval_metrics.mean_squared_error_diff_sklearn_versions bluecast.evaluation.eval_metrics.root_mean_squared_error_diff_sklearn_versions bluecast.evaluation.eval_metrics.eval_regressor .. py:function:: plot_lift_chart(y_probs: numpy.array, y_true: numpy.array, num_bins: int = 20) -> None .. py:function:: plot_roc_auc(y_true: numpy.array, predicted_probabilities: numpy.array, title='ROC Curve') -> None Plot the ROC curve and calculate the AUC (Area Under the Curve). :param y_true: True labels (0 or 1) for the binary classification problem. :param predicted_probabilities: Predicted probabilities for the positive class. :param title: Title for the ROC curve plot. .. py:function:: plot_probability_distribution(probs: numpy.ndarray, y_classes: numpy.ndarray, opacity: float = 0.5) Plots the probability distribution of each class in an individual color. :param probs: A 2D array of shape (n_samples, n_classes) containing probability distributions. :param y_classes: An array of shape (n_samples,) containing the class labels for each sample. :param opacity: Opacity level for the plots. Default is 0.5. .. py:function:: balanced_log_loss(y_true, y_pred) .. py:function:: eval_classifier(y_true: numpy.ndarray, y_probs: numpy.ndarray, y_classes: numpy.ndarray) -> Dict[str, Any] .. py:function:: mean_squared_error_diff_sklearn_versions(y_true, y_preds) .. py:function:: root_mean_squared_error_diff_sklearn_versions(y_true, y_preds) .. py:function:: eval_regressor(y_true: numpy.ndarray, y_preds: numpy.ndarray) -> Dict[str, Any] .. py:class:: ClassificationEvalWrapper(higher_is_better: bool = True, eval_against: Literal[probas_all_classes, probas_target_class, classes] = 'classes', metric_func=matthews_corrcoef, metric_name: str = 'Matthews Correlation Coefficient', **metric_func_args) Wrapper to evaluate classification metrics. :param metric_func: Function object to calculate the metric. :param higher_is_better: Boolean indicating if higher metric values are better. :param eval_against: String indicating if the metric should be evaluated against probabilities or classes. Can be 'probas_all_classes', 'probas_target_class' or 'classes'. For 'probas_all_classes', the metric is calculated against the predicted probabilities for all classes. For 'probas_target_class', the metric is calculated against the predicted probabilities for the best class. For 'classes', the metric is calculated against the predicted classes. This parameter decides how the predictions arrive in the metric function. :return: Float value of the metric score. .. py:method:: classification_eval_func_wrapper(y_true: Union[numpy.ndarray, pandas.Series, list], y_probs: Union[numpy.ndarray, pandas.Series, list]) -> Union[float, int] Wrapper function to evaluate classification metrics. :param y_true: Numpy array of true labels. :param y_probs: NumPy array of predicted probabilities. :return: Float value of the metric score. .. py:class:: RegressionEvalWrapper(higher_is_better: bool = False, metric_func=None, metric_name: str = 'Mean squared error', **metric_func_args) Wrapper to evaluate regression metrics. :param metric_func: Function object to calculate the metric. :param higher_is_better: Boolean indicating if higher metric values are better. :return: Float value of the metric score. .. py:method:: regression_eval_func_wrapper(y_true: Union[numpy.ndarray, pandas.Series, list], y_hat: Union[numpy.ndarray, pandas.Series, list]) -> Union[float, int] Wrapper function to evaluate classification metrics. :param y_true: Numpy array of true targets. :param y_hat: NumPy array of predicted targets. :return: Float value of the metric score.