Por se tratar de uma série temporal acredito que o principal objetivo da regressão é prever o futuro. Dessa forma, segmentei os dados guardando o ano de 1960 como o ano que eu gostaria de prever. No entanto, mesmo testando inúmero valores para o parametro 'C' não foi possível realizar a previsão.
In:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.svm import SVR
from sklearn.metrics import r2_score
passageiros = pd.read_csv('https://raw.githubusercontent.com/alura-cursos/curso_scikitlearn/aula1/Passageiros.csv')
# segmentando dados em grupo para gerar e validar modelo (passado - [1949,1958]) e grupo para prever (futuro - 1960)
passageiros['tempo_int'] = passageiros['tempo'].astype(int)
passageiros_passado = passageiros.query('tempo_int != 1960').drop(columns = ['tempo_int'])
passageiros_futuro = passageiros.query('tempo_int == 1960').drop(columns = ['tempo_int'])
X_train, X_test, y_train, y_test = train_test_split(passageiros_passado['tempo'], passageiros_passado['nPassageiros'], test_size = 0.3, random_state = 101)
regressor_SVR = SVR(C = 1000000)
regressor_SVR.fit(np.array(X_train).reshape(-1, 1), y_train)
predict_SVR = regressor_SVR.predict(np.array(X_test).reshape(-1, 1))
r2_score_test = r2_score(y_test, predict_SVR)
predict_SVR_1960 = regressor_SVR.predict(np.array(passageiros_futuro['tempo']).reshape(-1, 1))
r2_score_1960 = r2_score(passageiros_futuro['nPassageiros'], predict_SVR_1960)
print('r2_score - SVR - grupo teste: {} \nr2_score - SVR - prevendo 1960: {}'.format(r2_score_test, r2_score_1960))
Out:
r2_score - SVR - grupo teste: 0.9220558213102139
r2_score - SVR - prevendo 1960: -920.4623786307144