La ciencia de datos: realizar operaciones sobre matrices con un pitón

Tendrá que saber cómo utilizar matrices para la ciencia de datos. Una forma básica de la manipulación de datos con Python es colocar los datos en una matriz o matriz y luego usar técnicas estándar basados ​​en las matemáticas para modificar su forma.

Usando este enfoque pone los datos en una forma conveniente para realizar otras operaciones realizadas a nivel de cada observación individual, como en las iteraciones, ya que pueden aprovechar la arquitectura de su ordenador y algunas rutinas de álgebra lineal numérica altamente optimizados enviados en las CPU. Estas rutinas son que puede llamarse desde cualquier sistema operativo. Cuanto mayores sean los datos y los cálculos, más tiempo puede ahorrar. Además, el uso de estas técnicas también libre que escribir código Python largo y complejo.

El uso de vectorización

Su equipo le proporciona cálculos de rutina de gran alcance, y se puede utilizar cuando los datos están en el formato correcto. NumPy de ndarray es una estructura de almacenamiento de datos multidimensional que se puede utilizar como una tabla de datos dimensional. De hecho, se puede utilizar como un cubo o incluso un hipercubo cuando hay más de tres dimensiones.

Utilizando ndarray hace cálculos fácil y rápido. El siguiente ejemplo crea un conjunto de datos de tres observaciones con siete características para cada observación. En este caso, el ejemplo obtiene el valor máximo para cada observación y lo resta del valor mínimo para obtener el rango de valores para cada observación.

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 de impresión (conjunto de datos, eje = 1) - np.min (conjunto de datos, eje = 1)

La declaración de impresión obtiene el máximo valor de cada observación usando np.max () y luego lo resta del valor mínimo utilizando np.min (). El valor máximo en cada observación es [8 8 8]. El valor mínimo para cada observación es [2 0 0]. Como resultado, se obtiene el siguiente resultado:

[6 8 8]

Realización de aritmética simple en vectores y matrices

La mayoría de las operaciones y funciones de NumPy que se aplican a las matrices de vectorización de apalancamiento, por lo que son rápidos y eficientes - mucho más eficiente que cualquier otra solución o código hecho a mano. Incluso las operaciones más simples, tales como adiciones o divisiones pueden tomar ventaja de vectorización.

Video: Arreglos en Python: Introducción al uso de vectores y matrices (Numpy)

Por ejemplo, muchas veces, la forma de los datos del conjunto de datos no se ajusta exactamente con el formulario que necesita. Una lista de números podría porcentajes re-enviado como números enteros cuando realmente los necesita como valores fraccionarios. En este caso, normalmente se puede realizar algún tipo de operaciones matemáticas sencillas para resolver el problema, como se muestra aquí:

importar numpy como NPA = np.array ([15.0, 20.0, 22.0, 75.0, 40.0, 35.0]) a = a * .01print una

El ejemplo crea una matriz, lo llena con porcentajes de números enteros, y luego utiliza 0.01 como un multiplicador para crear porcentajes fraccionarios. A continuación, puede multiplicar estos valores fraccionarios contra otros números para determinar cómo afecta el porcentaje de ese número. La salida de este ejemplo es

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

Realización de matriz vector multiplicación

Las operaciones de vectorización más eficientes son las manipulaciones de matriz en el que sumar y multiplicar valores múltiples contra otros valores múltiples. NumPy hace que la realización de la multiplicación de un vector por una matriz fácil, lo cual es útil si usted tiene que calcular un valor para cada observación como una suma ponderada de las características. He aquí un ejemplo de esta 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) de impresión c

Observe que el formación formateado como un vector debe aparecer antes de la formación el formato de una matriz en la multiplicación o se produce un error. El ejemplo da salida a estos valores:

[60 80 100 120]

Para obtener los valores mostrados, se multiplica cada valor en el formación contra la coincidencia columna en la matriz - se multiplica el primer valor de la formación en contra de la primera columna, primera fila de la matriz. Por ejemplo, el primer valor de la salida es 2 * 1 + 4 * 2 + 6 * 3 + 8 * 4, que es igual a 60.

Realización de la multiplicación de matrices

También puede multiplicar una matriz contra otro. En este caso, la salida es el resultado de multiplicar las filas de la primera matriz contra las columnas de la segunda matriz. Aquí está un ejemplo de cómo se multiplica una matriz NumPy con la otra;

Video: Tutorial de Python en Español # 29 - Crear Matrices

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) de impresión c

En este caso, se termina con una matriz de 2 x 2 como salida. Estos son los valores que usted debe ver cuando se ejecuta la aplicación:

[[60 80] [50 66]]

Cada fila de la primera matriz se multiplica por cada columna de la segunda matriz. Por ejemplo, para obtener el valor 50 se muestra en la fila 2, columna 1 de la salida, de hacer coincidir los valores de la fila dos de matriz un con la columna 1 de la matriz segundo, así: 1 * 1 + 3 * 2 + 5 * 3 + 7 * 4.

Artículos Relacionados