Imagem de Benjamin O. Tayo.
Álgebra Linear é um ramo da matemática extremamente útil na ciência de dados e no aprendizado de máquina. A álgebra linear é a habilidade matemática mais importante no aprendizado de máquina. A maioria dos modelos de aprendizado de máquina pode ser expressa em forma de matriz. O próprio conjunto de dados é frequentemente representado como uma matriz. A álgebra linear é usada no pré-processamento de dados, transformação de dados e avaliação de modelo. Aqui estão os tópicos com os quais você precisa estar familiarizado:
- Vetores
- Matrizes
- Transposição de uma matriz
- Inverso de uma matriz
- Determinante de uma matriz
- Traço de uma matriz
- Produto interno
- Autovalores
- Autovetores
Neste artigo, ilustramos a aplicação da álgebra linear em ciência de dados e aprendizado de máquina usando o conjunto de dados de ações de tecnologia, que pode ser encontrado SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
1. Álgebra Linear para Pré-processamento de Dados
Começamos ilustrando como a álgebra linear é usada no pré-processamento de dados.
1.1 Importe bibliotecas necessárias para álgebra linear
importar numpy como np importar pandas como pd importar pylab importar matplotlib.pyplot como plt importar seaborn como sns
1.2 Leia o conjunto de dados e exiba recursos
dados = pd.read_csv("tech-stocks-04-2021.csv") dados.head()
mesa 1. Preços de ações para preços de ações selecionados para os primeiros 16 dias de abril de 2021.
imprimir (data.shape) saída = (11,5)
A dados.forma função nos permite saber o tamanho do nosso conjunto de dados. Nesse caso, o conjunto de dados possui 5 características (data, AAPL, TSLA, GOOGL e AMZN), e cada característica possui 11 observações. Data refere-se aos pregões de abril de 2021 (até 16 de abril). AAPL, TSLA, GOOGL e AMZN são os preços de fechamento das ações da Apple, Tesla, Google e Amazon, respectivamente.
1.3 Visualização de dados
Para realizar a visualização de dados, precisaríamos definir matrizes de coluna para que os recursos sejam visualizados:
x = dados['data'] y = dados['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['1 de abril','8 de abril ','15 de abril']) plt.title('Preço das ações da Tesla (em dólares) para abril de 2021',size=14) plt.show()
Figura 1. Preço das ações da Tesla nos primeiros 16 dias de abril de 2021.
2. Matriz de Covariância
A matriz de covariância é uma das matrizes mais importantes em ciência de dados e aprendizado de máquina. Ele fornece informações sobre o co-movimento (correlação) entre recursos. Suponha que temos uma matriz de características com 4 Recursos e n observações como mostrado em tabela 2:
tabela 2. Apresenta matriz com 4 variáveis en observações.
Para visualizar as correlações entre os recursos, podemos gerar um gráfico de pares de dispersão:
cols=data.columns[1:5] print(cols) saída = Index(['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='objeto') sns.pairplot(dados[cols] , altura=3.0)
Figura 2. Gráfico de pares de dispersão para ações de tecnologia selecionadas.
Para quantificar o grau de correlação entre características (multicolinearidade), podemos calcular a matriz de covariância usando esta equação:
onde e são a média e o desvio padrão de feature , respectivamente. Esta equação indica que quando os recursos são padronizados, a matriz de covariância é simplesmente o ponto de produto entre recursos.
Na forma de matriz, a matriz de covariância pode ser expressa como uma matriz real e simétrica 4 x 4:
Esta matriz pode ser diagonalizada realizando um transformação unitária, também conhecida como transformação de Análise de Componentes Principais (PCA), para obter o seguinte:
Uma vez que o traço de uma matriz permanece invariante sob uma transformação unitária, observamos que a soma dos autovalores da matriz diagonal é igual à variância total contida nos atributos X1X2X3e X4.
2.1 Calculando a matriz de covariância para ações de tecnologia
de sklearn.preprocessing import StandardScaler stdsc = StandardScaler() X_std = stdsc.fit_transform(data[cols].iloc[:,range(0,4)].values) cov_mat = np.cov(X_std.T, bias= True)
Observe que isso usa o transpor da matriz padronizada.
2.2 Visualização da matriz de covariância
plt.figure(figsize=(8,8)) sns.set(font_scale=1.2) hm = sns.heatmap(cov_mat, cbar=True, annot=True, square=True, fmt='.2f', annot_kws={ 'tamanho': 12}, yticklabels=cols, xticklabels=cols) plt.title('Matriz de covariância mostrando coeficientes de correlação') plt.tight_layout() plt.show()
Figura 3. Gráfico de matriz de covariância para ações de tecnologia selecionadas.
Observamos na Figura 3 que o AAPL se correlaciona fortemente com GOOGL e AMZN, e fracamente com TSLA. TSLA correlaciona-se geralmente fracamente com AAPL, GOOGL e AMZN, enquanto AAPL, GOOGL e AMZN correlacionam-se fortemente entre si.
2.3 Calcular autovalores da matriz de covariância
np.linalg.eigvals(cov_mat) saída = array([3.41582227, 0.4527295 , 0.02045092, 0.11099732]) np.sum(np.linalg.eigvals(cov_mat)) saída = 4.000000000000006 np.trace(cov_mat) saída = 4.000000000000001
Observamos que o traço da matriz de covariância é igual à soma dos autovalores conforme esperado.
2.4 Calcule a variância cumulativa
Como o traço de uma matriz permanece invariante sob uma transformação unitária, observamos que a soma dos autovalores da matriz diagonal é igual à variância total contida nos atributos X1X2X3e X4. Portanto, podemos definir as seguintes quantidades:
Observe que quando p = 4, a variância cumulativa torna-se igual a 1 conforme esperado.
eigen = np.linalg.eigvals(cov_mat) cum_var = eigen/np.sum(eigen) print(cum_var) saída = [0.85395557 0.11318237 0.00511273 0.02774933] imprimir(np.sum(cum_var)) saída = 1.0
Observamos a partir da variância cumulativa (cum_var) que 85% da variância está contida no primeiro autovalor e 11% no segundo. Isto significa que quando a ACP é implementada, apenas as duas primeiras componentes principais podem ser utilizadas, uma vez que 97% da variância total é contribuída por estas duas componentes. Isso pode essencialmente reduzir a dimensão do espaço de recursos de 2 para 4 quando o PCA é implementado.
3. Matriz de Regressão Linear
Suponha que temos um conjunto de dados que possui 4 recursos preditores e n observações, conforme mostrado abaixo.
tabela 3. Apresenta matriz com 4 variáveis en observações. A coluna 5 é a variável alvo (y).
Gostaríamos de construir um modelo de regressão múltipla para prever o y valores (coluna 5). Nosso modelo pode, portanto, ser expresso na forma
Na forma de matriz, esta equação pode ser escrita como
onde X é a matriz de recursos (n x 4), w é a matriz (4 x 1) que representa os coeficientes de regressão a serem determinados, e y é a matriz (nx 1) que contém as n observações da variável alvo y.
Observe que X é uma matriz retangular, então não podemos resolver a equação acima tomando o inverso de X.
Converter X em uma matriz quadrada, multiplicamos o lado esquerdo e o lado direito da nossa equação pelo transpor of X, isso é
Esta equação também pode ser expressa como
onde
é a matriz de regressão (4×4). Claramente, observamos que R é uma matriz real e simétrica. Observe que na álgebra linear, a transposta do produto de duas matrizes obedece à seguinte relação
Agora que reduzimos nosso problema de regressão e o expressamos em termos da matriz de regressão (4×4) real, simétrica e invertível R, é simples mostrar que a solução exata da equação de regressão é então
Exemplos de análise de regressão para previsão de variáveis contínuas e discretas são apresentados a seguir:
Noções básicas de regressão linear para iniciantes absolutos
Construindo um classificador Perceptron usando o método dos mínimos quadrados
4. Matriz de Análise Linear Discriminante
Outro exemplo de matriz real e simétrica em ciência de dados é a matriz de Análise Discriminante Linear (LDA). Esta matriz pode ser expressa na forma:
onde SW é a matriz de dispersão dentro do recurso, e SB é a matriz de dispersão entre recursos. Como ambas as matrizes SW e SB são reais e simétricos, segue-se que L também é real e simétrico. A diagonalização de L produz um subespaço de recursos que otimiza a separabilidade de classes e reduz a dimensionalidade. Portanto, o LDA é um algoritmo supervisionado, enquanto o PCA não.
Para mais detalhes sobre a implementação do LDA, consulte as seguintes referências:
Aprendizado de máquina: redução de dimensionalidade por meio de análise discriminante linear
Repositório GitHub para implementação de LDA usando conjunto de dados Iris
Python Machine Learning por Sebastian Raschka, 3ª edição (Capítulo 5)
Resumo
Em resumo, discutimos várias aplicações da álgebra linear na ciência de dados e no aprendizado de máquina. Usando o conjunto de dados de ações de tecnologia, ilustramos conceitos importantes como o tamanho de uma matriz, matrizes de coluna, matrizes quadradas, matriz de covariância, transposição de uma matriz, autovalores, produtos escalares, etc. A álgebra linear é uma ferramenta essencial em ciência de dados e máquinas aprendizado. Assim, os iniciantes interessados em ciência de dados devem se familiarizar com conceitos essenciais da álgebra linear.
Relacionado:
Fonte: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html
- 11
- 2021
- 7
- 77
- 84
- 9
- absoluto
- algoritmo
- Amazon
- entre
- análise
- Apple
- Aplicação
- aplicações
- Abril
- artigo
- fundamentos básicos
- construir
- Coluna
- componente
- Computar
- computação
- contribuiu
- dados,
- ciência de dados
- Visualização de dados
- dólares
- etc.
- Característica
- Funcionalidades
- Figura
- Primeiro nome
- formulário
- função
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Como funciona o dobrador de carta de canal
- HTTPS
- INFORMAÇÕES
- IT
- aprendizagem
- aprendizado de máquina
- matemática
- matemática
- modelo
- Outros
- preço
- Produto
- Produtos
- reduzir
- regressão
- Ciência
- selecionado
- Tamanho
- So
- RESOLVER
- Espaço
- quadrado
- estoque
- Ações
- Target
- tecnologia
- Tesla
- Estoque Tesla
- Temas
- Trading
- Transformação
- us
- visualização
- X