Checklist GAIA AI Olympiad 2026 Georgian AI League I (practice contest) · Task 3
Data Reduction Optimisation
Georgian title: მონაცემების შემცირების ოპტიმიზაცია
Choose the smallest subset of training rows and columns with which a fixed decision-tree pipeline still reaches F1 ≥ 0.92 on truck APS failure data.
The task
The story concerns an analysis of failures in the air pressure system (APS) of trucks, where the system must reach an F1 score of at least 0.92. The challenge is to reach that threshold with as little data as possible; the training data also contain many defects introduced when a cat walked over the keyboard.
The training data train_data.csv has shape (2870, 195): 194 features and a final 'class' label. The contestant selects subsets of rows and columns; the organisers train exactly the pipeline SimpleImputer(strategy='median') followed by DecisionTreeClassifier(random_state=42, class_weight='balanced', max_depth=None, min_samples_leaf=1) on the selected subset and evaluate it on public and private test sets.
Abridged and translated by SOTA from the official Georgian materials. The official statement has the exact rules, and it wins wherever this summary differs.
In English
This task was published in Georgian. SOTA translated it into English on 17 September 2026.
Read the task statement in English
Data Reduction Optimisation
English translation by SOTA – AI Community of the Georgian original. Organisers who would like this translation removed can email [email protected].
Source: Georgian AI League I, a practice contest of the Georgian Artificial Intelligence Association (GAIA) on the Nitro AI judge, 18 January 2026, task 3: original statement. The judge lists the task as "Data Reduction Optimisation"; the statement itself is headed as below.
The Truck APS Failure Data Optimisation Challenge
Problem Description
Astamakha is a hard-working person who has been tasked with analysing failures of the APS (Air Pressure System) of trucks. Astamakha's bosses have required the system to have an F1 score of at least 0.92. Astamakha's friend Giorgi, who loves difficulties very much, proposed the following challenge: "Come on, let's reach F1 >= 0.92 with as little data as possible!"
Astamakha would not be Astamakha without accepting such a challenge, and so the challenge was accepted, but Astamakha first decided to have a snack. Unfortunately, on returning, Astamakha discovered that a cat had walked across the keyboard, and as a result many gaps had been introduced into the data!
Your job is to help Astamakha complete the assignment and the challenge using the minimum amount of data.
Task
Training data (train_data.csv) is given. You must select a subset of rows and columns/features that:
- reaches an F1 score >= 0.92 on both the public and the private test sets. (It does not matter by how much you exceed it; the main thing is to clear the threshold.)
- uses the minimum amount of data (fewer rows and columns = better score).
Given Data
train_data.csv - data of shape (2870, 195), where 194 are variables and the last one is class - the label
import pandas as pd
train_data = pd.read_csv("train_data.csv")
Submission Format
Create a JSON file with the following structure:
{
"rows": [0, 1, 5, 10, ...],
"columns": [91, 124, 181, ...]
}
- rows: a list of row indices (counting starts from 0) from
train.csvthat should be used. - columns: a list of column indices (counting starts from 0) or column names (except 'class').
Scoring System
Based on the JSON file you submit, we will build a subset of the original training data and train a model on it using exactly this code
Pipeline([
("imputer", SimpleImputer(strategy="median")),
("clf", DecisionTreeClassifier(
random_state=42,
class_weight="balanced",
max_depth=None,
min_samples_leaf=1,
)),
])
Note: the model's seed is fixed at 42. You cannot change it.
Score Calculation
F1 Threshold (Pass/Fail)
Your submission must satisfy the following condition:
F1_Test >= 0.92
If the F1 threshold is not met, your score will be 0.
Compression Score
If the F1 threshold is cleared, your score is calculated as follows:
where:
r= the total number of rows in the original training data (2870)r_now= the number of rows in your selectionc= the total number of feature columns (194)c_now= the number of columns in your selection
The higher the score, the better! The score rewards using fewer rows and columns.
This score will be scaled to 0-100, where 100 points are awarded to the best solution produced by us.
Score Examples
| Rows | Cols | F1 threshold | Score |
|---|---|---|---|
| 2870 | 194 | PASS | 0.000 |
| 2870 | 6 | PASS | 0.330 |
| 300 | 6 | FAIL | 0.000 |
Good Luck!
Help Astamakha impress Giorgi with the most compressed dataset that still reaches F1 >= 0.92!
Translated by SOTA. The Georgian original is the official version and wins wherever the two differ. Georgian AI League I was a practice contest of the Georgian Artificial Intelligence Association (GAIA) on the Nitro AI judge; the statement exists only in Georgian, and the data can be downloaded there after a free login. The original calls the data file both train_data.csv and train.csv; the translation keeps both as written. If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.
At a glance
- You get
train_data.csv(2870 rows, 194 features plus 'class'); test data and a pre-judging script are also listed as contestant files.- You submit
- A JSON file {"rows": [...], "columns": [...]} with 0-based row indices and column indices or names (excluding 'class').
- Scoring
- Pass/fail threshold F1_Test ≥ 0.92 (otherwise 0). If passed, score = 0.5·log(r/
r_now)/log(r) + 0.5·log(c/c_now)/log(c) with r = 2870 and c = 194, rescaled to 0–100 where the organisers' best solution scores 100. - Rules
- The model seed is fixed at 42 and cannot be changed.
- Submission limit 25, one final submission (platform settings).
- Format
- Georgian AI League I, a GAIA practice contest on Nitro AI Judge, 18 Jan 2026, 07:00–11:00 UTC (4 hours), individual, online.