Complete capstone exemplar: historical phishing triage

{
  "project": "phishing-triage",
  "selected_family": "forest",
  "threshold": 0.3,
  "training_seeds": [
    11,
    23,
    37,
    53,
    71
  ],
  "inner_cv_fits": 30,
  "evaluation": {
    "selected": "forest",
    "threshold": 0.3,
    "test_rows": 2107,
    "ensemble": {
      "method": "frozen_ensemble",
      "seed": null,
      "n": 2107,
      "tp": 883,
      "tn": 1089,
      "fp": 114,
      "fn": 21,
      "precision": 0.8856569709127382,
      "recall": 0.9767699115044248,
      "specificity": 0.9052369077306733,
      "selection_rate": 0.4731846226862838,
      "fpr": 0.09476309226932668,
      "balanced_accuracy": 0.941003409617549,
      "f1": 0.9289847448711205,
      "cost_per_1000": 103.93925011865211,
      "brier": 0.03998443666933738
    },
    "baseline": {
      "method": "training_prior",
      "seed": null,
      "n": 2107,
      "tp": 904,
      "tn": 0,
      "fp": 1203,
      "fn": 0,
      "precision": 0.4290460370194589,
      "recall": 1.0,
      "specificity": 0.0,
      "selection_rate": 1.0,
      "fpr": 1.0,
      "balanced_accuracy": 0.5,
      "f1": 0.6004649618067087,
      "cost_per_1000": 570.9539629805411,
      "brier": 0.2453431477663539
    },
    "test_labels_used_for_selection": false,
    "uncertainty": "Illustrative exact-profile bootstrap conditional on this split and fixed models; not domain/campaign independence or population coverage."
  },
  "split_sensitivity_run": true,
  "live_deployment_approved": false
}

Historical UCI Phishing Websites, DOI:10.24432/C51W2X, CC BY 4.0. No live URLs, customer records or credentials are used.

Hyperparameters use group CV inside training. Threshold/family choices use mean validation cost across the predeclared training seeds. Final labels select neither configuration nor seed.

Every stochastic run is reported; no best-seed cherry-picking. Seed standard deviation is conditional on fixed data and is not a confidence interval for generalization.

The profile bootstrap is illustrative and conditional on the split and frozen models; exact-profile grouping cannot establish domain/campaign/time independence.

Source-order monitoring is an offline rehearsal. The release decision rejects live deployment pending prospective evidence, feature-availability review and operational approval.

Cv Choices

Download cv choices (CSV)

cv choices
familyparametersmean_cv_balanced_accuracy
logistic{"C": 1.0}0.9518233110930495
tree{"max_depth": 6}0.9400271758861228
forest{"max_depth": 10, "min_samples_leaf": 3, "n_estimators": 40}0.9548920120151781

Development Stability

Download development stability (CSV)

development stability
familycountmeanstdminmaxbalanced_accuracy_meanbalanced_accuracy_stdbalanced_accuracy_minbalanced_accuracy_maxrecall_meanrecall_stdrecall_minrecall_maxprecision_meanprecision_stdprecision_minprecision_max
dummy1553.3522190745987nan553.3522190745987553.35221907459870.5nan0.50.51.0nan1.01.00.4466477809254013nan0.44664778092540130.4466477809254013
forest590.27384324834752.74087351722379285.9301227573182393.484419263456080.95308862896766680.00089561577715030.951784593293840.95403856005887920.97716701902748420.00192028563684820.97463002114164920.97991543340380560.91744255006620850.00341952553333570.91403162055335960.922
logistic5100.094428706326720.0100.09442870632672100.094428706326720.94646129923731310.00.94646129923731310.94646129923731310.97568710359408040.00.97568710359408040.97568710359408040.90490196078431360.00.90490196078431360.9049019607843136
tree5130.311614730878180.0130.31161473087818130.311614730878180.91915754497110160.00.91915754497110160.91915754497110160.97568710359408040.00.97568710359408040.97568710359408040.85147601476014740.00.85147601476014760.8514760147601476

Heldout Metrics

Download heldout metrics (CSV)

heldout metrics
methodseedntptnfpfnprecisionrecallspecificityselection_ratefprbalanced_accuracyf1cost_per_1000brier
selected_seed11.021078821086117220.88288288288288290.97566371681415920.90274314214463840.47413383958234450.09725685785536150.93920342947939880.926957435627956107.736117702895110.0408621313675593
selected_seed23.021078811100103230.89532520325203260.97455752212389380.9143807148794680.46701471286188890.0856192851205320.94446911850168080.9332627118644068103.464641670621720.0400998692591013
selected_seed37.021078831078125210.87599206349206350.97676991150442480.89609310058187860.47840531561461790.10390689941812130.93643150604315160.9236401673640168109.159943046986240.0405813050660269
selected_seed53.021078821082121220.87936191425722830.97566371681415920.89941812136325850.47603227337446610.10058187863674140.9375409190887090.9250131095962244109.63455149501660.0400475692403747
selected_seed71.021078791091112250.88698284561049450.97234513274336280.90689941812136320.47033697199810160.09310058187863670.93962227543236320.9277044854881268112.482202183198860.0411252306404681
frozen_ensemblenan21078831089114210.88565697091273820.97676991150442480.90523690773067320.47318462268628380.09476309226932660.9410034096175490.9289847448711204103.939250118652130.0399844366693373
training_priornan21079040120300.42904603701945891.00.01.01.00.50.6004649618067087570.95396298054110.2453431477663539

