Skip to content

Desbloqueie o poder da regressão logística

    Regressão Logística

    A Regressão Logística é fundamental em análise de dados e aprendizado de máquina. Este guia simplificado explora seu conceito, aplicação em classificação de dados e implementação em Python.

    O que é Regressão Logística?

    A Regressão Logística classifica dados por meio de probabilidades entre 0 e 1, usando a função sigmoide, diferentemente da regressão linear, que prevê valores contínuos.

    Como a Regressão Logística Funciona?

    A Regressão Logística prevê a probabilidade de eventos usando variáveis independentes e a função sigmoide. Se a probabilidade for superior a 0,5, é classificado como positivo; caso contrário, é negativo.

    Implementando a Regressão Logística em Python

    Vamos mostrar como usar a biblioteca scikit-learn e StatsModels para implementar a Regressão Logística em Python.

    Utilizando scikit-learn

    A biblioteca scikit-learn oferece uma interface fácil de usar para construir modelos de regressão logística. Vamos seguir os passos básicos para criar, treinar e avaliar um modelo.

    Importando bibliotecas e obtendo os dados:

    import numpy as np
    from sklearn.model_selection import train_test_split
    from sklearn.linear_model import LogisticRegression
    from sklearn.metrics import classification_report, confusion_matrix
    
    # Obtendo os dados
    x = np.arange(10).reshape(-1, 1)
    y = np.array([0, 1, 0, 0, 1, 1, 1, 1, 1, 1])
    

    Dividindo os dados em conjuntos de treinamento e teste:

    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)
    

    Criando e treinando o modelo:

    model = LogisticRegression(solver='liblinear', C=10.0, random_state=0)
    model.fit(x_train, y_train)
    

    Avaliando o modelo:

    y_pred = model.predict(x_test)
    confusion = confusion_matrix(y_test, y_pred)
    report = classification_report(y_test, y_pred)
    
    print("Matriz de Confusão:")
    print(confusion)
    print("\nRelatório de Classificação:")
    print(report)
    

    Utilizando StatsModels

    Outra abordagem é utilizar a biblioteca StatsModels para realizar a regressão logística. Vamos ver como isso é feito.

    Importando bibliotecas e preparando os dados:

    import numpy as np
    import statsmodels.api as sm
    
    # Obtendo os dados
    x = np.arange(10).reshape(-1, 1)
    y = np.array([0, 1, 0, 0, 1, 1, 1, 1, 1, 1])
    
    # Adicionando uma coluna de constantes a x
    x = sm.add_constant(x)
    

    Criando e treinando o modelo:

    model = sm.Logit(y, x)
    result = model.fit(method='newton')
    

    Analisando os resultados:

    print(result.summary())
    

    Conclusão

    A Regressão Logística é útil para classificação. Aprender a aplicá-la com scikit-learn e StatsModels é importante para análise de dados e aprendizado de máquina, permitindo explorar dados e tomar decisões informadas.

    Outras Referências

    Link para a Regressão Logística do SkLearn: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

    Leave a Reply

    Your email address will not be published. Required fields are marked *