Ciência de dados: operações realizando em matrizes com python

Você precisa saber como usar matrizes para a ciência de dados. Uma forma básica de manipulação de dados com o Python é colocar os dados em uma matriz ou da matriz e, em seguida, utilizar técnicas à base de matemática padrão para alterar a sua forma.

Usando essa abordagem coloca os dados em uma forma conveniente para realizar outras operações realizadas ao nível da cada observação individual, como em iterações, porque pode alavancar sua arquitetura de computador e algumas rotinas de álgebra linear numérica altamente otimizados enviados em CPUs. Estas rotinas podem ser chamados a partir de cada sistema operacional. Quanto maiores forem os dados e os cálculos, quanto mais tempo você pode economizar. Além disso, o uso dessas técnicas também poupá-lo escrevendo longo e complexo código Python.

usando vetorização

Seu computador fornece-lhe com os cálculos de rotina poderosos, e você pode usá-los quando seus dados estão no formato certo. NumPy de ndarray é uma estrutura de armazenamento de dados multidimensional que você pode usar como uma tabela de dados dimensional. Na verdade, você pode usá-lo como um cubo ou mesmo um hipercubo quando há mais de três dimensões.

Video: 25 - Matrizes

utilização ndarray faz cálculos fácil e rápido. O exemplo a seguir cria um conjunto de dados de três observações com sete características para cada observação. Neste caso, o exemplo obtém-se o valor máximo para cada observação e subtrai o valor mínimo para se obter a gama de valores para cada observação.

importar numpy como npdataset = np.array ([[2, 4, 6, 8, 3, 2, 5], [7, 5, 3, 1, 6, 8, 0], [1, 3, 2, 1 , 0, 0, 8]]) np.max impressão (conjunto de dados, eixo = 1) - np.min (conjunto de dados, eixo = 1)

A declaração de impressão obtém o valor máximo de cada observação usando np.max () e, em seguida, subtrai o valor mínimo usando np.min (). O valor máximo em cada observação é [8 8 8]. O valor mínimo para cada observação é [2 0 0]. Como resultado, você recebe o seguinte resultado:

[6 8 8]

Realizar aritmética simples sobre vetores e matrizes

A maioria das operações e funções de NumPy que você aplica a matrizes alavancagem vetorização, por isso eles são rápidos e eficientes - muito mais eficiente do que qualquer outra solução ou código artesanal. Mesmo as operações mais simples, como adições ou divisões podem tirar proveito de vetorização.

Video: Curso de Python - Aula 43 - Lista, Pilha, Array, Set - eXcript

Por exemplo, muitas vezes, a forma dos dados em seu conjunto de dados não vai totalmente de acordo com a forma que você precisa. Uma lista de números poderia percentagens re-enviados como números inteiros quando você realmente precisa deles como valores fracionários. Neste caso, normalmente você pode executar algum tipo de matemática simples para resolver o problema, como mostrado aqui:

importar numpy como npa = np.array ([15,0, 20,0, 22,0, 75,0, 40,0, 35,0]) a = a * .01print um

O exemplo que se cria uma matriz, enche-a com percentagens de números inteiros, e em seguida, usa 0,01 como um multiplicador para criar percentagens fraccionais. Você pode então multiplicar esses valores fracionários contra outros números para determinar como a percentagem afeta esse número. A saída deste exemplo é


[0,15 0,2 0,22 0,75 0,4 0,35]

Executando matriz vector de multiplicação

As operações de vectorização mais eficientes são manipulações da matriz em que você somar e multiplicar valores múltiplos contra outros valores múltiplos. NumPy faz realizar multiplicação de um vetor por uma matriz fácil, que é útil se você tem que estimar um valor para cada observação como uma soma ponderada dos recursos. Aqui está um exemplo desta técnica:

importar numpy como npa = np.array ([2, 4, 6, 8]) b = np.array ([[1, 2, 3, 4], [2, 3, 4, 5], [3, 4 , 5, 6], [4, 5, 6, 7]]) c = np.dot (a, b), c impressão

Observe que o ordem formatado como um vector deve aparecer antes do ordem formatado como uma matriz na multiplicação ou você recebe um erro. O exemplo que se produz os seguintes valores:

[60 80 100 120]

Para obter os valores mostrados, você multiplicar cada valor no ordem contra a correspondência coluna na matriz - você multiplicar o primeiro valor na ordem contra a primeira coluna, primeira linha da matriz. Por exemplo, o primeiro valor na saída é * 1 + 2 4 * 2 + 6 * 3 + 8 * 4, que é igual a 60.

Video: Estruturas de Dados - Matriz dinâmica

Da realização da multiplicação da matriz

Você também pode multiplicar uma matriz contra a outra. Neste caso, a saída é o resultado da multiplicação de linhas na primeira matriz contra colunas na segunda matriz. Aqui está um exemplo de como você multiplicar uma matriz NumPy contra outro:

importar numpy como npa = np.array ([[2, 4, 6, 8], [1, 3, 5, 7]]) b = np.array ([[1, 2], [2, 3], [3, 4], [4, 5]]) c = np.dot (a, b), c impressão

Neste caso, você acaba com uma matriz 2 x 2 como saída. Aqui estão os valores que você deve ver quando você executar o aplicativo:

[[60 80] [50 66]]

Cada linha na primeira matriz é multiplicado por cada coluna da segunda matriz. Por exemplo, para obter o valor 50 mostrado na linha 2, coluna 1 da saída, você igualar-se os valores na linha dois de matriz uma com uma coluna de matriz b, assim: 1 * 1 + 3 * 2 * + 5 3 + 7 * 4.


Publicações relacionadas