Visualizando o limite de decisão da máquina de vetor de suporte

Pipeline, GridSearchCV e Contour Plot

Saptashwa em Em direção a Data Science Follow Jul 13 · 7 min ler Fronteira de Decisão (Foto: Trabalho Próprio do Autor, Saitama, Japão)

Em um post anterior descrevi detalhadamente a análise de componentes principais (PCA) e, em outro, a matemática por trás do algoritmo de máquina de vetor de suporte (SVM) . Aqui, eu combinarei SVM, PCA e Cross-Validation de busca de grade para criar um pipeline para encontrar os melhores parâmetros para classificação binária e, eventualmente, plotar um limite de decisão para apresentar o quão bom o nosso algoritmo realizou. O que você espera aprender / revisar neste post –

  • Conjuntos e representação de dados de forma significativa através da Biblioteca Seaborn .
  • Se você tiver mais de dois componentes na análise de componentes principais, como escolher e representar quais dois componentes são mais relevantes do que outros?
  • Criar um pipeline com o PCA e o SVM para encontrar os parâmetros de melhor ajuste por meio da validação cruzada da pesquisa de grade.
  • Finalmente, escolhemos os 2 componentes principais para representar o limite de decisão SVM em um gráfico 3d / 2d, desenhado usando Matplotlib .

1. Conheça melhor o Conjunto de Dados: Conjuntos e Seaborn

Aqui, usei conjunto de dados de câncer scikit-learn, conjunto de dados relativamente fácil para estudar classificação binária, com duas classes sendo maligna e benigna. Vamos ver as poucas linhas dos quadros de dados.

Como podemos ver, há um total de 569 amostras e 30 características no conjunto de dados e, nossa tarefa é classificar amostras malignas de amostras benignas. Depois de verificar que não há dados ausentes , verificamos os nomes dos recursos e verificamos os gráficos de correlação dos recursos médios.

Abaixo está o gráfico de correlação dos recursos médios envasados usando a biblioteca marítima . Como esperado 'área', 'perímetro' e 'raio' são altamente correlacionados.

Fig. 1: Gráfico de correlação das características médias.

Podemos usar o " esquema conjunta marítimo " para entender o relacionamento entre os recursos individuais. Vamos ver dois exemplos abaixo, onde, como alternativa aos gráficos de dispersão, optei por gráficos de densidade 2D. No painel da direita, usei a configuração 'hex', onde, junto com os histogramas, podemos entender a concentração do número de pontos em uma pequena área hexagonal. Quanto mais escuro o hexágono, mais pontos (observações) caem nessa região e esta intuição também pode ser verificada com os histogramas plotados nos limites das duas características.

Fig. 2: As parcelas conjuntas podem conter mais informações do que os gráficos de dispersão simples.

À esquerda, além do histograma de características individuais que são plotadas nos limites, os contornos representam a estimativa de densidade do kernel 2D (KDE). Em vez de apenas histogramas discretos, os KDE's são frequentemente úteis e, você pode encontrar uma explicação fantástica aqui .

Também podemos plotar alguns gráficos de pares para estudar quais características são mais relevantes para classificar amostras malignas de benignas. Vamos ver um exemplo abaixo –

Fig. 3: Pareamento de parcelas de poucos recursos no conjunto de dados de câncer. Código pode ser encontrado no meu GitHub.

Uma vez que tenhamos jogado o suficiente com o conjunto de dados para explorar e entender o que temos em mãos, então, vamos para a tarefa principal de classificação.