Ciência de Dados

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 da regressão logística são sempre binários (0, 1) e não numéricos. A regressão logística basicamente cria 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 tem principalmente dois casos:

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

  1. As variáveis ​​independentes não devem ser multicolineares; se houver algum relacionamento, então 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. Apenas esses atributos devem estar lá no conjunto de dados, o que tem algum significado.
  4. As variáveis ​​independentes devem estar de acordo com o odds logarítmicas.

Para construir o modelo do regressão logística, nós usamos o scikit-learn biblioteca. O processo de regressão logística em python é dado a seguir:

  1. Importe todos os pacotes necessários para a regressão logística e outras bibliotecas.
  2. Faça upload do conjunto de dados.
  3. Compreenda as variáveis ​​independentes do conjunto de dados e as 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. Ajustar o modelo ao conjunto de dados de treinamento.
  7. Preveja o modelo usando os dados de teste e calcule a precisão do modelo.

Problema: As primeiras etapas 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 de MS. Este conjunto de dados tem quatro variáveis ​​e das quais três são variáveis ​​independentes (GRE, GPA, work_experience), e uma é uma variável dependente (admitido). Este conjunto de dados dirá se o candidato será admitido ou não em uma universidade de prestígio com base em seu GPA, GRE ou experiência de trabalho.

Passo 1: Importamos todas as bibliotecas necessárias para o programa python.

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

Etapa 3: O conjunto de dados tem a seguinte aparência:

Passo 4: Verificamos todas as colunas disponíveis no conjunto de dados e, em seguida, definimos todas as variáveis ​​independentes para a variável X e as 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, estamos agora imprimindo aqui para verificar Xey usando a função head pandas.

Etapa 6: Agora, vamos dividir todo o conjunto de dados em treinamento e teste. Para isso, estamos usando o método train_test_split de sklearn. Demos 25% de todo o conjunto de dados para o teste 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 train_test_split de sklearn. Demos 25% de todo o conjunto de dados para o teste 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 predição, então agora estamos passando os dados de teste (X_test) para o modelo e obtemos os resultados. Os resultados mostram (y_predictions) que os 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 de dados totais de X_test como:
TP = Verdadeiros Positivos = 8
TN = Negativos verdadeiros = 61
FP = Falsos Positivos = 4
FN = Falsos Negativos = 27

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

Precisão = (TP + TN) / Total = (8 + 61) / 100 = 0.69

Etapa 10: Agora, vamos verificar o resultado por meio de impressão. Então, acabamos de imprimir os 5 principais elementos de X_test e y_test (valor verdadeiro real) usando a função head pandas. Em seguida, também imprimimos os 5 principais resultados das previsões, conforme mostrado abaixo:

Combinamos todos os três resultados em uma planilha para entender as previsões conforme mostrado abaixo. Podemos ver que, exceto para os dados de 341 X_test, que eram verdadeiros (1), a previsão é falsa (0). Então, nossas previsões do 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ível como X_test. Então, criamos apenas um novo conjunto de dados aleatoriamente usando um dataframe do pandas, passamos para o modelo treinado e obtivemos o resultado mostrado abaixo.

O código completo em python fornecido abaixo:

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

Como usar o Xdotool para estimular cliques do mouse e pressionamentos de tecla no Linux
Xdotool é uma ferramenta de linha de comando gratuita e de código aberto para simular cliques do mouse e pressionamentos de tecla. Este artigo irá cob...
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...