Os meus códigos resultaram valores distintos ao do professor nos R².
Comparando Modelos
Estimando um novo modelo com a substituição da variável explicativa Temperatura Máxima pela Temperatura Média
fds
X2 = dados[['temp_media', 'chuva', 'fds']]
Criando os datasets de treino e de teste
X2_train, X2_test, y2_train, y2_test = train_test_split(X2, y, test_size=0.3, random_state=2811)
Instanciando a classe LinearRegression()
modelo_2 = LinearRegression()
Utilizando o método fit() do objeto "modelo_2" para estimar nosso modelo linear utilizando os dados de TREINO (y2_train e X2_train)
modelo_2.fit(X2_train, y2_train)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
Obtendo o coeficiente de determinação (R²) do novo modelo estimado e comparando com o resultado do modelo anterior
i
print('Modelo com Temp. Média')
print('R² = {}'.format(modelo.score(X2_train, y2_train).round(2)))
Modelo com Temp. Média
R² = -0.05
print('R² = {}'.format
print('Modelo com Temp. Máxima')
print('R² = {}'.format(modelo.score(X_train, y_train).round(2)))
Modelo com Temp. Máxima
R² = 0.73
Gerando previsões para os dados de TESTE (X_test e X2_test) utilizando o método predict() dos objetos "modelo" e "modelo_2"
2
y_previsto = modelo.predict(X_test)
y_previsto2 = modelo.predict(X2_test)
Obtendo o coeficiente de determinação (R²) para as previsões dos dois modelos
print('Modelo com Temp. Média')
print('R² = {}'.format(metrics.r2_score(y2_test, y_previsto2).round(2)))
Modelo com Temp. Média
R² = -0.09
print('Modelo com Temp. Máxima')
print('R² = {}'.format(metrics.r2_score(y_test, y_previsto).round(2)))
Modelo com Temp. Máxima
R² = 0.69