Oi Rafael,
Bem legal que você compartilhou as figuras. Eu vou tentar responder os seus dois posts aqui. Temos duas questões diferentes.
Sim existe um fator aleatoriedade e a sua resposta vai ser diferente da minha. Eu não quis inserir o tópico do random state neste ponto do curso porque a explicação do SVR é um pouco densa. Achei que ficava mais intuitivo na parte de classificação. Com exceção das regressões lineares os algoritmos costumam ser iterativos. Eles dependem de uma estimativa inicial que é refinada através de um certo número de iterações. Por isso, você pode assumir que esses algoritmos dependem de um random_state quando não fornece uma estimativa inicial.
O valor do R2 começou a diminuir depois que o C passa de um determinado valor nas suas figuras. O que eu disse sobre o C diminuir o quanto lida com ruído continua válido. Num algoritmo iterativo é comum que erros sejam propagados no decorrer das iterações. Por isso um C que lida menos com ruído pode ser um problema.
Então como escolher o C (parâmetro de regularização)? Fazendo justamente o que você fez. Testar diferentes valores de C e verificar o resultado de alguma métrica. Na prática não fazemos isso na mão. Fazemos uma busca em um malha de valores. Exemplo:
# Fit regression model
train_size = 100
svr = GridSearchCV(SVR(kernel='rbf', gamma=0.1),
param_grid={"C": [1e0, 1e1, 1e2, 1e3],
"gamma": np.logspace(-2, 2, 5)})
Aqui está testando diferentes valores de C e do parâmetro gamma.
Peguei este exemplo deste link do site do sklearn: https://scikit-learn.org/stable/auto_examples/miscellaneous/plot_kernel_ridge_regression.html