Training Seed Variation

Download training seed variation (CSV)

training seed variation
metriccountmeanstdminmax
balanced_accuracy50.93945344970906080.00308374214920210.93643150604315160.9444691185016808
precision50.88410898189894030.0074830650219380.87599206349206350.8953252032520326
recall50.9750.00167762731063080.97234513274336280.9767699115044248
cost_per_10005108.495491219743733.298443351474907103.46464167062172112.48220218319886
brier50.04054322111470610.00047013850969610.04004756924037470.0411252306404681

Training Associations

Download training associations (CSV)

training associations
featureminmaxdifference
URL_of_Anchor0.05401563610518830.99056135121708880.9365457151119004
SSLfinal_State0.10379403794037940.98748261474269820.8836885768023187
Prefix_Suffix0.00.51793041926851020.5179304192685102
web_traffic0.25241016652059590.7082172701949860.45580710367439015
having_Sub_Domain0.19430485762144050.63724539282250250.44294053520106197

Illustrative Intervals

Download illustrative intervals (CSV)

illustrative intervals
metriclowhighrepetitions
balanced_accuracy0.92521205757614680.9560217501901044200
recall0.9631618337710110.988043337359324200
cost_per_100074.49384507533905139.9583759900857200

Offline Monitoring

Download offline monitoring (CSV)

offline monitoring
batchrowsmaximum_category_rate_shiftntptnfpfnprecisionrecallspecificityselection_ratefprbalanced_accuracyf1cost_per_1000brier
15270.24945658084625945272192663750.855468750.97767857142857140.87788778877887790.48576850094876660.12211221122112210.92778318010372460.9125117.64705882352940.0459095709543524
25270.16027252012519675272162723450.8640.97737556561085960.88888888888888880.47438330170777980.11111111111111110.93313222724987440.9171974522292994111.954459203036040.0463806134282864
35270.32048289332627045272292652670.89803921568627450.97033898305084740.91065292096219920.48387096774193550.08934707903780060.94049595200652340.9327902240325866115.749525616698280.0349061042606397
45260.30920953313529915262192861740.92796610169491520.98206278026905820.9438943894389440.44866920152091250.05610561056105610.96297858485400120.95424836601307270.342205323193920.032727688112711

Reliability Bins

Download reliability bins (CSV)

reliability bins
binloweruppernmean_probabilityobserved_rate
00.00.210500.05108890493777730.0142857142857142
10.20.41070.2923860160212850.1775700934579439
20.40.6730.51529666272241660.4246575342465753
30.60.8890.72218312088883910.797752808988764
40.81.07880.95519694774787260.9746192893401016

Development Split Sensitivity

Download development split sensitivity (CSV)

development split sensitivity
familysplit_seedtraining_seedfit_rowscheck_rowsntptnfpfnprecisionrecallspecificityselection_ratefprbalanced_accuracyf1cost_per_1000brier
logistic1011748101663166368191927360.9618644067796610.94979079497907960.97145877378435520.42573662056524350.02854122621564480.96062478438171720.9557894736842104124.473842453397480.0303243274267861
tree1011748101663166364490442730.93877551020408160.8981868898186890.9556025369978860.412507516536380.04439746300211410.92689471340828740.918032786885246244.738424533974750.0446277168793531
forest1011748101663166367891234390.9522471910112360.94560669456066960.96405919661733620.42814191220685510.03594080338266380.95483294558900280.9489153254023792137.702946482260980.0334049849028296
logistic2021748821591159165285162260.91316526610644260.96165191740412980.9320920043811610.44877435575109990.06790799561883890.94687196089264560.9367816091954024120.678818353236960.0396003680943416
tree2021748821591159164983776290.89517241379310340.9572271386430680.91675794085432640.45568824638592080.08324205914567360.93699253974869720.925160370634355138.90634820867380.0503782524747674
forest2021748821591159165786746210.93456614509246080.96902654867256640.94961664841182920.44186046511627910.05038335158817080.95932159854219760.951484431571325294.90886235072280.041217921342308
logistic3031747921681168169290936440.95054945054945040.94021739130434780.9619047619047620.43307555026769780.03809523809523810.95106107660455470.9453551912568308152.290303390838770.033321514637529
tree3031747921681168168290045540.9381017881705640.92663043478260860.95238095238095240.43248066627007730.04761904761904760.93950569358178040.9323308270676692187.388459250446150.0457881163692547
forest3031747921681168169492322420.96927374301675960.94293478260869560.97671957671957680.42593694229625220.02328042328042320.95982717966413620.955922865013774138.013087447947640.0339412914513471