Olá Gabriel, tudo bem? Espero que sim!
Ao utilizarmos o método predict() nos dados de treino, podemos verificar o erro do nosso modelo criado contra os próprios dados que foram utilizados na construção do modelo.
Ao usarmos o método predict() nos dados de teste, veremos como se comporta o nosso modelo em dados que não foram utilizados para a construção do modelo, ou seja, dados desconhecidos previamente pelo modelo.
Isso nos ajuda a perceber se o modelo está generalizando para quaisquer dados em um intervalo ou se está apenas "decorando" o comportamento dos dados que foram utilizados na sua construção. O ideal é que o modelo seja capaz de generalizar e prever de maneira consistente também para os dados de teste que não foram utilizados em sua construção.
Espero qeu tenha tirado sua dúvida.
Estou à disposição. Bons estudos!