Algoritmo de Regressão Linear e previsões Estatísticas

Algoritmo de Regressão Linear e previsões Estatísticas

por Mário Henrique Silva de Sousa

Machine Learning (aprendizado de máquina) consiste na aplicação de processos estatísticos e computacionais para a criação de modelos que podem processar dados, identificar padrões e aprender como se comportar com pouca, ou até nenhuma, interação humana no processo. Quanto ao tipo, ele pode ser classificado em: aprendizado supervisionado - com dados previamente rotulados, com os quais a máquina pode verificar sua precisão - e aprendizado não-supervisionado - com dados não rotulados e sem um parâmetro para a máquina validar sua precisão - sendo a principal, e mais popular, biblioteca para a realização de machine learning em Python a sklearn (Scikit-learn). Uma biblioteca lançada em 2007 por David Cournapeau que foi construída com base nas bibliotecas do Numpy, Scipy e Matplotlib.

TOY's DATASETS

Para facilitar o teste e construção de um modelo de machine learning em Sklearn, a biblioteca conta com alguns toy's datasets que são datasets embutidos e de fácil acesso, para testar e validar modelos, sendo os principais: load_iris() que retorna um dataframe com um total de 150 amostras sobre as diferentes espécies de flor de iris e é utilizado para modelos de classificação. Outro exemplo é o load_digits() que é um dataset com 1797 amostras e é utilizado principalmente para o treinamento de modelos de reconhecimento ótico de escrita cursiva, dentre outros datasets.

Para acessar os dados de forma mais eficiente, é necessário transformá-los em um dataframe, para tanto, é necessário a importação da biblioteca pandas e a conversão dá-se da seguinte forma.

from sklearn.datasets import load_iris
import pandas as pd
iris=load_iris()
iris_df=pd.DataFrame(data=iris.data, columns=iris.feature_names)

Uma vez que o dataset foi convertido em um dataframe, pode-se utilizar a função .describe() para ter acesso às informações estatísticas básicas como número de amostras, média, desvio padrão, entre outros.

iris_df.describe()


ESTIMADORES

Dentre os atributos disponíveis na biblioteca, podemos destacar os estimadores. Os estimadores realizam a classificação dos dados e eles, independente do modelo estatístico (KNN, regressão ou classificação) seguem um padrão que pode ser dividido em duas partes essenciais, a primeira, para o treinamento do modelo, é o método fit(), e a segunda, para realizar predições, posterior ao treinamento, é o método predict().

REGRESSÃO LINEAR

Regressão linear é um instrumento econométrico no qual se define uma variável dependente e uma independente, e se estima a equação da reta que define a interação entre ambos os indicadores. 

Numa regressão linear simples, a interação segue a seguinte fórmula.

y=a+bX+e

  1. y - é a variável dependente, que o modelo buscará estimar
  2. a - equivale à intercessão da reta com o eixo vertical
  3. b - é a inclinação da reta que define a interação entre a variável dependente e a independente
  4. X - é a variável independente, que determina a variação no eixo x
  5. e - são eventuais erros ou omissões

Para iniciar uma regressão linear, faz-se necessário a importação de um módulo da biblioteca sklearn chamado LinearRegression, esse módulo é responsável pelo método estatístico que realiza a regressão, e a biblioteca numpy para converter o dataframe em um array. 

from sklearn.linear_model import LinearRegression
import numpy as np
sepal_lenght=iris_df['sepal length (cm)']
petal_length=iris_df['petal length (cm)']
x = np.array(sepal_lenght).reshape((-1, 1))
y=np.array(petal_length)

Dentre as colunas de dados disponíveis, as variáveis sepal_lenght e petal_length recebem as colunas de largura das sépalas e das pétalas que estão no dataframe. Enquanto que na variável x e y, ambos são transformados em numpy arrays - um numpy array é uma coleção de dados, todos do mesmo tipo, que podem assumir diferentes formatos, inclusive formatos matriciais - no caso da variável x, o método reshape está transformando-a em um vetor de duas dimensões, que é um dos requisitos da biblioteca para a variável dependente. 

model=LinearRegression().fit(x,y)
y_pred=model.predict(x)
print(y_pred)

Na variável model, faz-se a chamada do método de regressão linear importado anteriormente e o método .fit() para treinar o algoritmo com as variáveis e ajustar o modelo. Logo em seguida, com o modelo já ajustado, usa-se o método .predict() para testar a eficiência do treinamento do modelo, e para tanto se passa o vetor {x} novamente, para verificar quais serão as previsões do algoritmo para os valores. E então podemos verificar tais valores. 

r_score = model.score(x, y)
print(f"O Coeficiente de determinação é: {r_score}")

Assim, pode-se verificar o coeficiente de determinação entre as variáveis, de forma simples, ele varia de 0 a 1, e quanto mais próximo de 1, melhor a variável independente consegue explicar alterações na variável dependente. 

Por fim, com o uso do conceito de regressão linear é possível estimar o impacto da tomada de determinadas decisões, seja no ambiente empresarial, governamental ou na análise de políticas públicas, oferecendo um maior embasamento aos tomadores de decisões sobre as consequências ou resultados de suas ações. 

Thyciana Barroso

Contratos | Societário | Imobiliário

2 a

👏👏👏👏 artigo excelente!

Paulo Roberto Carneiro

Analista de Dados | Power BI | SQL | ETL | DAX | R | Python | WinThor

2 a

Excelente meu amigo Mário Henrique Silva de Sousa

Stefanny Everton

Auxiliar administrativo na Hospital São Domingos

2 a

É extremamente gratificante poder ver um artigo dessa magnitude 👏 parabéns

Nunca li algo tão bom assim até hj, de verdade, continue, vc tem um.futuro brilhante!

Artigo bem estruturado 👏🏽 ótima produção!

Entre para ver ou adicionar um comentário

Outros artigos de Mário Henrique Silva de Sousa

Outras pessoas também visualizaram

Conferir tópicos