Encontre esto con GPT y da bien:
from sklearn.model_selection import KFold
from sklearn.linear_model import LinearRegression # Ejemplo de modelo
# Supongamos que tienes tus datos X e y
# Definir el número de particiones (folds)
k = 5
# Inicializar el objeto KFold
kf = KFold(n_splits=k)
# Inicializar una lista para almacenar los puntajes de validación
scores = []
# Iterar sobre las particiones generadas por KFold
for train_index, test_index in kf.split(X):
# Dividir los datos en conjunto de entrenamiento y conjunto de prueba
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
# Inicializar y entrenar el modelo (ejemplo con regresión lineal)
model = LinearRegression()
model.fit(X_train, y_train)
# Evaluar el modelo en el conjunto de prueba
score = model.score(X_test, y_test)
# Agregar el puntaje a la lista
scores.append(score)
# Calcular el puntaje promedio de validación
mean_score = sum(scores) / len(scores)
print("Puntaje promedio de validación:", mean_score)