nsdlib.common.models module
- class nsdlib.common.models.ClassificationMetrics(TP: int, TN: int, FP: int, FN: int, P: int, N: int)[source]
Bases:
objectConfusion matrix representation.
It is based on https://en.wikipedia.org/wiki/Confusion_matrix.
- property ACC
Accuracy (ACC).
- property F1
F1 score.
- property FDR
False discovery rate (FDR).
- FN: int
- property FNR
Miss rate or false negative rate (FNR).
- property FOR
False omission rate (FOR).
- FP: int
- property FPR
Fall-out or false positive rate (FPR).
- N: int
- property NPV
Negative predictive value (NPV).
- P: int
- property PPV
Precision or positive predictive value (PPV).
- TN: int
- property TNR
Specificity, selectivity or true negative rate (TNR).
- TP: int
- property TPR
Sensitivity, recall, hit rate, or true positive rate (TPR).
- property TS
False omission rate (FOR).
- property confusion_matrix: List[List[float]]
Confusion matrix.
- class nsdlib.common.models.EnsembleSourceDetectionConfig(detection_configs: ~typing.List[~nsdlib.common.models.SourceDetectionConfig] = <factory>, voting_type: ~nsdlib.taxonomies.EnsembleVotingType = EnsembleVotingType.HARD, classifier_weights: ~typing.List[float] = <factory>)[source]
Bases:
objectEnsemble source detection configuration.
- classifier_weights: List[float]
- detection_configs: List[SourceDetectionConfig]
- voting_type: EnsembleVotingType = 'hard'
- class nsdlib.common.models.EnsembleSourceDetectionResult(config: nsdlib.common.models.EnsembleSourceDetectionConfig, G: networkx.classes.graph.Graph, IG: networkx.classes.graph.Graph, global_scores: Dict[int | str, float], ensemble_scores: List[nsdlib.common.models.SourceDetectionResult], detected_sources: List[str | int])[source]
Bases:
object- G: Graph
- IG: Graph
- config: EnsembleSourceDetectionConfig
- detected_sources: List[str | int]
- ensemble_scores: List[SourceDetectionResult]
- global_scores: Dict[int | str, float]
- class nsdlib.common.models.SelectionAlgorithm(selection_method: nsdlib.taxonomies.NodeEvaluationAlgorithm | None = None, selection_threshold: float | None = None)[source]
Bases:
object- selection_method: NodeEvaluationAlgorithm | None = None
- selection_threshold: float | None = None
- class nsdlib.common.models.SourceDetectionConfig(node_evaluation_algorithm: NodeEvaluationAlgorithm = NodeEvaluationAlgorithm.CENTRALITY_DEGREE, selection_algorithm: SelectionAlgorithm | None = None, outbreaks_detection_algorithm: OutbreaksDetectionAlgorithm | None = None, propagation_reconstruction_algorithm: PropagationReconstructionAlgorithm | None = None)[source]
Bases:
objectSource detection configuration.
- node_evaluation_algorithm: NodeEvaluationAlgorithm = 'degree_centrality'
- outbreaks_detection_algorithm: OutbreaksDetectionAlgorithm | None = None
- propagation_reconstruction_algorithm: PropagationReconstructionAlgorithm | None = None
- selection_algorithm: SelectionAlgorithm | None = None
- class nsdlib.common.models.SourceDetectionEvaluation(TP: int, TN: int, FP: int, FN: int, P: int, N: int, real_sources: List[str | int], detected_sources: List[str | int], error_distances: Dict[int | str, float])[source]
Bases:
ClassificationMetrics- property avg_error_distance: float
Average error distance.
- detected_sources: List[str | int]
- error_distances: Dict[int | str, float]
- real_sources: List[str | int]
- class nsdlib.common.models.SourceDetectionResult(config: nsdlib.common.models.SourceDetectionConfig, G: networkx.classes.graph.Graph, IG: networkx.classes.graph.Graph, global_scores: Dict[int | str, float], scores_in_outbreaks: List[Dict[int | str, float]], detected_sources: List[str | int])[source]
Bases:
object- G: Graph
- IG: Graph
- config: SourceDetectionConfig
- detected_sources: List[str | int]
- global_scores: Dict[int | str, float]
- scores_in_outbreaks: List[Dict[int | str, float]]