Tudo sobre regressão linear usando Scikit

Publicados: 2022-09-08

Na prática, existem dois algoritmos de aprendizado de máquina supervisionados primários: 1. Classificação e 2. Regressão — A classificação é usada para prever saídas discretas, enquanto a regressão é usada para prever saída de valor contínuo.

Em álgebra, linearidade denota uma relação direta ou linear entre múltiplas variáveis. Uma representação literal dessa relação seria uma linha reta.

Inscreva-se no curso de aprendizado de máquina das melhores universidades do mundo. Ganhe Masters, Executive PGP ou Advanced Certificate Programs para acelerar sua carreira.

A regressão linear é um algoritmo de aprendizado de máquina executado sob supervisão. É um processo de procurar e mapear uma linha adequada para todos os pontos de dados disponíveis no referido gráfico. É um modelo de regressão que ajuda a estimar o valor entre uma variável dependente e uma independente, tudo com o auxílio de uma linha reta.

Modelos de regressão linear ajudam a construir uma relação linear entre essas variáveis ​​independentes, que têm os menores custos, com base nas variáveis ​​dependentes dadas.

Em matemática, temos três maneiras que são usadas para descrever um modelo de regressão linear. Eles são os seguintes (y sendo a variável dependente):

  • y = intercepto + (inclinação x) + erro
  • y = constante + (coeficientex) + erro
  • y = a + bx + e

Índice

Por que a regressão linear é essencial?

Os modelos de regressão linear são comparativamente mais simples e mais fáceis de usar. Eles tornam o processo de interpretação de dados/fórmulas matemáticas capazes de gerar previsões relativamente mais simples. A regressão linear pode ser instrumental em vários campos (por exemplo, acadêmicos ou estudos de negócios).

O modelo de regressão linear é o único método cientificamente comprovado para prever com precisão o futuro. É usado em várias ciências, desde ambiental, comportamental, social, etc.

As propriedades desses modelos são muito bem compreendidas e, portanto, facilmente treináveis, pois é um procedimento estatístico há muito estabelecido. Também facilita a transformação de conjuntos de dados brutos copiosos em informações acionáveis.

Principais premissas da regressão linear efetiva

  • O número de casos válidos, média e desvio padrão devem ser considerados para cada variável.
  • Para cada modelo : Coeficientes de regressão, matriz de correlação, correlações parciais e parciais, erro padrão da estimativa, tabela de análise de variância, valores previstos e resíduos devem ser considerados.
  • Gráficos : São considerados gráficos de dispersão, histogramas, gráficos parciais e gráficos de probabilidade normal.
  • Dados : Deve-se garantir que as variáveis ​​dependentes e independentes sejam quantitativas. As variáveis ​​categóricas não precisam ser recodificadas para variáveis ​​binárias ou fictícias ou outros tipos de variáveis ​​de contraste.
  • Outras suposições : Para cada valor de uma dada variável independente, precisamos de uma distribuição normal da variável dependente. A variância da distribuição dada da variável dependente também deve ser mantida constante para cada valor da variável independente. A relação entre cada variável independente dependente deve ser linear. Além disso, todas as observações devem ser independentes.

Aqui está um exemplo existente de uma regressão linear simples :

O conjunto de dados no exemplo contém informações sobre as situações climáticas globais de cada dia para um determinado período. Esta lista detalhada de informações inclui fatores como precipitação, queda de neve, temperaturas, velocidade do vento, trovoadas ou outras possíveis condições meteorológicas.

Este problema visa utilizar o modelo de regressão linear simples para prever a temperatura máxima tomando como entrada a temperatura mínima.

Em primeiro lugar, todas as bibliotecas precisam ser importadas.

importar pandas como pd

importar numpy como np

importar matplotlib.pyplot como plt

import seaborn as seabornInstance

de sklearn.model_selection importar train_test_split

de sklearn.linear_model importar LinearRegression

das métricas de importação do sklearn

%matplotlib em linha

Para importar o seguinte conjunto de dados usando pandas, o seguinte comando precisa ser aplicado:

conjunto de dados = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

Para verificar o número de linhas e colunas presentes no conjunto de dados para explorar os dados, é necessário aplicar o seguinte comando:

conjunto de dados.forma

A saída recebida deve ser (119040, 31), o que significa que os dados contêm 119040 linhas e 31 colunas.

Para ver os detalhes estatísticos do conjunto de dados, o seguinte comando pode ser usado:

descrever():

conjunto de dados.descrever()

