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.
Recomendados pelo LinkedIn
y=a+bX+e
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.
Contratos | Societário | Imobiliário
2 a👏👏👏👏 artigo excelente!
Analista de Dados | Power BI | SQL | ETL | DAX | R | Python | WinThor
2 aExcelente meu amigo Mário Henrique Silva de Sousa
Auxiliar administrativo na Hospital São Domingos
2 aÉ extremamente gratificante poder ver um artigo dessa magnitude 👏 parabéns
--
2 aNunca li algo tão bom assim até hj, de verdade, continue, vc tem um.futuro brilhante!
Auxiliar de Turma Anos Finais
2 aArtigo bem estruturado 👏🏽 ótima produção!