Factory-reset classifier set, version 1.0
==============================================

Question: was this Android phone factory reset in the last 30 days?  (binary classification)

Every row was written by generate.py from a fixed seed (20261106). No row describes a real phone and no
value comes from a device. The features are the kind of artifact features an examiner reads (recovery
history, setup flags, app install times, account time, clock checks); their values and the way they
relate to the label are invented. Read the teaching guide before you believe any score.

What is in it
  train.csv                       1400 rows with features and the label (reset_30d)
  test.csv                        600 rows with features only
  test_answers.csv                the test labels and, for scoring by slice, profile, reset age, clock offset
  train_reference.csv             the same extra columns for the train rows
  variants/imbalanced/            the same layout with about 5 percent positives (train, test, answers, reference)
  DATA_DICTIONARY.md              every column; data_dictionary.csv holds the same in table form
  TEACHING_GUIDE.md               what to try, the traps, why synthetic data over-estimates real accuracy
  code/baseline_stdlib.py         logistic regression and a decision stump written by hand (Python standard library)
  code/baseline_sklearn.py        optional scikit-learn version (needs numpy and scikit-learn)
  code/evaluate.py                accuracy, precision, recall, F1 and the confusion matrix, whole and by slice
  generator/generate.py           the script that wrote all of this (MIT)
  LICENCE.txt                     licences

Quick start (Python 3, nothing to install)
  python code/baseline_stdlib.py --train train.csv --test test.csv --out predictions.csv
  python code/evaluate.py predictions.csv test_answers.csv

Main set: 425 of 1400 train rows and 175 of 600 test rows are positive.
Imbalanced variant: 66 of 1400 and 34 of 600.

The reference answers (test_answers.csv) are kept apart from test.csv so you can predict blind and score after.

Check files with SHA256SUMS.txt or manifest.json (next to this archive).
Licence: data CC BY 4.0, code MIT.
