Кросс-валидация в sklearn

from sklearn.model_selection import cross_val_score

cross_val_score(model, features, target, cv=7) 

model обучается в процессе валидации, на вход подаётся до обучения
cv — число блоков

Пример для дерева решений

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score

df = pd.read_csv('/folder_name/data.csv')
features = df.drop(['target'], axis=1)
target = df['target']

model = DecisionTreeClassifier(random_state=0)

# Функция cross_val_score создает 7 блоков и возвращает список оценок, в данном случае accuracy
scores = cross_val_score(model, features, target, cv=7)

#Чтобы посчитать среднюю оценку, делим сумму всех оценок (всех элементов массива scores) на его длину 
mean_score = sum(scores) / len(scores)

print('Средняя оценка качества модели accuracy:', mean_score)