Search
Close this search box.
IA em Python com regressão logística
Regressão logística

Posts Relacionados:

Resolva problemas reais com a regressão logística, uma técnica de machine learning fácil, mas com impacto massivo para classificação com IA.

Receba nossa newsletter

Regressão Logística

A regressão logística (logistic regression) é uma ferramenta fundamental em machine learning. Ela é amplamente aplicável e pode ser usada para várias tarefas. Entre seus pontos fortes se destacam sua interpretabilidade. O modelo de regressão logística é relativamente simples e os resultados são fáceis de explicar, mesmo para públicos não técnicos. Para pessoas com conhecimento técnico, entender esse algoritmo é crucial para compreender modelos de machine learning mais avançados.

Algoritmo de Classificação

A regressão logística é uma técnica estatística utilizada para analisar dados e prever a probabilidade de um evento ocorrer com base em uma ou mais variáveis de entrada. Sua aplicação fundamental é determinar um limite de decisão para um problema de classificação binária. Ou seja, situações onde o resultado tem apenas dois valores possíveis, como sim/não, passa/falha ou verdadeiro/falso.

limite de decisão

Na figura acima, a linha tracejada pode ser identificada como o limite de decisão. Ele separa instâncias de classes diferentes em cada lado seu. Nossa intenção na regressão logística é encontrar o ajuste adequado do limite de decisão para podermos prever a qual classe um novo conjunto de recursos pode corresponder.

As Bases do Algoritmo

O nome regressão logística pode ser um ponto de confusão para quem estuda esse algoritmo pela primeira vez. Ele tem a palavra regressão, mas esse é um algoritmo tipicamente usado para classificação. Seu nome também faz referência à função logística da matemática que descreve uma curva sigmoide (curva S). Porém, a regressão logística é um algoritmo para classificação linear. Ele é usada principalmente para problemas de classificação binária. Nesses problemas, seu objetivo é prever um de dois desfechos possíveis, tipicamente representados como 0 e 1.

sigmoide

Curva sigmoide com uma reta passando por seu meio e indicando a separação de duas classes (fonte).

Em sua essência, a regressão logística usa uma equação linear para combinar as características que recebe de entrada com pesos (coeficientes), os quais são parâmetros que o modelo deve aprender:

logistic regression

nessa equação, w representa o vetor peso, x é o vetor das características de entrada e b é o termo de viés. Os pesos w determinam a influência de cada característica no resultado do modelo. A saída dessa equação linear, z, pode apresentar qualquer valor real entre o infinito negativo e o infinito positivo.

O papel da Função Sigmoide

Ao contrário da regressão linear que prediz valores contínuos, a regressão logística prevê probabilidades. No entanto, o resultado bruto da equação linear usada em seu modelo não se traduz diretamente em valores entre 0 e 1. Para converter esses valores reais em probabilidades entre 0 e 1, passamos z através da função sigmoide:

logistic regression function

A função sigmoide tem uma curva em forma de S que mapeia qualquer valor real para um valor entre 0 e 1. À medida que z se aproxima do infinito positivo, o termo sigmoid(z) se aproxima de 1, indicando uma alta probabilidade da classe positiva (por exemplo, y=1). Quando z se aproxima do infinito negativo, sigmoid(z) se aproxima de 0, indicando uma alta probabilidade da classe negativa (por exemplo, y=0). Quando z=0, sigmoid(z) = 0,5, a probabilidade é igual para ambas as classes.

A saída da função sigmoide, sigmoide(z), representa a probabilidade predita da classe positiva, P(y=1|x). Já a probabilidade da classe negativa é simplesmente 1 – sigmoid(z).

Sigmoide e Classificação Linear?

Embora a função logística (sigmoide) desempenhe um papel crucial na conversão da saída da equação linear em probabilidades, a relação subjacente entre as características e o resultado é modelada linearmente. Isso torna a regressão logística uma ferramenta poderosa e interpretável, pois podemos entender o impacto de cada característica analisando os pesos na equação linear.

Regressão Logística com Scikit-learn

Em Python, Scikit-learn é a biblioteca ideal para implementar de forma rápida classificações com regressão logística. Um exemplo ilustrativo de como usá-la é mostrado a seguir. Nele, precisamos classificar se as frutas de um conjunto são para exportação (1) ou não (0) a partir de seus tamanhos. As variáveis independentes são armazenadas em X e a variável dependente em y. Abaixo está um conjunto de dados de exemplo:

				
					import numpy as np

#X representa o tamanho de frutas
X = np.array([2.21, 2.3, 2.09, 1.14, 1.72, 1.65, 4.92, 4.37, 4.96, 4.52, 3.69, 5.88]).reshape(-1,1)

#y representa se uma fruta é para exportação (0 for "Não", 1 for "Sim").
y = np.array([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) 
				
			

Para realizar a classificação, teremos que importar o módulo do Scikit-learn:

				
					from sklearn import linear_model 
				
			

O método fit() usa as variáveis independentes e dependentes para encontrar os parâmetros que descrevem a relação do modelo:

				
					model = linear_model.LogisticRegression()
model.fit(X,y)
				
			

Com o uso do método fit(), temos um modelo de regressão logística que está pronto para saber se uma fruta é para exportação ou não, com base no seu tamanho:

				
					
predicted = model.predict(np.array([3.46]).reshape(-1,1))
print(predicted) # resultado: [1]
				
			

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 274

IA generativa img 274

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial