alibi.confidence.trustscore module
- class alibi.confidence.trustscore.TrustScore(k_filter=10, alpha=0.0, filter_type=None, leaf_size=40, metric='euclidean', dist_filter_type='point')[source]
Bases:
object
- __init__(k_filter=10, alpha=0.0, filter_type=None, leaf_size=40, metric='euclidean', dist_filter_type='point')[source]
Initialize trust scores.
- Parameters:
k_filter (
int
) – Number of neighbors used during either kNN distance or probability filtering.alpha (
float
) – Fraction of instances to filter out to reduce impact of outliers.filter_type (
Optional
[str
]) – Filter method:'distance_knn'
|'probability_knn'
.leaf_size (
int
) – Number of points at which to switch to brute-force. Affects speed and memory required to build trees. Memory to store the tree scales with n_samples / leaf_size.metric (
str
) – Distance metric used for the tree. See sklearn DistanceMetric class for a list of available metrics.dist_filter_type (
str
) – Use either the distance to the k-nearest point (dist_filter_type = 'point'
) or the average distance from the first to the k-nearest point in the data (dist_filter_type = 'mean'
).
- filter_by_distance_knn(X)[source]
Filter out instances with low kNN density. Calculate distance to k-nearest point in the data for each instance and remove instances above a cutoff distance.
- Parameters:
X (
ndarray
) – Data.- Return type:
ndarray
- Returns:
Filtered data.
- filter_by_probability_knn(X, Y)[source]
Filter out instances with high label disagreement amongst its k nearest neighbors.
- Parameters:
X (
ndarray
) – Data.Y (
ndarray
) – Predicted class labels.
- Return type:
Tuple
[ndarray
,ndarray
]- Returns:
Filtered data and labels.
- score(X, Y, k=2, dist_type='point')[source]
Calculate trust scores = ratio of distance to closest class other than the predicted class to distance to predicted class.
- Parameters:
X (
ndarray
) – Instances to calculate trust score for.Y (
ndarray
) – Either prediction probabilities for each class or the predicted class.k (
int
) – Number of nearest neighbors used for distance calculation.dist_type (
str
) – Use either the distance to the k-nearest point (dist_type = 'point'
) or the average distance from the first to the k-nearest point in the data (dist_type = 'mean'
).
- Return type:
Tuple
[ndarray
,ndarray
]- Returns:
Batch with trust scores and the closest not predicted class.