| Artifact | Algorithm | Task |
|---|---|---|
graphsage.pt | GraphSAGE | Node embedding |
gat.pt | Graph Attention Network | Node embedding |
gcn.pt | Graph Convolutional Network | Node embedding |
node_classifier.pt | MLP head | Node classification |
link_predictor.pt | MLP scorer | Link prediction |
node2vec_embeddings.json | Node2Vec | Baseline embeddings |
logistic_regression.joblib | LR on Node2Vec | Baseline classifier |
random_forest.joblib | RF on Node2Vec | Baseline classifier |
1from threatgraph.pipeline import ThreatGraphPipeline
2pipeline = ThreatGraphPipeline(data_dir="data", model_dir=".")
3result = pipeline.analyze("evil.example.com")
4print(result.risk_score, result.malicious_probability)train_metrics.json for reproducible benchmark results.