mlm_insights.core.sdcs.confusion_matrix package¶
Submodules¶
mlm_insights.core.sdcs.confusion_matrix.multi_class_confusion_matrix module¶
- class mlm_insights.core.sdcs.confusion_matrix.multi_class_confusion_matrix.ConfusionMatrixCounts(true_positive_counts: numpy.ndarray[Any, numpy.dtype[numpy.int32]], false_positive_counts: numpy.ndarray[Any, numpy.dtype[numpy.int32]], true_negative_counts: numpy.ndarray[Any, numpy.dtype[numpy.int32]], false_negative_counts: numpy.ndarray[Any, numpy.dtype[numpy.int32]])¶
Bases:
object
- false_negative_counts: ndarray[Any, dtype[int32]]¶
- false_positive_counts: ndarray[Any, dtype[int32]]¶
- true_negative_counts: ndarray[Any, dtype[int32]]¶
- true_positive_counts: ndarray[Any, dtype[int32]]¶
- class mlm_insights.core.sdcs.confusion_matrix.multi_class_confusion_matrix.MultiClassConfusionMatrix(class_map: Dict[str, int], matrix: List[List[int]])¶
Bases:
object
This class stores the confusion matrix and provides simple APIs.
- class_map: Dict[str, int] = Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=None)¶
- get_average_by_weights(numerator: Any, denominator: ndarray[Any, dtype[int32]]) Any ¶
Helper method to get the weighted average
Parameter¶
- numerator: Any
Numerator array
- denominator: npt.NDArray[np.int32]
Denominator array
Returns¶
Any: Weighted average
- get_classes() List[str] ¶
Get the list of the classes in confusion matrix
Returns¶
- List[str]:
A list of string representing the classes used in confusion matrix. The classes will be sorted in lexicographical order.
- get_counts() ConfusionMatrixCounts ¶
Get True Positive, False Positive, True Negative, False Negative per class.
Returns¶
- ConfusionMatrixCounts
An object that contain TP, FP, TN, and FN per class.
- get_encoded_value(label: str | int) int ¶
- Get the encoded value of a class label. The returned value represents the index of class label in confusion matrix.
Returns¶
int: Index of class label.
- get_false_negative_counts() ndarray[Any, dtype[int32]] ¶
This method returns False Negative (FN) count per class.
Returns¶
- npt.NDArray
One dimensional numpy array contains the FN per class
- get_false_positive_counts() ndarray[Any, dtype[int32]] ¶
This method returns False Positive (FP) count per class.
Returns¶
- npt.NDArray
One dimensional numpy array contains the FP per class
- get_number_of_classes() int ¶
Get the total count of the classes in confusion matrix
Returns¶
- int
The total count of the classes in confusion matrix
- get_precision_scores_per_class() Any ¶
Get the Precision score per class.
Returns¶
Any: List of precision score for each class
- get_recall_scores_per_class() Any ¶
Get the Recall score per class.
Returns¶
Any: List of recall score for each class
- get_true_negative_counts() ndarray[Any, dtype[int32]] ¶
This method returns True Negative (TN) count per class.
Returns¶
- npt.NDArray
One dimensional numpy array contains the TN per class
- get_true_positive_counts() ndarray[Any, dtype[int32]] ¶
This method returns True Positive (TP) count per class.
Returns¶
- npt.NDArray
One dimensional numpy array contains the TP per class
- is_binary_classes() bool ¶
- matrix: ndarray[Any, dtype[int32]]¶
mlm_insights.core.sdcs.confusion_matrix.multi_threshold_metric_summary module¶
https://github.com/scikit-learn/scikit-learn/blob/main/COPYING
BSD 3-Clause License
Copyright (c) 2007-2023 The scikit-learn developers. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- class mlm_insights.core.sdcs.confusion_matrix.multi_threshold_metric_summary.MultiThresholdMetricSummary(tp: ndarray[Any, dtype[Any]], fp: ndarray[Any, dtype[Any]], tn: ndarray[Any, dtype[Any]], fn: ndarray[Any, dtype[Any]], thresholds: ndarray[Any, dtype[Any]])¶
Bases:
object
Store Required multi threshold metrics.
tp: True Positive for multiple thresholds. fp: False Positive for multiple thresholds. tn: True Negative for multiple thresholds. fn: False Negative for multiple thresholds. thresholds: Thresholds.
- fn: ndarray[Any, dtype[Any]]¶
- fp: ndarray[Any, dtype[Any]]¶
- get_precision_recall_curve() Tuple[ndarray[Any, dtype[Any]], ndarray[Any, dtype[Any]], ndarray[Any, dtype[Any]]] ¶
Compute precision-recall pairs for different probability thresholds.
Part of the implementation is taken from sklearn: https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/metrics/_ranking.py Returns
predictions with score >= thresholds[i] and the last element is 1.
- recallndarray of shape (n_thresholds + 1,)
Decreasing recall values such that element i is the recall of predictions with score >= thresholds[i] and the last element is 0.
- thresholdsndarray of shape (n_thresholds,)
Increasing thresholds on the decision function used to compute precision and recall.
- get_roc_curve() Tuple[ndarray[Any, dtype[Any]], ndarray[Any, dtype[Any]], ndarray[Any, dtype[Any]]] ¶
Compute Receiver operating characteristic (ROC).
Part of the implementation is taken from sklearn: https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/metrics/_ranking.py
Returns¶
- fprndarray of shape (>2,)
Increasing false positive rates such that element i is the false positive rate of predictions with score >= thresholds[i].
- tprndarray of shape (>2,)
Increasing true positive rates such that element i is the true positive rate of predictions with score >= thresholds[i].
- thresholdsndarray of shape = (n_thresholds,)
Decreasing thresholds on the decision function used to compute fpr and tpr.
- thresholds: ndarray[Any, dtype[Any]]¶
- tn: ndarray[Any, dtype[Any]]¶
- tp: ndarray[Any, dtype[Any]]¶