Фрэнсис Гальтон, британский учёный и двоюродный брат Чарльза Дарвина, в конце XIX века занимался изучением наследования антропометрических признаков, собрав данные о росте родителей и их детей. Анализируя измерения, он обнаружил закономерность: потомки очень высоких родителей, как правило, оказывались ниже их, а потомки очень низких — выше. Гальтон описал это явление термином <<регрессия к среднему>>, а разработанный им математический аппарат для моделирования зависимости между переменными впоследствии стал фундаментом статистики и машинного обучения. Именно отсюда в современную науку пришло название одного из базовых типов задач — регрессия, цель которой заключается в предсказании непрерывной числовой величины.
Вам предоставлен исторический датасет, содержащий антропометрические измерения членов 205 семей. Каждая строка соответствует одному ребёнку и включает следующие признаки: family (идентификатор семьи), father (рост отца в дюймах), mother (рост матери в дюймах), midparentHeight (скорректированный средний рост родителей), children (общее количество детей в семье), childNum (порядковый номер ребёнка), gender (пол ребёнка male/female), childHeight (целевая переменная: фактический рост ребёнка, только в обучающих данных).
На основе обучающей выборки постройте модель, способную предсказать рост ребёнка (childHeight) по доступным признакам.
Метрика оценки и формула скоринга
Качество решения оценивается по метрике RMSE (Root Mean Squared Error):
\[\text{RMSE} = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2}\]
где \(y_i\) — истинное значение роста, \(\hat{y}_i\) — предсказание модели, \(n\) — количество записей в тестовой выборке.
Формула расчёта итогового балла (Score):
\[\text{Score} = \max\left(0,\ \min\left(1,\ \frac{\text{RMSE}_{\text{baseline}} - \text{RMSE}_{\text{solution}}}{\text{RMSE}_{\text{baseline}} - \text{RMSE}_{\text{reference}}}\right)\right)\]
где \(\text{RMSE}_{\text{baseline}}\) — значение метрики для базового решения из baseline.py, \(\text{RMSE}_{\text{reference}}\) — значение метрики для эталонного решения (solution.py), фиксированная константа, \(\text{RMSE}_{\text{solution}}\) — значение метрики для вашего решения.
Максимальный возможный балл равен 1. Решение, совпадающее по качеству с решением жюри, получает 1 балл; решение на уровне baseline — 0 баллов.
Входные данные
train.csv — обучающая выборка (содержит все колонки, включая целевую переменную).
test.csv — тестовая выборка (целевая переменная childHeight отсутствует).
baseline.py — пример простейшего решения (предсказывает среднее значение по обучающей выборке).
Выходные данные
В качестве ответа необходимо сдать csv-файл submission.csv со строго следующей структурой: family,childNum,predictedHeight
Столбцы family и childNum должны в точности повторять идентификаторы из test.csv. Столбец predictedHeight должен содержать предсказанный рост. Порядок строк в файле ответа должен полностью совпадать с порядком строк в test.csv.