Introdução
Máquinas de Vetores de Suporte (SVM) é um algoritmo de aprendizado de máquina popular usado para análise de classificação e regressão. O SVM tenta encontrar a melhor fronteira possível que separa diferentes classes de dados. Neste laboratório, aprenderemos a plotar os vetores de suporte do LinearSVC.
Dicas da Máquina Virtual
Após o arranque da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para a prática.
Por vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se tiver problemas durante o aprendizado, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.
Importar Bibliotecas
Primeiro, precisamos importar as bibliotecas necessárias para este laboratório. Usaremos as bibliotecas NumPy, Matplotlib, make_blobs, LinearSVC e DecisionBoundaryDisplay.
Gerar Dados
Vamos gerar alguns dados aleatórios usando a função make_blobs() do Scikit-learn. Esta função gera grupos gaussianos para agrupamento. Vamos gerar 40 amostras com 2 centros.
Plotar Dados
Vamos plotar os dados gerados usando Matplotlib. A função scatter() é usada para plotar os dados.
Treinar LinearSVC
Vamos treinar o modelo LinearSVC com dois parâmetros diferentes de regularização. A função de perda de margem (hinge loss) é usada para treinar o modelo. Usaremos a função fit() para treinar o modelo.
Obter Vetores de Suporte
Os vetores de suporte são as amostras que se encontram dentro dos limites da margem, cujo tamanho é convencionalmente limitado a 1. Podemos obter os vetores de suporte através da função de decisão. Usaremos a função decision_function() para obter a função de decisão do modelo. Em seguida, calcularemos os vetores de suporte a partir da função de decisão.
Plotar Vetores de Suporte
Vamos plotar os vetores de suporte no mesmo gráfico dos dados. Usaremos a função scatter() para plotar os vetores de suporte.
Exibir a Fronteira de Decisão
Vamos exibir a fronteira de decisão no gráfico. Usaremos a classe DecisionBoundaryDisplay para exibir a fronteira de decisão.
Mostrar o Gráfico
Finalmente, vamos mostrar o gráfico com os vetores de suporte e a fronteira de decisão.
Resumo
Neste laboratório, aprendemos como plotar os vetores de suporte do LinearSVC. Usamos a função decision_function() para obter a função de decisão do modelo e, em seguida, calculamos os vetores de suporte a partir da função de decisão. Também aprendemos como exibir a fronteira de decisão no gráfico usando a classe DecisionBoundaryDisplay.