Дополните код цикла так, чтобы получить кросс-валидацию на трёх равных по размеру блоках. На каждом этапе цикла у вас есть номер первого элемента валидационной выборки и размер блока (sample_size).

  1. Создайте массивы: valid_indexes (англ. «индексы объектов валидационной выборки») и train_indexes (англ. «индексы объектов обучающей выборки»). Они содержат номера наблюдений для валидационной и обучающей выборок. Меняйте номера на каждом этапе цикла.
  2. Разбейте переменные features и target на выборки features_train, target_train, features_valid и target_valid так, чтобы в них были только наблюдения с нужными номерами.
  3. Оцените качество модели, обученной на каждой выборке, с помощью метода model.score().

Посчитайте среднее качество модели, разделив сумму оценок модели на длину списка с оценками. Сохраните среднее качество в переменной final_score (англ. «итоговая оценка»). Тогда функция print() выведет результат на экран.

import pandas as pd
from sklearn.tree import DecisionTreeClassifier

data = pd.read_csv('https://code.s3.yandex.net/datasets/heart.csv')
features = data.drop(['target'], axis=1)
target = data['target']

scores = []

# зададим размер блока, если их всего три
sample_size = int(len(data)/3)

for i in range(0, len(data), sample_size):
    valid_indexes = data.iloc[i: i + sample_size].index
    train_indexes = (data.iloc[:i] + data.iloc[i + sample_size:]).index
    
		# разбейте переменные features и target на выборки features_train, target_train, features_valid, target_valid
    features_train = features.iloc[train_indexes]
    features_valid = features.iloc[valid_indexes]
    target_train = target.iloc[train_indexes]
    target_valid = target.iloc[valid_indexes]

    model = DecisionTreeClassifier(random_state=0)
    model = model.fit(features_train, target_train)
    score = model.score(features_valid, target_valid)
    
    scores.append(score)
 
final_score = pd.Series(scores).mean()
print('Средняя оценка качества модели:', final_score)

Результат

Средняя оценка качества модели: 0.7689768976897691