Numpy mínimos quadrados

Numpy mínimos quadrados
Hoje, vamos aprender sobre os mínimos quadrados em equações lineares e como implementar o método menos quadrado para o melhor ajuste para a linha de regressão nos conjuntos de dados fornecidos. Mas antes disso, vamos obter o conhecimento básico de Numpy. Numpy é um dos melhores pacotes matemáticos de Python que fornece serviços para matrizes e matrizes multidimensionais, juntamente com uma ampla gama de operações numéricas complexas que podem ser realizadas nessas matrizes/matrizes.

Um dos métodos de python lstsq () é usado para encontrar a linha de regressão da equação linear conhecida ax = b que melhor se encaixa com esta equação. Isso significa que você deve determinar a linha que mostra corretamente a relação entre os pontos x e y se seus dados indicar. A linha entre os dois pontos é conhecida como uma linha de regressão quando é usada para encontrar o mínimo quadrado por meio dessa equação, ax = b.

Sintaxe:

Vamos começar a aprender o estilo de implementação do Linalg.função lstsq (). Primeiro, escrevemos o nome da biblioteca que usamos no Python, que é "Numpy". Em seguida, concatenamos a função linalg () e concatenamos a função lstsq (). A função linalg () significa álgebra linear. É sempre usado com a função LSTSQ () porque é uma expressão algébrica linear. Depois disso, passamos os argumentos nos colchetes de função.

Parâmetros:

Vamos entender os parâmetros do linalg.função lstsq ():

Point1: É a matriz do coeficiente.

Point2: Esta matriz ou matriz contém variáveis ​​dependentes.

rcond: O tipo de dados é flutuante. A proporção Rcond serve como um corte para valores singulares menores de Point_1. Se um valor singular é menor que o Rcond Times o maior elemento singular de Point_1, é considerado zero ao determinar a classificação.

Valor de retorno:

Em troca, obtemos o mínimo quadrado da variável conhecida x na equação ax = b.

Exemplo 1:

Vamos começar a implementar nosso primeiro exemplo de um método menos quadrado da Biblioteca Python, Numpy. Primeiro, precisamos de um compilador Python para que possamos codificar nele. Abra o compilador. Você também precisa instalar a biblioteca Numpy porque estamos usando uma das funções de Numpy, que é a função lstsq (). Então, você tem que importar o pacote Numpy nele. Primeiro, escreva a palavra -chave "importar", que diz ao compilador que vamos importar o pacote. Então, temos que escrever o nome do pacote que usamos na função que é "Numpy". E então, também escrevemos o nome alternativo do “NP” Numpy porque muitos programadores usam essa abordagem. Esta é uma boa abordagem de programação e economiza tempo.

Depois de importar o pacote, começamos a escrever a linha de código real que queremos fazer. Imprimos as mensagens primeiro para que o usuário possa entender facilmente o que estamos fazendo no exemplo usando a instrução print (). Criamos a matriz unidimensional "A" usando a função Array () e depois a imprimimos chamando a instrução print (). Em seguida, criamos outra matriz unidimensional "B" usando a função Array () e a imprimimos usando a função print ().

importar numpy como np
Print ("Implementação do Método Menos quadrado em Numpy:")
A = np.matriz ([1,2,1,1,1,2,2,1,1])
print ("\ nA matriz A é:", a)
B = np.matriz ([4,3,5,4,2,3,6,3,2])
print ("\ nA array b é:", b)
X = np.Linalg.LSTSQ (NP.vstack ([a, np.uns (len (a))]).T, b, rcond = nenhum) [0]
print ("\ n O mínimo quadrado é:", x)

Após a criação dos pontos A e B, implementamos a função LSTSQ (). Mas primeiro, usamos a função vStack () para empilhar os elementos de "a", em termos de sequência. Então, tomamos a transposição de matriz "a". Em seguida, passamos a função vStack () como o primeiro argumento da função lstsq (). O segundo argumento é a matriz "B" e o terceiro argumento é "rcond", no qual definimos o valor de Rcond como "nenhum". Em seguida, armazenamos toda a função em outra matriz chamada "X", que mostra que é a equação linear variável conhecida, ax = b. Depois disso, exibimos os resultados, então usamos a instrução print () para isso e passamos a matriz "X".

Exemplo 2:

Agora, vamos começar a implementar outro exemplo de mínimos quadrados. Sempre importamos a biblioteca primeiro que usamos no programa que é Numpy. Primeiro, escrevemos a palavra -chave "importar" para obter o pacote no programa. Também escrevemos o nome do pacote que é "Numpy" e depois seu pseudônimo, "np". Em seguida, chamamos o método print () para que possamos exibir a mensagem retável dos mínimos quadrados para uma melhor compreensão do usuário.

Em seguida, criamos o nome da matriz "x_axis" e armazenamos a matriz usando a função arange (). Em seguida, imprimimos usando o método print (). Em seguida, criamos outro nome de matriz "y_axis" e armazenamos a matriz que criamos na seguinte ilustração.

Depois de criar as duas matrizes, implementamos o método () na matriz x_axis e o armazenamos em outra matriz chamada "Array_A". E então, também imprimimos esta matriz. Criamos outra matriz chamada "arg_reg_line" e implementamos um linalg.função lstsq (). Em seguida, passamos os parâmetros para esta função para que possamos obter os mínimos quadrados entre duas matrizes ou pontos. O primeiro parâmetro é que tomamos a transposição de Array_A. O segundo parâmetro é o segundo ponto que é o y_axis. Então, temos "rcond", que contém o valor "nenhum". Em seguida, exibimos a matriz usando o método print ().

importar numpy como np
Print ("Implementação de Linalg.função lstsq (): ")
x_axis = np.Arange (0, 10)
print ("\ nO valor do eixo x são:", x_axis)
y_axis = [10.3, 10.5, 11, 11.5, 13.2, 13.9, 14, 15.5, 16.6, 17]
print ("\ nO valor do eixo y são:", y_axis)
Array_a = np.Array ([x_axis, np.um (10)])
print ("\ nA matriz é: \ n", array_a)
arg_reg_line = np.Linalg.LSTSQ (Array_A.T, y_axis, rcond = nenhum) [0]
Print ("\ n the Parâmetros da linha de regressão são:", arg_reg_line)
reg_line = arg_reg_line [0] * x_axis + arg_reg_line [1]
importar matplotlib.pyplot como plt
plt.plot (x_axis, reg_line, 'r-')
plt.plot (x_axis, y_axis, 'o')
plt.Título ("Linha de regressão linear")
plt.xlabel ("eixo x")
plt.ylabel ("eixo y")
plt.mostrar()

Aqui está a saída do exemplo de implementação de previoulsy:

Importamos outro pacote de Numpy, que é o pacote "matplotlib" que é usado para plotar o gráfico. Em seguida, plotamos os valores x_axis e y_axis_values. Em seguida, definimos o título e os rótulos do gráfico. Por fim, exibimos o gráfico usando o método show ().

Aqui está o gráfico desejado do exemplo dado:

Conclusão

Neste artigo, aprendemos o que é o mínimo quadrado e como conseguimos o linalg.lstsq () da variável desconhecida x usando a equação linear ax = b. Usamos várias funções de Numpy para encontrar os mínimos quadrados e implementamos alguns exemplos com explicações detalhadas para uma melhor compreensão do usuário.