import { ClassificationMetrics, TrainedClassifier } from './graph-classifier.js'; /** * Configuration for the classification evaluation. */ export interface ClassificationEvaluationConfig { /** Number of training graphs per synthetic class (default: 50) */ trainPerClass?: number; /** Number of test graphs per synthetic class (default: 20) */ testPerClass?: number; /** Minimum node count for generated graphs (default: 30) */ minNodes?: number; /** Maximum node count for generated graphs (default: 100) */ maxNodes?: number; /** Base seed for reproducibility (default: 42) */ seed?: number; } /** * Full evaluation result including metrics and the trained classifier. */ export interface ClassificationEvaluationResult { /** Multi-class classification metrics */ metrics: ClassificationMetrics; /** The trained classifier (for reuse or inspection) */ classifier: TrainedClassifier; /** Number of training examples used */ trainingSize: number; /** Number of test examples evaluated */ testSize: number; } /** * Run the full classification evaluation pipeline. * * 1. Generates training graphs for ER, BA, and WS classes. * 2. Loads real-world benchmark graphs for the real-world class. * 3. Extracts structural features from all graphs. * 4. Trains a nearest-centroid classifier with z-score normalisation. * 5. Generates test graphs and classifies them. * 6. Computes and returns multi-class metrics. * * @param config - Optional evaluation configuration * @returns Classification metrics including accuracy, per-class F1, and macro F1 */ export declare const runClassificationEvaluation: (config?: ClassificationEvaluationConfig) => Promise; //# sourceMappingURL=classification-evaluator.d.ts.map