Regressão logística em Python

Regressão logística em Python
A regressão logística é um algoritmo de classificação de aprendizado de máquina. A regressão logística também é semelhante à regressão linear. Mas a principal diferença entre a regressão logística e a regressão linear é que os valores de saída de regressão logística são sempre binários (0, 1) e não numéricos. A regressão logística cria basicamente uma relação entre variáveis ​​independentes (uma ou mais de uma) e variáveis ​​dependentes. A variável dependente é uma variável binária que possui principalmente dois casos:
  • 1 para verdadeiro ou
  • 0 para falso

A principal importância da regressão logística:

  1. As variáveis ​​independentes não devem ser multicolinearidade; Se houver algum relacionamento, deve ser muito pouco.
  2. O conjunto de dados para a regressão logística deve ser grande o suficiente para obter melhores resultados.
  3. Somente esses atributos devem estar lá no conjunto de dados, que tem algum significado.
  4. As variáveis ​​independentes devem estar de acordo com o Log Odds.

Para construir o modelo do Regressão logística, nós usamos o Scikit-Learn biblioteca. O processo da regressão logística no Python é dada abaixo:

  1. Importe todos os pacotes necessários para a regressão logística e outras bibliotecas.
  2. Carregue o conjunto de dados.
  3. Entenda as variáveis ​​independentes do conjunto de dados e variáveis ​​dependentes.
  4. Divida o conjunto de dados em dados de treinamento e teste.
  5. Inicialize o modelo de regressão logística.
  6. Ajuste o modelo com o conjunto de dados de treinamento.
  7. Preveja o modelo usando os dados de teste e calcule a precisão do modelo.

Problema: Os primeiros passos são coletar o conjunto de dados no qual queremos aplicar o Regressão logística. O conjunto de dados que vamos usar aqui é para o conjunto de dados de admissão do MS. Este conjunto de dados possui quatro variáveis ​​e das três são variáveis ​​independentes (GRE, GPA, Work_Experience), e uma é uma variável dependente (admitida). Este conjunto de dados dirá se o candidato receberá admissão ou não para uma universidade de prestígio com base em seu GPA, GRE ou Work_experience.

Passo 1: Importamos todas as bibliotecas necessárias que precisamos para o programa Python.

Passo 2: Agora, estamos carregando nosso conjunto de dados de admissão de MS usando a função read_csv pandas.

Etapa 3: O conjunto de dados se parece abaixo:

Passo 4: Verificamos todas as colunas disponíveis no conjunto de dados e depois definimos todas as variáveis ​​independentes como variáveis ​​x e variáveis ​​dependentes para y, como mostrado na captura de tela abaixo.

Etapa 5: Depois de definir as variáveis ​​independentes para x e a variável dependente para y, agora estamos imprimindo aqui para verificar x e y usando a função de pandas da cabeça.

Etapa 6: Agora, vamos dividir todo o conjunto de dados em treinamento e teste. Para isso, estamos usando o método de Sklearn. Demos 25% de todo o conjunto de dados para a prova e os 75% restantes do conjunto de dados para o treinamento.

Etapa 7: Agora, vamos dividir todo o conjunto de dados em treinamento e teste. Para isso, estamos usando o método de Sklearn. Demos 25% de todo o conjunto de dados para a prova e os 75% restantes do conjunto de dados para o treinamento.

Em seguida, criamos o modelo de regressão logística e ajustamos os dados de treinamento.

Etapa 8: Agora, nosso modelo está pronto para previsão, então agora estamos passando pelos dados do teste (x_test) para o modelo e obtemos os resultados. Os resultados mostram (y_predictions) que valores 1 (admitido) e 0 (não admitido).

Etapa 9: Agora, imprimimos o relatório de classificação e a matriz de confusão.

A classificação_report mostra que o modelo pode prever os resultados com uma precisão de 69%.
A matriz de confusão mostra os detalhes totais de dados x_test como:
Tp = true positivos = 8
Tn = negativos verdadeiros = 61
Fp = falsos positivos = 4
Fn = false negativos = 27

Portanto, a precisão total de acordo com o confusion_matrix é:

Precisão = (tp+tn)/total = (8+61)/100 = 0.69

Etapa 10: Agora, vamos verificar o resultado através da impressão. Então, apenas imprimimos os 5 principais elementos do x_test e y_test (valor real real) usando a função de pandas da cabeça. Em seguida, também imprimimos os 5 melhores resultados das previsões, como mostrado abaixo:

Combinamos todos os três resultados em uma folha para entender as previsões, como mostrado abaixo. Podemos ver que, exceto os dados 341 x_test, que eram verdadeiros (1), a previsão é falsa (0) mais. Portanto, nossas previsões de modelo funcionam 69%, como já mostramos acima.

Etapa 11: Então, entendemos como as previsões do modelo são feitas no conjunto de dados invisíveis como x_test. Então, criamos apenas um conjunto de dados aleatoriamente novo usando um quadro de dados de pandas, passamos para o modelo treinado e recebemos o resultado mostrado abaixo.

O código completo em Python, abaixo:

O código para este blog, juntamente com o conjunto de dados, está disponível no link seguinte
https: // github.com/shekharpandey89/regressão logística