Реализуйте Decision Tree для бинарной классификации (упрощённый CART).
Дерево строится рекурсивно по Gini impurity:gini(y) = 1 - p₀² - p₁²
def decision_tree_predict(X_train: list[list[float]], y_train: list[int],
X_test: list[list[float]], max_depth: int) -> list[int]:
X_train = [[0,0],[1,0],[0,1],[1,1],[2,1],[2,2]]
y_train = [0,0,0,1,1,1]
X_test = [[0.5,0.5],[1.5,1.5]]
decision_tree_predict(X_train, y_train, X_test, 2) → [0, 1]X_train = [[0,0],[1,0],[0,1],[1,1],[2,1],[2,2]]y_train = [0,0,0,1,1,1]X_test = [[0.5,0.5],[1.5,1.5]]max_depth = 2[0,1]X_train = [[1],[2],[3],[4]]y_train = [0,0,1,1]X_test = [[1],[2],[3],[4]]max_depth = 1[0,0,1,1]X_train = [[1],[2],[3],[4],[5],[6]]y_train = [0,0,0,1,1,1]X_test = [[2],[5]]max_depth = 3[0,1]