You need to agree to share your contact information to access this dataset

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this dataset content.

Roles

Roles: reasoning view of CWRUannot is the source label (ball / inner_race / normal / outer_race), kept machine-parseable as the gold for verification and reward parsing; the model reads query + image, where the image is an envelope spectrum with the theoretical fault frequencies marked. The reasoning column is filled on all 690 records and is the SFT imitation target for this repo; the query enumerates the closed set of labels the answer must come from, and annot remains the string that is scored. metadata is provenance (split keys, source identities) and must never be fed to a model.

CWRU — bearing fault from the envelope spectrum, with reasoning

The CWRU reasoning track with the reasoning column filled. Same images, same queries, same gold labels, same splits: field-for-field identical to CWRU except reasoning (asserted at build time).

Records: 690 (splits {'train': 564, 'test': 126}); labels {'inner_race': 179, 'ball': 39, 'outer_race': 437, 'normal': 35}; evidence_tier {'confirmed': 690}.

Schema (7-field unified record)

field meaning
query the classification instruction (one of 30 deterministic paraphrases per representation)
image the rendered signal image (bytes embedded)
annot gold fault class: normal / inner_race / outer_race / ball
reasoning the half-template chain-of-thought for this record; it closes on FINAL ANSWER: <annot>
cate / task C / T-C1 (signal fault classification)
metadata JSON string: representation, features, fault_freqs, computed_verdict, computed_snr, evidence_tier, sr_nondiagnosable, anomaly, size_in, load_hp, or_position, bearing, bearing_group, channel, rpm, fs, fr_hz, file_number, window_idx, line_evidence, image_sha256, split

How reasoning was produced

Half-template, not a language model. Each paragraph is assembled by a deterministic renderer from three pools drawn independently per record — 14 openers × 7 physics-knowledge blocks × 26 argument skeletons — so the surface form varies widely while the argument stays checkable. No API, no sampling, no model output.

Every number is measured, never copied from the answer. All amplitudes, frequencies and peak counts come out of the record's line_evidence — the per-line measurement taken on the plotted envelope spectrum. The generator ran behind three gates, all of which had to be clean or nothing was written: (1) the paragraph ends on the gold, byte for byte; (2) every label-bearing field is deleted and the paragraph re-rendered — the bytes must be identical, which proves no number came out of the answer; (3) writing checks — nothing finer than 0.01 (the y axis cannot resolve it), no detector internals (family scores and thresholds are not on the figure and a reader cannot recompute them), no internal line keys, and numerals that agree with the families actually scored.

Re-checkable. The measurement the paragraph quotes ships with the record: metadata.line_evidence holds the per-line frequencies, amplitudes and SNRs and the noise floor, so every number in the text can be verified against the figure it was read off.

Closing. Every paragraph ends with a blank line and FINAL ANSWER: <annot>, matching the record's gold label exactly — re-verified for every record at build time.

Splits

train / test, bearing-wise (leakage-safe): all loads + both sample rates of a physical bearing stay on one side. normal is a single healthy bearing, so it is entirely in train and the test split is fault-only (inner/outer/ball from unseen bearings).

Figures (style pool)

The spectra in this repo come from the figure-style pool: each record is drawn in one of 11 styles. What the style varies: colours, canvas, title placement and presence, tick spacing and minor ticks, grid, spines, fill, the fault-frequency marker drawn as a line or as a band, label placement and orientation, one colour per family plus a legend, font family, scientific notation, and tick direction. The style is picked by sha256("figstyle|" + image_path) % 11 -- deterministic, reproducible, and drawn independently of the opener / knowledge / skeleton pools.

What never varies is the content: the curve; the plotted band; which lines are marked (six on these figures -- the four families plus 2xBPFO and 2xBPFI); and the y-limits, autoscaled once per record and reused by every style, so a peak is the same height whichever style drew it. No threshold bar and no noise-floor line is ever drawn, and no marker is styled differently for being the answer. The point is that a model cannot pass by memorising one house plotting style. The -perception repo's images are unchanged.

Three things made these figures and no single pin covers all three, so provenance.json carries one for each:

  • Signals and manifest -- forge_agent 0574e0e25d.
  • The curve and the producer's plotting parameters -- forge_agent 733a683. This pin fixes what is plotted; it does not produce the image bytes below.
  • The published image bytes -- figure_manifest_sha256 = 203e42bb5cd0491fa8a61faf569d0891c3f44db62d5b3b07b2961571e791c2db, the roll-up of one sha256 per image across the whole style pool. The style layer that draws them (_figstyle_corpus/_src/style_pool.py) lives outside this repository and is not under version control, and the pool has been re-rendered since the commit above -- so this checksum, not a commit, is what identifies these exact images.

Provenance & reproducibility

Generated deterministically by forge_agent/examples/cwru/convert.py (0574e0e25d) → forge_model/CWRU/convert_cwru.py (e023f6cb11); see provenance.json for the full record.

Cleaning (all encoded in the pinned code): excluded the NTN 0.028″ files 3001–3008 (wrong bearing geometry) and the corrupt 191; flagged Smith & Randall (2015) non-diagnosable (sr_nondiagnosable) and acquisition-anomaly files; bearing-wise leakage-safe split (all loads + both sample rates of a physical bearing stay on one side). Evidence-gated, conflict-free release: a computed evidence_tier (from the label-independent envelope-spectrum detector, cross-checked against the Smith & Randall expert grades) curates the published set so every image supports — and never fights — its label. The spectrum/reasoning repo keeps confirmed only (faithful compute-then-check CoT); the perception repo keeps confirmed + non-conflicting weak (weak records where the detector confidently found a different pattern than the gold are dropped).

Caveats

  • Ball is the hard class — Smith & Randall (2015) grade most CWRU ball faults non-diagnosable (intermittent load-zone contact + smeared BSF), so many ball windows are weak/absent. The evidence gate keeps only the diagnosable ones, so the reasoning/spectrum track has the fewest ball records (confirmed-only) while perception also admits weak ball. A property of the data, not the converter.
  • Class balance — after gating, normal is the minority (CWRU ships few baseline files) and outer_race the majority; per-class counts are in the header above.
  • Eval: use the provided bearing-wise split; the within-condition (per-load) split inflates accuracy.

Source & license

Source: Case Western Reserve University Bearing Data Center (engineering.case.edu/bearingdatacenter), openly available for research. Diagnosability grades and anomaly flags from W. A. Smith & R. B. Randall, MSSP 64–65 (2015) 100–131; leakage-safe split per J. Hendriks et al., MSSP 169 (2022) 108732.

Downloads last month
39