SVMs para regressão (SVR)
Tubo epsilon do SVR, nu-SVR e comparação entre SVR e regressão linear em dados não lineares.
SVMs para regressão (SVR) é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
SVMs também podem fazer regressão
A ideia de margem também se aplica à regressão. A Regressão por Vetores de Suporte (SVR) ajusta uma função mantendo as previsões dentro de uma faixa de tolerância e ignorando erros pequenos.
O tubo insensível ao épsilon
SVR traça um tubo insensível ao épsilon ao redor da função prevista. Os pontos dentro do tubo contribuem com perda zero; apenas os pontos externos são penalizados. Isso concentra o modelo nos erros relevantes.
Por que um tubo ajuda
Ao ignorar pequenas variações, SVR evita ajustar-se excessivamente ao ruído e produz um ajuste mais suave e robusto. Pequenas oscilações dentro da tolerância simplesmente não afetam o modelo.
Uso básico de SVR
SVR é semelhante a SVC e aceita as mesmas funções de núcleo. RBF é o padrão comum para regressão não linear.
from sklearn.svm import SVR
model = SVR(kernel="rbf", C=100, epsilon=0.1, gamma="scale")
model.fit(Xtr, ytr)
print(model.score(Xte, yte))O parâmetro épsilon
epsilon define a largura do tubo. Um épsilon maior significa uma faixa mais larga, menos vetores de suporte e um modelo mais simples. Um épsilon menor ajusta-se mais precisamente aos dados.
from sklearn.svm import SVR
wide = SVR(epsilon=1.0) # tolerant, simpler
tight = SVR(epsilon=0.01) # fits closelyO parâmetro C em SVR
Assim como na classificação, C controla a penalização dos pontos fora do tubo. Um C maior pune mais esses erros, produzindo um ajuste mais rígido; um C menor aplica mais regularização, resultando em uma curva mais suave.
from sklearn.svm import SVR
flexible = SVR(C=1000) # fits training closely
smooth = SVR(C=0.1) # more regularizedépsilon versus C: dois controles diferentes
Lembre-se da distinção: épsilon controla a largura do tubo (quanto erro ignorar), enquanto C controla a penalização dos erros que ficam fora do tubo. Ajuste ambos.
O escalonamento também é importante para SVR
Assim como todas as SVMs, SVR depende de distâncias e é sensível à escala. Sempre padronize as características e considere também escalonar o alvo para obter um treinamento estável.
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR
pipe = make_pipeline(StandardScaler(), SVR(kernel="rbf"))
pipe.fit(Xtr, ytr)Ajuste de SVR
Faça uma busca em grade sobre C, gamma e epsilon para encontrar o melhor ajuste. Use uma métrica de regressão, como o erro quadrático médio negativo, para a pontuação.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR
param = {
"C": [1, 10, 100],
"gamma": [0.01, 0.1, 1],
"epsilon": [0.01, 0.1, 0.5],
}
gs = GridSearchCV(SVR(), param, cv=5, scoring="neg_mean_squared_error")
gs.fit(Xtr, ytr)A variante NuSVR
NuSVR substitui epsilon por nu (entre 0 e 1), que controla diretamente a fração de vetores de suporte e de erros de treinamento, oferecendo uma parametrização alternativa que algumas pessoas consideram mais fácil de compreender.
from sklearn.svm import NuSVR
model = NuSVR(nu=0.5, C=100, kernel="rbf")
model.fit(Xtr, ytr)Quando usar SVR
SVR funciona bem em conjuntos de dados pequenos ou médios, com padrões não lineares e quando a robustez ao ruído é importante. Para dados muito grandes, prefira modelos lineares ou reforço por gradiente, que se adaptam melhor a essa escala.
Verificação rápida
Teste os seus conhecimentos sobre SVR.
Recapitulação
Recapitulação: SVR ajusta uma função dentro de um tubo insensível ao épsilon, no qual os pontos internos têm custo zero. epsilon define a largura do tubo (quanto maior, mais simples), enquanto C penaliza os pontos externos. Sempre escale as características, ajuste C/gamma/epsilon e considere NuSVR como uma parametrização alternativa.
Perguntas Frequentes
A aula “SVMs para regressão (SVR)” é grátis?
Sim — o texto completo de “SVMs para regressão (SVR)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “SVMs para regressão (SVR)”?
Tubo epsilon do SVR, nu-SVR e comparação entre SVR e regressão linear em dados não lineares. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “SVMs para regressão (SVR)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Teoria de SVM: margens e vetores de suporte
- Truque do kernel: RBF, polinomial e sigmoide
- SVMs para classificação com sklearn
- SVMs para regressão (SVR)