Regressão logística para aprendizado de máquina: um guia completo
Publicados: 2021-10-04Modelos de aprendizado de máquina exigem algoritmos para funcionar. Dependendo do conjunto de condições, um modelo de ML específico pode ter melhor desempenho usando um ou outro algoritmo. Como resultado, engenheiros e entusiastas de Machine Learning devem estar cientes dos diferentes tipos de algoritmos que podem ser usados em diferentes contextos – para saber qual usar quando chegar a hora. Nunca há uma solução de tamanho único em Machine Learning, e ajustes com diferentes algoritmos podem fornecer os resultados desejados.
Por exemplo, você já deve conhecer a Regressão Linear. No entanto, este algoritmo simplesmente não pode ser aplicado a variáveis categoricamente dependentes. É aqui que a Regressão Logística é útil.
No aprendizado de máquina, a regressão logística é um método supervisionado de aprendizado usado para prever a probabilidade de uma variável dependente ou de destino. Usando a regressão logística, você pode prever e estabelecer relacionamentos entre variáveis dependentes e uma ou mais variáveis independentes.
Equações e modelos de regressão logística são geralmente usados para análise preditiva para classificação binária. Você também pode usá-los para classificação multiclasse.
Aqui está como a equação de regressão logística para aprendizado de máquina se parece:
logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk
Onde;
p= probabilidade de ocorrência do recurso
x1,x2,..xk = conjunto de recursos de entrada
h1,h2,….hk = valores paramétricos a serem estimados na equação de Regressão Logística.
Índice
Tipos de Modelos de Regressão Logística em Machine Learning
Com base na forma como a Regressão Logística é utilizada, o tipo de modelos de Regressão Logística pode ser classificado da seguinte forma:
1. Modelo de Regressão Logística Binária
Este é um dos modelos de regressão mais popularmente usados para Regressão Logística. Ele ajuda a categorizar os dados em duas classes e prever o valor de uma nova entrada como pertencente a uma das duas classes. Por exemplo, o tumor de um paciente pode ser benigno ou maligno, mas nunca ambos.
2. Modelo de Regressão Logística Multinomial
Este modelo ajuda a classificar as variáveis alvo em mais de duas classes – independentemente de qualquer significância quantitativa. Um exemplo disso pode ser prever o tipo de comida que um indivíduo provavelmente pedirá com base em suas preferências alimentares e experiências passadas.
Participe do Curso de Aprendizado de Máquina on-line das principais universidades do mundo - Mestrados, Programas de Pós-Graduação Executiva e Programa de Certificado Avançado em ML e IA para acelerar sua carreira.
3. Modelo Ordinal de Regressão Logística
Este modelo é usado para classificar a variável alvo. Por exemplo, o desempenho de um aluno em um exame pode ser classificado como ruim, bom e excelente em uma ordem hierárquica. Dessa forma, os dados são classificados em três categorias distintas, sendo que cada classe possui um nível de importância específico.
A equação de regressão logística pode ser usada em vários casos, como detecção de spam, classificação de tumores, categorização de sexo e muito mais. Vejamos dois dos casos de uso de exemplo mais comuns da equação de regressão logística no aprendizado de máquina para ajudá-lo a entender melhor.
Exemplos de casos de uso da Equação de Regressão Logística
Exemplo 1: identificando e-mails de spam
Considere a classe 1 se o email for spam e 0 se o email não for. Para detectar isso, vários atributos são analisados no corpo do email. Esses incluem:
- O remetente
- Erros de ortografia
- Palavras-chave no e-mail como “dados bancários”, “sorte”, “vencedor”, “parabéns”.
- Detalhes de contato ou URL no e-mail
Esses dados extraídos podem ser inseridos na equação de regressão logística para aprendizado de máquina, que analisará todas as entradas e fornecerá uma pontuação entre 0 e 1. Se a pontuação for maior que 0, mas menor que 0,5, o email será classificado como spam e se a pontuação estiver entre 0,5 e 1, o e-mail é marcado como não-spam.
Exemplo 2: Identificação de fraude de cartão de crédito
Usando equações de regressão logística ou modelos de aprendizado de máquina baseados em regressão logística, os bancos podem identificar prontamente transações fraudulentas de cartão de crédito. Para isso, detalhes como PoS, número do cartão, valor da transação, dados da transação e afins são inseridos no modelo de Regressão Logística, que decide se uma determinada transação é genuína (0) ou fraudulenta (1). Por exemplo, se o valor da compra for muito alto e se desviar dos valores típicos, o modelo de regressão atribui um valor (entre 0,5 e 1) que classifica a transação como fraude.
Trabalho de Regressão Logística em Machine Learning
A regressão logística funciona usando a função Sigmoid para mapear as previsões para as probabilidades de saída. Esta função é uma curva em forma de S que plota os valores previstos entre 0 e 1. Os valores são então plotados em direção às margens na parte superior e inferior do eixo Y, usando 0 e 1 como rótulos. Então, dependendo desses valores, as variáveis independentes podem ser classificadas.
Veja como a função Sigmoid se parece:
A função sigmóide é baseada na seguinte equação:
y=1/(1+e^x)
Onde e^x= a constante exponencial com um valor de 2,718.
A equação da função sigmóide acima fornece o valor previsto (y) como zero se x for considerado negativo. Se x for um número positivo grande, o valor previsto é próximo de um.
Construindo um modelo de regressão logística em Python
Vamos percorrer o processo de construção de um modelo de regressão logística em Python. Para isso, vamos usar o conjunto de dados da Rede Social para realizar a análise de regressão e tentar prever se um indivíduo comprará ou não um determinado carro. Veja como as etapas se parecem.
Etapa 1: importando as bibliotecas e o conjunto de dados
Ele começa importando as bibliotecas necessárias para construir o modelo. Isso inclui Pandas, Numpy e Matplotlib. Também precisamos importar o conjunto de dados com o qual trabalharemos. Veja como o código se parece:
importar numpy como np
importar matplotlib.pyplot como pt
importar pandas como pd
conjunto de dados = pd.read_csv('Social_Network.csv')
Passo 2: Dividindo em Variáveis Dependentes e Independentes
Agora é hora de dividir os dados alimentados em variáveis dependentes e independentes. Para este exemplo, consideraremos o valor de compra como variável dependente durante o salário estimado e a idade dos indivíduos como variáveis independentes.
x = conjunto de dados.iloc[:, [2,3]].valores
y = dataset.iloc[:, 4].values
Etapa 3: dividir o conjunto de dados em um conjunto de treinamento e um conjunto de teste
É essencial dividir o conjunto de dados em conjuntos específicos de treinamento e teste. O conjunto de treinamento treinará a equação de Regressão Logística, enquanto os dados de teste serão usados para validar o treinamento do modelo e testá-lo. Sklearn é usado para dividir o conjunto de dados fornecido em dois conjuntos. Usamos a função train_split_ especificando a quantidade de dados que desejamos separar para treinamento e teste.
de sklearn.model_selection importar train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0,33, random_state = 0)
Como você pode ver, definimos o tamanho do teste como 33% do conjunto de dados completo. Assim, os 66% restantes serão usados como dados de treinamento.
Etapa 4: dimensionamento
Para melhorar a precisão do seu modelo de regressão logística, você precisará redimensionar os dados e trazer valores que podem variar muito em natureza.
de sklearn.preprocessing importação StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
Etapa 5: construindo o modelo de regressão logística
Feito isso, você precisa construir o modelo de regressão logística e ajustá-lo ao conjunto de treinamento. Comece importando o algoritmo de regressão logística do Sklearn.
de sklearn.linear_model importar LogisticRegression
Em seguida, crie um classificador de instância para ajustar os dados de treinamento.
classificador = LogisticRegression(random_state=0)
classificador.fit(x_train, y_train)
Em seguida, crie previsões no conjunto de dados de teste.
y_pred = classificador.predict(x_test)
Por fim, verifique o desempenho do seu modelo de Regressão Logística usando a matriz Confusion.
de sklearn.metrics importar confusão_matrix
cm = confusão_matrix(y_test, y_pred)
acc = precisão_score(y_test, y_pred)
imprimir (acc)
imprimir (cm)
Agora, você pode usar o Matplotlib para visualizar todo o conjunto de dados, incluindo conjuntos de treinamento e teste!
Para concluir
A Regressão Logística é uma das ferramentas que auxiliam no desenvolvimento de modelos e algoritmos de Machine Learning. Da mesma forma, também existem vários outros algoritmos que são usados dependendo do caso de uso em questão. No entanto, para saber qual algoritmo usar, você deve estar ciente de todas as opções possíveis. Só então você estará em condições de selecionar o algoritmo mais adequado para seu conjunto de dados.
Confira nosso Programa PG Executivo em Aprendizado de Máquina projetado de uma maneira que o leva do zero e o ajuda a desenvolver suas habilidades até o topo - para que você esteja em posição de resolver qualquer problema de Aprendizado de Máquina do mundo real. Confira os diferentes cursos e inscreva-se no que for mais adequado para você. Junte-se ao upGrad e experimente um ambiente de aprendizado holístico e suporte de colocação!
A regressão logística é amplamente de três tipos: A regressão logística é um dos métodos de aprendizado supervisionado usados para encontrar e construir a melhor relação de ajuste entre variáveis dependentes e independentes para fazer previsões futuras adequadas. A regressão logística para aprendizado de máquina usa a função Sigmoid para encontrar a melhor curva de ajuste.Quantos tipos de regressão logística para aprendizado de máquina são possíveis?
1. Binário
2. Multinomial
3. Ordinário. Para que serve a regressão logística no aprendizado de máquina?
Qual é a função que o Logistic Regression for Machine Learning usa?