Aqui está outro exemplo que visa demonstrar como se pode recuperar e usar várias bibliotecas Python que devem ser usadas para aplicar regressão linear a determinados conjuntos de dados:

1. Importando todas as bibliotecas necessárias

importar numpy como np

importar pandas como pd

importar seaborn como sns

importar matplotlib.pyplot como plt

do pré-processamento de importação do sklearn, svm

de sklearn.model_selection importar train_test_split

de sklearn.linear_model importar LinearRegression

2. Lendo o conjunto de dados

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# Alterando o local de leitura do arquivo para o local do conjunto de dados

df = pd.read_csv('garrafa.csv')

df_binary = df[['Salnty', 'T_degC']]

# Pegando apenas os dois atributos selecionados do conjunto de dados

df_binary.columns = ['Sal', 'Temp']

# Renomeando as colunas para facilitar a escrita do código

df_binary.head()

# Exibindo apenas as primeiras linhas junto com os nomes das colunas

2. Explorando a dispersão de dados

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, ordem = 2, ci = Nenhum)

# Plotando a dispersão de dados

3. Limpeza de dados

# Eliminando NaN ou números de entrada ausentes

df_binary.fillna(method ='ffill', inplace = True)

4. Treinamento do modelo

X = np.array(df_binary['Sal']).reforma(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# Separando os dados em variáveis ​​independentes e dependentes

# Convertendo cada dataframe em um array numpy

# pois cada dataframe contém apenas uma coluna

df_binary.dropna(inplace = True)

# Eliminando todas as linhas com valores Nan

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0,25)

# Dividindo os dados em dados de treinamento e teste

regr = LinearRegression()

regr.fit(X_train, y_train)

print(regr.score(X_test, y_test))

5. Explorando os resultados

y_pred = reg.predict(X_test)

plt.scatter(X_test, y_test, color ='b')

plt.plot(X_test, y_pred, color ='k')

plt.show()

# Dispersão de dados dos valores previstos

6. Trabalhando com um conjunto de dados menor

df_binary500 = df_binary[:][:500]

# Selecionando as primeiras 500 linhas dos dados

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary500,

ordem = 2, ci = Nenhum)

Blogs populares de aprendizado de máquina e inteligência artificial

IoT: História, Presente e Futuro Tutorial de aprendizado de máquina: aprender ML O que é Algoritmo? Simples e fácil
Salário de engenheiro de robótica na Índia: todas as funções Um dia na vida de um engenheiro de aprendizado de máquina: o que eles fazem? O que é IoT (Internet das Coisas)
Permutação vs Combinação: Diferença entre Permutação e Combinação As 7 principais tendências em inteligência artificial e aprendizado de máquina Aprendizado de máquina com R: tudo o que você precisa saber

Se você estiver interessado em aprender machine learning completo, recomendamos ingressar no Master of Science in Machine Learning & AI da upGrad . O programa de 20 meses é oferecido em associação com o IIIT Bangalore e a Liverpool John Moores University. Ele foi projetado para ajudá-lo a desenvolver competências em linguagens de programação, ferramentas e bibliotecas relevantes para o setor, como Python, Keras, Tensor Flow, MySql, Flask, Kubernetes, etc.

O programa pode ajudá-lo a entender conceitos avançados de ciência de dados por meio de experiência prática e desenvolvimento de habilidades. Além disso, você obtém a vantagem do upGrad com acesso a aconselhamento profissional 360°, um pool de rede de mais de 40.000 alunos pagos e uma tonelada de oportunidades de colaboração!

Reserve o seu lugar hoje!

Para que serve a regressão linear

Esse tipo de análise geralmente é usado para prever o valor de uma variável com base em outra variável conhecida. As variáveis ​​que estão sendo usadas para encontrar o valor da outra são chamadas de variáveis ​​dependentes e independentes, respectivamente.

Como instalar o scikit aprender?

Inicialmente, a versão de regressão linear de aprendizado do Scikit fornecida pelo sistema operacional em questão ou pela distribuição do Python precisa ser instalada. Este é o mais rápido para as pessoas que têm esta opção disponível. Em seguida, a versão lançada oficialmente e a versão atualizada mais recente precisam ser instaladas.

Como o scikit aprende funciona?

O Scikit aprende a regressão linear fornece uma variedade de algoritmos supervisionados e não supervisionados por meio de uma interface de python, que é sempre consistente. É licenciado sob uma licença BSD permitida. É distribuído sob vários operadores Linux. O uso desses algoritmos é amplamente incentivado nos negócios e na educação.