Код Middle Деревья и ансамбли обновлено
Лучший порог по Джини
Условие
Один числовой признак xs и бинарные метки ys (0/1). Напишите best_split(xs, ys): найдите порог t (середину между соседними различными отсортированными значениями), минимизирующий взвешенную нечистоту Джини детей (левые x ≤ t). Верните [t, impurity], impurity округлите до 4 знаков. При равенстве берите меньший порог. Если различных значений меньше двух, верните None.
Примеры
best_split([1, 2, 3, 4], [0, 0, 1, 1]) // [2.5, 0]
best_split([5, 5, 5], [0, 1, 0]) // null
best_split([1, 2, 3, 4, 5, 6], [0, 0, 1, 0, 1, 1]) // [2.5, 0.25]
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.