{
  "title": "ToxicScope · đánh giá các mô hình đang triển khai",
  "dataset": {
    "name": "UIT-ViHSD",
    "train_n": 22108,
    "dev_n": 2667,
    "dev_tune_n": 2311,
    "test_official": 6671,
    "test_unseen_train": 5783,
    "test_strict": 5693,
    "sha256": {
      "train": "ba517754a702734ac8ac30bcededb9cd41e1101fc27df3845885c6dca3746ff4",
      "dev": "affcff21e6f67aba4f1fa692fe84a1ce380d62485c8d14f9d61916aac633d637",
      "test": "b00203fd0d678ccdc9e999599f626d01f9bc0c163abac40a85a304a61820249a"
    }
  },
  "records": [
    {
      "id": "tf_idf_logisticregression",
      "name": "TF-IDF + LogisticRegression",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8674861340128917,
      "precision_macro": 0.7649697776336779,
      "recall_macro": 0.8102055166799891,
      "f1_macro": 0.7838919907769117,
      "precision_toxic": 0.5892086330935252,
      "recall_toxic": 0.7234982332155477,
      "f1_toxic": 0.6494845360824743,
      "confusion_matrix": [
        [
          4968,
          571
        ],
        [
          313,
          819
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.9018224131232626,
      "average_precision": 0.7118911683347365,
      "brier": 0.09839716825287774,
      "ece": 0.015112003415893742,
      "calibration_bins": [
        {
          "confidence": 0.5499637297706451,
          "accuracy": 0.5393013100436681,
          "n": 458
        },
        {
          "confidence": 0.6510037812594371,
          "accuracy": 0.6947368421052632,
          "n": 570
        },
        {
          "confidence": 0.7521962978465243,
          "accuracy": 0.7544696066746126,
          "n": 839
        },
        {
          "confidence": 0.8572271456107556,
          "accuracy": 0.8844415752098128,
          "n": 1549
        },
        {
          "confidence": 0.9567009264778356,
          "accuracy": 0.9649769585253456,
          "n": 3255
        }
      ]
    },
    {
      "id": "tf_idf_logisticregression",
      "name": "TF-IDF + LogisticRegression",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.859761369531385,
      "precision_macro": 0.7634419069447435,
      "recall_macro": 0.8025336230941527,
      "f1_macro": 0.7800054083808325,
      "precision_toxic": 0.5931528662420382,
      "recall_toxic": 0.7129186602870813,
      "f1_toxic": 0.6475445458496306,
      "confusion_matrix": [
        [
          4227,
          511
        ],
        [
          300,
          745
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8948022806546279,
      "average_precision": 0.7109462413455182,
      "brier": 0.10354063195646718,
      "ece": 0.012416070624121898,
      "calibration_bins": [
        {
          "confidence": 0.550417925253084,
          "accuracy": 0.5391923990498813,
          "n": 421
        },
        {
          "confidence": 0.6512952327658428,
          "accuracy": 0.689922480620155,
          "n": 516
        },
        {
          "confidence": 0.7518816871709946,
          "accuracy": 0.7479784366576819,
          "n": 742
        },
        {
          "confidence": 0.8568070844401899,
          "accuracy": 0.8796771826852531,
          "n": 1363
        },
        {
          "confidence": 0.9565573242590206,
          "accuracy": 0.961327982488143,
          "n": 2741
        }
      ]
    },
    {
      "id": "tf_idf_logisticregression",
      "name": "TF-IDF + LogisticRegression",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.8593008958369928,
      "precision_macro": 0.7634258890345762,
      "recall_macro": 0.8021666964422969,
      "f1_macro": 0.7798529380029757,
      "precision_toxic": 0.5935483870967742,
      "recall_toxic": 0.712487899322362,
      "f1_toxic": 0.6476022877254729,
      "confusion_matrix": [
        [
          4156,
          504
        ],
        [
          297,
          736
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8947496561953392,
      "average_precision": 0.7108839136437404,
      "brier": 0.10375649470723876,
      "ece": 0.01280170948013738,
      "calibration_bins": [
        {
          "confidence": 0.5503568341307596,
          "accuracy": 0.5382775119617225,
          "n": 418
        },
        {
          "confidence": 0.6513714726594386,
          "accuracy": 0.69140625,
          "n": 512
        },
        {
          "confidence": 0.7519712224856623,
          "accuracy": 0.7472677595628415,
          "n": 732
        },
        {
          "confidence": 0.856791345480997,
          "accuracy": 0.8797610156833457,
          "n": 1339
        },
        {
          "confidence": 0.9564881700798858,
          "accuracy": 0.9613670133729569,
          "n": 2692
        }
      ],
      "f1_macro_ci95": {
        "low": 0.766784405741994,
        "high": 0.7928838657555131,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "tf_idf_linearsvm",
      "name": "TF-IDF + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8647878878728826,
      "precision_macro": 0.7611021761050558,
      "recall_macro": 0.8085806746507419,
      "f1_macro": 0.7806894173869814,
      "precision_toxic": 0.5816761363636364,
      "recall_toxic": 0.7234982332155477,
      "f1_toxic": 0.6448818897637796,
      "confusion_matrix": [
        [
          4950,
          589
        ],
        [
          313,
          819
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8998963022882394,
      "average_precision": 0.7060766637080691
    },
    {
      "id": "tf_idf_linearsvm",
      "name": "TF-IDF + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.8568217188310565,
      "precision_macro": 0.7594153588307038,
      "recall_macro": 0.801485495464745,
      "f1_macro": 0.7769196193466368,
      "precision_toxic": 0.5849647611589663,
      "recall_toxic": 0.7148325358851675,
      "f1_toxic": 0.6434108527131783,
      "confusion_matrix": [
        [
          4208,
          530
        ],
        [
          298,
          747
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8926591681629339,
      "average_precision": 0.7041728008650587
    },
    {
      "id": "tf_idf_linearsvm",
      "name": "TF-IDF + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.8563147725276655,
      "precision_macro": 0.759344214951746,
      "recall_macro": 0.8010961240438907,
      "f1_macro": 0.776724203731995,
      "precision_toxic": 0.5852498017446471,
      "recall_toxic": 0.7144240077444337,
      "f1_toxic": 0.6434176111595467,
      "confusion_matrix": [
        [
          4137,
          523
        ],
        [
          295,
          738
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8925135756100196,
      "average_precision": 0.7040366236364622,
      "f1_macro_ci95": {
        "low": 0.7624334198923193,
        "high": 0.7908960638698301,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "tf_idf_complementnb",
      "name": "TF-IDF + ComplementNB",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8342077649527807,
      "precision_macro": 0.7270225694751892,
      "recall_macro": 0.8066828725573942,
      "f1_macro": 0.7524978571202379,
      "precision_toxic": 0.5076201641266119,
      "recall_toxic": 0.765017667844523,
      "f1_toxic": 0.6102889358703312,
      "confusion_matrix": [
        [
          4699,
          840
        ],
        [
          266,
          866
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8836400671882068,
      "average_precision": 0.6870278932032265,
      "brier": 0.13444690808533152,
      "ece": 0.08395201123874507,
      "calibration_bins": [
        {
          "confidence": 0.5426224065699571,
          "accuracy": 0.5130007027406887,
          "n": 1423
        },
        {
          "confidence": 0.6497491473465429,
          "accuracy": 0.7670498084291187,
          "n": 1305
        },
        {
          "confidence": 0.751455907772484,
          "accuracy": 0.8612244897959184,
          "n": 1470
        },
        {
          "confidence": 0.8482821255111335,
          "accuracy": 0.9525888958203369,
          "n": 1603
        },
        {
          "confidence": 0.9376422398485559,
          "accuracy": 0.9793103448275862,
          "n": 870
        }
      ]
    },
    {
      "id": "tf_idf_complementnb",
      "name": "TF-IDF + ComplementNB",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.8229292754625627,
      "precision_macro": 0.723984474017744,
      "recall_macro": 0.7998215587704824,
      "f1_macro": 0.7473478700873604,
      "precision_toxic": 0.5066666666666667,
      "recall_toxic": 0.7636363636363637,
      "f1_toxic": 0.6091603053435114,
      "confusion_matrix": [
        [
          3961,
          777
        ],
        [
          247,
          798
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8772978726412332,
      "average_precision": 0.6904812510668135,
      "brier": 0.13944677097087846,
      "ece": 0.07963198588689797,
      "calibration_bins": [
        {
          "confidence": 0.5421625825407855,
          "accuracy": 0.5089216446858029,
          "n": 1289
        },
        {
          "confidence": 0.64927653595321,
          "accuracy": 0.7564322469982847,
          "n": 1166
        },
        {
          "confidence": 0.7509486983222149,
          "accuracy": 0.8519398258115598,
          "n": 1263
        },
        {
          "confidence": 0.8481597561307355,
          "accuracy": 0.9492158327109783,
          "n": 1339
        },
        {
          "confidence": 0.9382165759637555,
          "accuracy": 0.9793388429752066,
          "n": 726
        }
      ]
    },
    {
      "id": "tf_idf_complementnb",
      "name": "TF-IDF + ComplementNB",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.822062181626559,
      "precision_macro": 0.7238075961460912,
      "recall_macro": 0.7997633876080752,
      "f1_macro": 0.747063771101798,
      "precision_toxic": 0.5064102564102564,
      "recall_toxic": 0.7647628267182962,
      "f1_toxic": 0.6093328191284226,
      "confusion_matrix": [
        [
          3890,
          770
        ],
        [
          243,
          790
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8772980900664343,
      "average_precision": 0.689624203168729,
      "brier": 0.13974727613262627,
      "ece": 0.07897182460993987,
      "calibration_bins": [
        {
          "confidence": 0.5423150644905071,
          "accuracy": 0.510236220472441,
          "n": 1270
        },
        {
          "confidence": 0.649230371187661,
          "accuracy": 0.7567099567099567,
          "n": 1155
        },
        {
          "confidence": 0.7510371050313057,
          "accuracy": 0.8503236245954693,
          "n": 1236
        },
        {
          "confidence": 0.8480675250330503,
          "accuracy": 0.9490106544901066,
          "n": 1314
        },
        {
          "confidence": 0.9382310110928773,
          "accuracy": 0.979108635097493,
          "n": 718
        }
      ],
      "f1_macro_ci95": {
        "low": 0.7351596162747882,
        "high": 0.7597304143166433,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "word2vec_logisticregression",
      "name": "Word2Vec + LogisticRegression",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.7997301753859991,
      "precision_macro": 0.6956892813059482,
      "recall_macro": 0.7862724292951299,
      "f1_macro": 0.7173792708047937,
      "precision_toxic": 0.4473684210526316,
      "recall_toxic": 0.7659010600706714,
      "f1_toxic": 0.5648208469055375,
      "confusion_matrix": [
        [
          4468,
          1071
        ],
        [
          265,
          867
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8685878706531329,
      "average_precision": 0.5953756701269677,
      "brier": 0.1415505111444177,
      "ece": 0.026589724999244238,
      "calibration_bins": [
        {
          "confidence": 0.5498981092546008,
          "accuracy": 0.5402843601895735,
          "n": 1055
        },
        {
          "confidence": 0.6522237093359827,
          "accuracy": 0.6891143911439115,
          "n": 1084
        },
        {
          "confidence": 0.7518390447712529,
          "accuracy": 0.8115555555555556,
          "n": 1125
        },
        {
          "confidence": 0.8520138036881205,
          "accuracy": 0.872624912033779,
          "n": 1421
        },
        {
          "confidence": 0.9545712948313386,
          "accuracy": 0.9390735146022156,
          "n": 1986
        }
      ]
    },
    {
      "id": "word2vec_logisticregression",
      "name": "Word2Vec + LogisticRegression",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.7938786097181394,
      "precision_macro": 0.6994106283278159,
      "recall_macro": 0.7850760723136365,
      "f1_macro": 0.7194255052211258,
      "precision_toxic": 0.45821489482660605,
      "recall_toxic": 0.7712918660287081,
      "f1_toxic": 0.5748930099857347,
      "confusion_matrix": [
        [
          3785,
          953
        ],
        [
          239,
          806
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8662251247674811,
      "average_precision": 0.6131660167725528,
      "brier": 0.14506953173923118,
      "ece": 0.025300319743245907,
      "calibration_bins": [
        {
          "confidence": 0.5496910820492401,
          "accuracy": 0.5411522633744856,
          "n": 972
        },
        {
          "confidence": 0.6523067933605371,
          "accuracy": 0.6922290388548057,
          "n": 978
        },
        {
          "confidence": 0.7517685868491933,
          "accuracy": 0.8115653040877367,
          "n": 1003
        },
        {
          "confidence": 0.8513369649211422,
          "accuracy": 0.8677551020408163,
          "n": 1225
        },
        {
          "confidence": 0.9531960971140656,
          "accuracy": 0.9414330218068536,
          "n": 1605
        }
      ]
    },
    {
      "id": "word2vec_logisticregression",
      "name": "Word2Vec + LogisticRegression",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.79343052871948,
      "precision_macro": 0.6995904285074798,
      "recall_macro": 0.784911233999061,
      "f1_macro": 0.7194805064207637,
      "precision_toxic": 0.4588370754173863,
      "recall_toxic": 0.771539206195547,
      "f1_toxic": 0.5754512635379061,
      "confusion_matrix": [
        [
          3720,
          940
        ],
        [
          236,
          797
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8663942888956289,
      "average_precision": 0.6127616423566498,
      "brier": 0.14523158590127552,
      "ece": 0.02519075045419448,
      "calibration_bins": [
        {
          "confidence": 0.5497361928155472,
          "accuracy": 0.5407949790794979,
          "n": 956
        },
        {
          "confidence": 0.6523859690355135,
          "accuracy": 0.6911917098445596,
          "n": 965
        },
        {
          "confidence": 0.7516876689034191,
          "accuracy": 0.8106212424849699,
          "n": 998
        },
        {
          "confidence": 0.8512170722613547,
          "accuracy": 0.8684429641965029,
          "n": 1201
        },
        {
          "confidence": 0.9528999360933477,
          "accuracy": 0.9415130324221234,
          "n": 1573
        }
      ],
      "f1_macro_ci95": {
        "low": 0.7076337385595703,
        "high": 0.7335132906518478,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "word2vec_linearsvm",
      "name": "Word2Vec + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.7991305651326638,
      "precision_macro": 0.6945978635497613,
      "recall_macro": 0.7841542177313836,
      "f1_macro": 0.7161438129656134,
      "precision_toxic": 0.44616977225672877,
      "recall_toxic": 0.7614840989399293,
      "f1_toxic": 0.5626631853785901,
      "confusion_matrix": [
        [
          4469,
          1070
        ],
        [
          270,
          862
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8679499271787524,
      "average_precision": 0.5932403086968598
    },
    {
      "id": "word2vec_linearsvm",
      "name": "Word2Vec + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.7931869272004151,
      "precision_macro": 0.6981925348817128,
      "recall_macro": 0.782789257575421,
      "f1_macro": 0.7180733566207353,
      "precision_toxic": 0.4569309754706218,
      "recall_toxic": 0.7665071770334928,
      "f1_toxic": 0.5725518227305219,
      "confusion_matrix": [
        [
          3786,
          952
        ],
        [
          244,
          801
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8654174434128223,
      "average_precision": 0.610953984007181
    },
    {
      "id": "word2vec_linearsvm",
      "name": "Word2Vec + LinearSVM",
      "origin": "refit_classifier_frozen_parameters",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.7927279114702266,
      "precision_macro": 0.6983555650429514,
      "recall_macro": 0.7825983946088106,
      "f1_macro": 0.7181116458720851,
      "precision_toxic": 0.45753899480069327,
      "recall_toxic": 0.7666989351403679,
      "f1_toxic": 0.573082489146165,
      "confusion_matrix": [
        [
          3721,
          939
        ],
        [
          241,
          792
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8656489287005222,
      "average_precision": 0.610803601146644,
      "f1_macro_ci95": {
        "low": 0.7067516226971756,
        "high": 0.7314447692747985,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "fasttext_logisticregression",
      "name": "FastText + LogisticRegression",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8004796882026682,
      "precision_macro": 0.6977434766876908,
      "recall_macro": 0.7909408996406464,
      "f1_macro": 0.719650277566433,
      "precision_toxic": 0.44915687276443533,
      "recall_toxic": 0.7765017667844523,
      "f1_toxic": 0.5691162188410489,
      "confusion_matrix": [
        [
          4461,
          1078
        ],
        [
          253,
          879
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8701637505207214,
      "average_precision": 0.5974812149205576,
      "brier": 0.1413675420499096,
      "ece": 0.020499351515279235,
      "calibration_bins": [
        {
          "confidence": 0.5502390908122478,
          "accuracy": 0.564484126984127,
          "n": 1008
        },
        {
          "confidence": 0.6518289587991023,
          "accuracy": 0.6637426900584795,
          "n": 1026
        },
        {
          "confidence": 0.7511309802808676,
          "accuracy": 0.7998188405797102,
          "n": 1104
        },
        {
          "confidence": 0.8517873694524153,
          "accuracy": 0.8650519031141869,
          "n": 1445
        },
        {
          "confidence": 0.9551005940200528,
          "accuracy": 0.9372605363984674,
          "n": 2088
        }
      ]
    },
    {
      "id": "fasttext_logisticregression",
      "name": "FastText + LogisticRegression",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.7933598478298461,
      "precision_macro": 0.7002041306099077,
      "recall_macro": 0.7881159352966245,
      "f1_macro": 0.7201395518829481,
      "precision_toxic": 0.45786516853932585,
      "recall_toxic": 0.7799043062200957,
      "f1_toxic": 0.5769911504424778,
      "confusion_matrix": [
        [
          3773,
          965
        ],
        [
          230,
          815
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8671501511751674,
      "average_precision": 0.6096631258789565,
      "brier": 0.14577944328583864,
      "ece": 0.02019552550315001,
      "calibration_bins": [
        {
          "confidence": 0.5502294267554144,
          "accuracy": 0.5686695278969958,
          "n": 932
        },
        {
          "confidence": 0.6519385272299226,
          "accuracy": 0.6634199134199135,
          "n": 924
        },
        {
          "confidence": 0.7510381995812849,
          "accuracy": 0.7937310414560161,
          "n": 989
        },
        {
          "confidence": 0.8512917756421987,
          "accuracy": 0.8643933386201428,
          "n": 1261
        },
        {
          "confidence": 0.9542346197685835,
          "accuracy": 0.936195587358378,
          "n": 1677
        }
      ]
    },
    {
      "id": "fasttext_logisticregression",
      "name": "FastText + LogisticRegression",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.79290356578254,
      "precision_macro": 0.7005301152254814,
      "recall_macro": 0.7883566552688324,
      "f1_macro": 0.720334276531881,
      "precision_toxic": 0.45852272727272725,
      "recall_toxic": 0.7812197483059051,
      "f1_toxic": 0.5778732545649838,
      "confusion_matrix": [
        [
          3707,
          953
        ],
        [
          226,
          807
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.8669298347660259,
      "average_precision": 0.6092409013536338,
      "brier": 0.14615874058155695,
      "ece": 0.02029852341917692,
      "calibration_bins": [
        {
          "confidence": 0.5502598916776088,
          "accuracy": 0.5698808234019501,
          "n": 923
        },
        {
          "confidence": 0.6520110183647588,
          "accuracy": 0.661925601750547,
          "n": 914
        },
        {
          "confidence": 0.7511478117386385,
          "accuracy": 0.7961065573770492,
          "n": 976
        },
        {
          "confidence": 0.8512751440840415,
          "accuracy": 0.8637820512820513,
          "n": 1248
        },
        {
          "confidence": 0.9539822847444802,
          "accuracy": 0.9362745098039216,
          "n": 1632
        }
      ],
      "f1_macro_ci95": {
        "low": 0.7084017311949964,
        "high": 0.733976739639865,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "fasttext_linearsvm",
      "name": "FastText + LinearSVM",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8001798830760006,
      "precision_macro": 0.6972610517821467,
      "recall_macro": 0.790057507414498,
      "f1_macro": 0.7191019037226463,
      "precision_toxic": 0.44859335038363174,
      "recall_toxic": 0.7747349823321554,
      "f1_toxic": 0.5681891804340784,
      "confusion_matrix": [
        [
          4461,
          1078
        ],
        [
          255,
          877
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.8698634386301568,
      "average_precision": 0.5948586487496703
    },
    {
      "id": "fasttext_linearsvm",
      "name": "FastText + LinearSVM",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.7933598478298461,
      "precision_macro": 0.6996676886868111,
      "recall_macro": 0.786624178736107,
      "f1_macro": 0.7196014044183274,
      "precision_toxic": 0.45767494356659144,
      "recall_toxic": 0.7760765550239235,
      "f1_toxic": 0.5757898473553426,
      "confusion_matrix": [
        [
          3777,
          961
        ],
        [
          234,
          811
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.8667950864536144,
      "average_precision": 0.6067000969255985
    },
    {
      "id": "fasttext_linearsvm",
      "name": "FastText + LinearSVM",
      "origin": "retrained_fasttext_and_classifier",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.7927279114702266,
      "precision_macro": 0.6998481211324459,
      "recall_macro": 0.786742435258778,
      "f1_macro": 0.7196221973655654,
      "precision_toxic": 0.4580718767826583,
      "recall_toxic": 0.7773475314617618,
      "f1_toxic": 0.5764536970567121,
      "confusion_matrix": [
        [
          3710,
          950
        ],
        [
          230,
          803
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.866570865307513,
      "average_precision": 0.6062142728906258,
      "f1_macro_ci95": {
        "low": 0.7073271318829341,
        "high": 0.7337991376649032,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "word2vec_bilstm128",
      "name": "Word2Vec + BiLSTM128",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8844251236696148,
      "precision_macro": 0.7921028818628493,
      "recall_macro": 0.8154859343033051,
      "f1_macro": 0.8029230894261778,
      "precision_toxic": 0.644515612489992,
      "recall_toxic": 0.7111307420494699,
      "f1_toxic": 0.6761864762704746,
      "confusion_matrix": [
        [
          5095,
          444
        ],
        [
          327,
          805
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.9139431796506239,
      "average_precision": 0.7375757498487866,
      "brier": 0.10112220623428374,
      "ece": 0.03776411843540273,
      "calibration_bins": [
        {
          "confidence": 0.5445390948618966,
          "accuracy": 0.6252873563218391,
          "n": 435
        },
        {
          "confidence": 0.6515008153079392,
          "accuracy": 0.6103896103896104,
          "n": 385
        },
        {
          "confidence": 0.7537072702641889,
          "accuracy": 0.7271062271062271,
          "n": 546
        },
        {
          "confidence": 0.8543698505701123,
          "accuracy": 0.7740784780023782,
          "n": 841
        },
        {
          "confidence": 0.9746688872222734,
          "accuracy": 0.9480286738351255,
          "n": 4464
        }
      ]
    },
    {
      "id": "word2vec_bilstm128",
      "name": "Word2Vec + BiLSTM128",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.8780909562510808,
      "precision_macro": 0.7917162602824097,
      "recall_macro": 0.8118550818890735,
      "f1_macro": 0.8010968174876089,
      "precision_toxic": 0.6491228070175439,
      "recall_toxic": 0.7081339712918661,
      "f1_toxic": 0.6773455377574371,
      "confusion_matrix": [
        [
          4338,
          400
        ],
        [
          305,
          740
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.9088796476012934,
      "average_precision": 0.7412588607036626,
      "brier": 0.10645271421250699,
      "ece": 0.042573159375017336,
      "calibration_bins": [
        {
          "confidence": 0.5441642050115997,
          "accuracy": 0.630272952853598,
          "n": 403
        },
        {
          "confidence": 0.6511015664325671,
          "accuracy": 0.6095505617977528,
          "n": 356
        },
        {
          "confidence": 0.7540878283350091,
          "accuracy": 0.7052631578947368,
          "n": 475
        },
        {
          "confidence": 0.8544290351338032,
          "accuracy": 0.7718832891246684,
          "n": 754
        },
        {
          "confidence": 0.97398560913976,
          "accuracy": 0.9446640316205533,
          "n": 3795
        }
      ]
    },
    {
      "id": "word2vec_bilstm128",
      "name": "Word2Vec + BiLSTM128",
      "origin": "original_checkpoint",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.8780959072545231,
      "precision_macro": 0.7923481339059077,
      "recall_macro": 0.8125171902330393,
      "f1_macro": 0.8017407527840001,
      "precision_toxic": 0.650399290150843,
      "recall_toxic": 0.7095837366892546,
      "f1_toxic": 0.6787037037037037,
      "confusion_matrix": [
        [
          4266,
          394
        ],
        [
          300,
          733
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.9088057617921883,
      "average_precision": 0.74172704292738,
      "brier": 0.10649624673068765,
      "ece": 0.04224035531803789,
      "calibration_bins": [
        {
          "confidence": 0.5446874088694527,
          "accuracy": 0.6297229219143576,
          "n": 397
        },
        {
          "confidence": 0.6513020808031077,
          "accuracy": 0.6125356125356125,
          "n": 351
        },
        {
          "confidence": 0.7542035751986044,
          "accuracy": 0.7066381156316917,
          "n": 467
        },
        {
          "confidence": 0.8544945566451805,
          "accuracy": 0.7727272727272727,
          "n": 748
        },
        {
          "confidence": 0.9739231141545652,
          "accuracy": 0.9445040214477212,
          "n": 3730
        }
      ],
      "f1_macro_ci95": {
        "low": 0.7895601143247579,
        "high": 0.8142838929444232,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "majority",
      "name": "Majority · luôn SAFE",
      "origin": "train_majority",
      "source": "inference_on_supplied_test",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.830310298306101,
      "precision_macro": 0.4151551491530505,
      "recall_macro": 0.5,
      "f1_macro": 0.45364455364455364,
      "precision_toxic": 0.0,
      "recall_toxic": 0.0,
      "f1_toxic": 0.0,
      "confusion_matrix": [
        [
          5539,
          0
        ],
        [
          1132,
          0
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": null,
      "average_precision": null
    },
    {
      "id": "majority",
      "name": "Majority · luôn SAFE",
      "origin": "train_majority",
      "source": "inference_on_supplied_test",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.8192979422445098,
      "precision_macro": 0.4096489711222549,
      "recall_macro": 0.5,
      "f1_macro": 0.4503374203973006,
      "precision_toxic": 0.0,
      "recall_toxic": 0.0,
      "f1_toxic": 0.0,
      "confusion_matrix": [
        [
          4738,
          0
        ],
        [
          1045,
          0
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": null,
      "average_precision": null
    },
    {
      "id": "majority",
      "name": "Majority · luôn SAFE",
      "origin": "train_majority",
      "source": "inference_on_supplied_test",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.8185490953802916,
      "precision_macro": 0.4092745476901458,
      "recall_macro": 0.5,
      "f1_macro": 0.45011107891432434,
      "precision_toxic": 0.0,
      "recall_toxic": 0.0,
      "f1_toxic": 0.0,
      "confusion_matrix": [
        [
          4660,
          0
        ],
        [
          1033,
          0
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": null,
      "average_precision": null,
      "f1_macro_ci95": {
        "low": 0.45011107891432434,
        "high": 0.45011107891432434,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    },
    {
      "id": "phobert",
      "name": "PhoBERT · seed 87",
      "origin": "original_checkpoint",
      "source": "supplied_predictions_verified_16_rows",
      "subset": "test_official",
      "n": 6671,
      "accuracy": 0.8853245390496177,
      "precision_macro": 0.7924550652593598,
      "recall_macro": 0.8311389141053768,
      "f1_macro": 0.8094223568394834,
      "precision_toxic": 0.6380737396538751,
      "recall_toxic": 0.7491166077738516,
      "f1_toxic": 0.6891507517269403,
      "confusion_matrix": [
        [
          5058,
          481
        ],
        [
          284,
          848
        ]
      ],
      "class_support": {
        "SAFE": 5539,
        "TOXIC": 1132
      },
      "auroc": 0.9201968597870417,
      "average_precision": 0.746005333405351,
      "brier": 0.08889600727834385,
      "ece": 0.0475535631134612,
      "calibration_bins": [
        {
          "confidence": 0.5484955890867579,
          "accuracy": 0.5159817351598174,
          "n": 219
        },
        {
          "confidence": 0.6509833130120481,
          "accuracy": 0.6104417670682731,
          "n": 249
        },
        {
          "confidence": 0.7540045937025317,
          "accuracy": 0.6518987341772152,
          "n": 316
        },
        {
          "confidence": 0.85496274701875,
          "accuracy": 0.7333333333333333,
          "n": 480
        },
        {
          "confidence": 0.9787991252822081,
          "accuracy": 0.9400776770852598,
          "n": 5407
        }
      ]
    },
    {
      "id": "phobert",
      "name": "PhoBERT · seed 87",
      "origin": "original_checkpoint",
      "source": "supplied_predictions_verified_16_rows",
      "subset": "test_unseen_train",
      "n": 5783,
      "accuracy": 0.8787826387688051,
      "precision_macro": 0.7916730436906982,
      "recall_macro": 0.8279406448120763,
      "f1_macro": 0.8075697431475597,
      "precision_toxic": 0.6409836065573771,
      "recall_toxic": 0.7483253588516746,
      "f1_toxic": 0.6905077262693157,
      "confusion_matrix": [
        [
          4300,
          438
        ],
        [
          263,
          782
        ]
      ],
      "class_support": {
        "SAFE": 4738,
        "TOXIC": 1045
      },
      "auroc": 0.9155764954425282,
      "average_precision": 0.7504959810124222,
      "brier": 0.09346905944632085,
      "ece": 0.05024945781407575,
      "calibration_bins": [
        {
          "confidence": 0.5484721264390244,
          "accuracy": 0.5170731707317073,
          "n": 205
        },
        {
          "confidence": 0.651924384059829,
          "accuracy": 0.6025641025641025,
          "n": 234
        },
        {
          "confidence": 0.7543805418150685,
          "accuracy": 0.6575342465753424,
          "n": 292
        },
        {
          "confidence": 0.8546443835954022,
          "accuracy": 0.7241379310344828,
          "n": 435
        },
        {
          "confidence": 0.9780281779672515,
          "accuracy": 0.9374052414988088,
          "n": 4617
        }
      ]
    },
    {
      "id": "phobert",
      "name": "PhoBERT · seed 87",
      "origin": "original_checkpoint",
      "source": "supplied_predictions_verified_16_rows",
      "subset": "test_strict",
      "n": 5693,
      "accuracy": 0.877568944317583,
      "precision_macro": 0.7904562877611053,
      "recall_macro": 0.8265110786118186,
      "f1_macro": 0.8062502328476089,
      "precision_toxic": 0.6393034825870647,
      "recall_toxic": 0.7463697967086157,
      "f1_toxic": 0.6887003126395712,
      "confusion_matrix": [
        [
          4225,
          435
        ],
        [
          262,
          771
        ]
      ],
      "class_support": {
        "SAFE": 4660,
        "TOXIC": 1033
      },
      "auroc": 0.9152610838052424,
      "average_precision": 0.74920774038948,
      "brier": 0.09415370059506872,
      "ece": 0.05116635465921293,
      "calibration_bins": [
        {
          "confidence": 0.5487033770588234,
          "accuracy": 0.5147058823529411,
          "n": 204
        },
        {
          "confidence": 0.6516102766521739,
          "accuracy": 0.5956521739130435,
          "n": 230
        },
        {
          "confidence": 0.7543805418150685,
          "accuracy": 0.6575342465753424,
          "n": 292
        },
        {
          "confidence": 0.8546024565433255,
          "accuracy": 0.7189695550351288,
          "n": 427
        },
        {
          "confidence": 0.9780374091125329,
          "accuracy": 0.9372246696035242,
          "n": 4540
        }
      ],
      "f1_macro_ci95": {
        "low": 0.7934905084774402,
        "high": 0.8192003252356415,
        "resamples": 300,
        "seed": 42,
        "method": "stratified paired percentile"
      }
    }
  ],
  "phobert_verification": {
    "sample_n": 16,
    "seed": 42,
    "max_abs_probability_difference": 9.137122665403563e-05,
    "tolerance": 0.0001,
    "policy": "Full report uses supplied predictions; 16 sampled rows verified by live checkpoint inference."
  },
  "baseline_historical_agreement": [
    {
      "id": "tf_idf_logisticregression",
      "agreement": 1.0
    },
    {
      "id": "tf_idf_linearsvm",
      "agreement": 1.0
    },
    {
      "id": "tf_idf_complementnb",
      "agreement": 1.0
    },
    {
      "id": "word2vec_logisticregression",
      "agreement": 1.0
    },
    {
      "id": "word2vec_linearsvm",
      "agreement": 1.0
    },
    {
      "id": "fasttext_logisticregression",
      "agreement": 1.0
    },
    {
      "id": "fasttext_linearsvm",
      "agreement": 1.0
    }
  ],
  "notes": [
    "Test official là 6.671 dòng còn lại sau tiền xử lý, không phải toàn bộ 6.680 dòng thô.",
    "Test strict loại clean xuất hiện trong Train hoặc Dev tune; vẫn có va chạm ở biểu diễn token. Không khẳng định độc lập tuyệt đối ở mọi mức biểu diễn.",
    "Checkpoint BiLSTM (Word2Vec + BiLSTM128, ngưỡng 0,67), baseline và PhoBERT đều được chọn trên Dev tune; ngưỡng BiLSTM được khóa bằng Dev tune trước khi đánh giá Test.",
    "6 classifier baseline được fit lại bằng tham số Dev đã chốt. FastText baseline được train lại vì file gốc thiếu vectors_ngrams.npy; chỉ số hiện tại không thay thế báo cáo lịch sử.",
    "27 cấu hình DL chưa có trọng số; không được đưa vào vote hay bịa chỉ số Test. 33 dòng Dev lịch sử chứa 30 cấu hình phân biệt.",
    "Điểm Dev và Test trình bày riêng. Mô hình Majority luôn SAFE được dùng làm đối chứng và bị loại khỏi vote.",
    "Khoảng tin cậy F1: bootstrap phân tầng 300 lần trên cặp nhãn/dự đoán; chỉ phản ánh bất định lấy mẫu, không phản ánh phương sai huấn luyện.",
    "Phân loại độc hại là thành phần của đề tài. Không có cạnh lan truyền/timestamp trong dữ liệu hiện có để đo mạng lan truyền thực tế."
  ]
}