Ao invês de fazer assim:
modelo_rfr_cv = rfr_cv.fit(treino)
Não deveria ser assim:
modelo_rfr_cv = rfr_cv.fit(dataset_prep)
Ao utilizar apenas o DataFrame de "treino", estamos limitando o crossvalidation a uma amostra de 70% (conforme definido no ínicio das aulas) do DataFrame. Sendo assim o crossvalidation irá testar diferentes conjuntos de treino e teste apenas nos 70% e não nos 100% do DataFrame, o que pode acarretar na não mitigação da randomização da divisão de treino e teste.