<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/v2/static/oai2.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-10-09T19:52:20Z</responseDate>
  <request identifier="oai:figshare.com:article/33969466" metadataPrefix="oai_dc" verb="GetRecord">https://api.figshare.com/v2/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:figshare.com:article/33969466</identifier>
        <datestamp>2026-09-23T09:40:06Z</datestamp>
        <setSpec>category_26245</setSpec>
        <setSpec>category_26254</setSpec>
        <setSpec>item_type_3</setSpec>
        <setSpec>month_year_09_2026</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>Leakage-controlled protocol and confound audit — code and derived data</dc:title>
          <dc:creator>QUOC BAO DIEP (18174814)</dc:creator>
          <dc:subject>Automotive combustion and fuel engineering</dc:subject>
          <dc:subject>Automotive safety engineering</dc:subject>
          <dc:subject>Deep Learning</dc:subject>
          <dc:subject>Diagnosis</dc:subject>
          <dc:subject>Vibration</dc:subject>
          <dc:description>&lt;p dir="ltr"&gt;Code and derived data accompanying the manuscript "When Perfect Accuracy Is Not&lt;/p&gt;&lt;p dir="ltr"&gt;Evidence: A Leakage-Controlled Protocol and Confound Audit for Vibration-Based&lt;/p&gt;&lt;p dir="ltr"&gt;Fault Diagnosis". Everything needed to reproduce the statistical results of the&lt;/p&gt;&lt;p dir="ltr"&gt;article is here.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;WHAT THIS ARCHIVE CONTAINS&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;code/pipeline/     the evaluation pipeline: configuration, windowing, features,&lt;/p&gt;&lt;p dir="ltr"&gt;                   splits, the seven models, training, the four confound probes,&lt;/p&gt;&lt;p dir="ltr"&gt;                   figures&lt;/p&gt;&lt;p dir="ltr"&gt;code/revision/     one standalone script per result, named after the reviewer&lt;/p&gt;&lt;p dir="ltr"&gt;                   point it answers, plus verify_numbers.py, which checks every&lt;/p&gt;&lt;p dir="ltr"&gt;                   number printed in the article against the result file that&lt;/p&gt;&lt;p dir="ltr"&gt;                   produced it&lt;/p&gt;&lt;p dir="ltr"&gt;splits/            the fixed session inventory and the 21 leave-one-session-out&lt;/p&gt;&lt;p dir="ltr"&gt;                   folds, as JSON&lt;/p&gt;&lt;p dir="ltr"&gt;derived/           per-window band-energy features with their record, session and&lt;/p&gt;&lt;p dir="ltr"&gt;                   label indices; the saved held-out probabilities of all seven&lt;/p&gt;&lt;p dir="ltr"&gt;                   deep models; the permutation null&lt;/p&gt;&lt;p dir="ltr"&gt;results/           every JSON produced by the scripts in code/revision&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;FIXED SETTINGS&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;Seed 42 everywhere unless a script states otherwise. Window 4,096 samples, hop&lt;/p&gt;&lt;p dir="ltr"&gt;2,048, per-window z-score. Bands 0-200 Hz, 200-1000 Hz, 1-3 kHz, 3-6.132 kHz.&lt;/p&gt;&lt;p dir="ltr"&gt;Deep models: AdamW, learning rate 1e-3, weight decay 1e-4, cosine annealing,&lt;/p&gt;&lt;p dir="ltr"&gt;batch 128, at most 40 epochs, class-weighted cross-entropy, early stopping with&lt;/p&gt;&lt;p dir="ltr"&gt;patience 8 on one inner-validation session drawn from the training sessions of&lt;/p&gt;&lt;p dir="ltr"&gt;the fold.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;WHICH SCRIPT PRODUCES WHICH TABLE OR FIGURE&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;Table 3, per-session metadata            code/revision/r2_07_session_metadata.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 5, record and session level        code/revision/r2_05_session_level.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 6, Probe 3 clustered interval      code/revision/r2_04_probe3_hierarchical.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 6, permutation within speed strata code/revision/r2_03_restricted_permutation.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 7 and Section VI-C, band-restricted repetition&lt;/p&gt;&lt;p dir="ltr"&gt;                                         code/revision/r2_08_build_lowpass_tensor.py,&lt;/p&gt;&lt;p dir="ltr"&gt;                                         r2_08_lowband_analysis.py,&lt;/p&gt;&lt;p dir="ltr"&gt;                                         r2_08_cohen_d_raw.py, r2_08_gpu_rerun.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 9, multi-seed noise robustness     code/revision/r2_09_multiseed_noise.py&lt;/p&gt;&lt;p dir="ltr"&gt;Table 10, public datasets                code/revision/download_paderborn.sh,&lt;/p&gt;&lt;p dir="ltr"&gt;                                         r2_01_paderborn_build.py,&lt;/p&gt;&lt;p dir="ltr"&gt;                                         r2_01_paderborn_protocol.py,&lt;/p&gt;&lt;p dir="ltr"&gt;                                         r2_01b_cwru.py&lt;/p&gt;&lt;p dir="ltr"&gt;Figure 6, raw and standardized PSD       code/revision/make_figures_revision.py&lt;/p&gt;&lt;p dir="ltr"&gt;Figure 7, novelty-score distributions    code/revision/r2_10_novelty_distribution.py&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;The full mapping is repeated in the README.md inside the archive.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;REPRODUCING WITHOUT THE RAW RECORDINGS&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;derived/band_energy_features.npz holds the per-window feature matrix with its&lt;/p&gt;&lt;p dir="ltr"&gt;record, session and label indices, so every statistical audit in the article can&lt;/p&gt;&lt;p dir="ltr"&gt;be recomputed without downloading the raw recordings. The raw recordings&lt;/p&gt;&lt;p dir="ltr"&gt;themselves, 5.9 gigabytes of one-second records, are available from the&lt;/p&gt;&lt;p dir="ltr"&gt;corresponding author on request.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;PATHS&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;Each script reads a project root defined at the top of the file, and&lt;/p&gt;&lt;p dir="ltr"&gt;code/pipeline/config.py holds the paths of the pipeline. Set them to wherever the&lt;/p&gt;&lt;p dir="ltr"&gt;archive is unpacked before running.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;PUBLIC DATASETS&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;code/revision/download_paderborn.sh downloads the sixteen bearing codes of the&lt;/p&gt;&lt;p dir="ltr"&gt;KAT Bearing DataCenter used in Section VI-G; only bearings with real&lt;/p&gt;&lt;p dir="ltr"&gt;accelerated-lifetime damage are used, the artificially machined damages are&lt;/p&gt;&lt;p dir="ltr"&gt;excluded on purpose. code/revision/r2_01b_cwru.py lists the 24 CWRU 12 kHz&lt;/p&gt;&lt;p dir="ltr"&gt;drive-end files it uses and downloads nothing.&lt;/p&gt;</dc:description>
          <dc:date>2026-09-23T09:40:06Z</dc:date>
          <dc:type>Dataset</dc:type>
          <dc:type>Dataset</dc:type>
          <dc:identifier>10.6084/m9.figshare.33969466.v3</dc:identifier>
          <dc:relation>https://figshare.com/articles/dataset/Leakage-controlled_protocol_and_confound_audit_code_and_derived_data/33969466</dc:relation>
          <dc:rights>CC BY 4.0</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
