1.7 - Introducción a Python para Deep Learning
Lección 7 de la sección “Introducción al Deep Learning” del curso Fundamentos de Deep Learning con Python.
Tabla de contenido
Introducción
En la lección anterior vimos una introducción a Google Colab, la plataforma que usaremos para implementar la totalidad del código del componente práctico de este curso. En esta lección veremos todos los fundamentos de Python, el lenguaje de programación más usado en la actualidad para implementar y entrenar diferentes modelos de Deep Learning.
Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Las listas
Las listas en Python son arreglos o contenedores donde podemos almacenar diferentes tipos de datos. Podemos tener por ejemplo una lista numérica, que contendrá (como su nombre lo indica) variables numéricas, o podemos tener una lista en donde almacenemos variables tipo string (es decir en formato de texto).
Existen dos maneras de crear las listas: de forma manual, es decir introduciendo uno a uno los elementos de la lista:
# Una lista simple puede contener cualquier tipo de dato
lista_numerica = [0.5, 1, 3, 27]
print(lista_numerica)
lista_strings = ['uno', 'trece', 'nueve']
print(lista_strings)
o de forma programática, usando la función range de Python (forma no recomendada):
lista = []
for i in range(0,20):
lista.append(i**2)
print(lista)
o usando algo que se conoce como list comprehension una forma compacta de generar listas a través de Python:
lista = [i**2 for i in range(0,20)]
print(lista)
Indexación y slicing
Una vez creada la lista podemos acceder uno de sus elementos (lo que se conoce como indexación) o a una porción de ella (lo que se conoce como slicing).
El primer elemento de una lista siempre se indexa con la posición 0. Por ejemplo:
print(lista[0])
y el último elemento de una lista siempre se indexa con la posición -1:
print(lista[-1])
Si queremos de forma simultánea acceder a varios elementos de la lista (slicing) debemos usar los dos puntos (:
). Por ejemplo, podemos usar cualquiera de estas dos líneas de código para imprimir en pantalla los primeros 5 elementos de la lista
print(lista[0:5]) #Elementos 0, 1, 2, 3, 4 (el 5 no se incluye)
print(lista[:5]) #Equivalente a la anterior
Si en lugar de los primeros 5 queremos imprimir en pantalla los últimos 5:
print(lista[-5:])
También es posible definir “saltos” mayores a 1. Por ejemplo, imprimir las posiciones 0, 2, 4, etc.:
print(lista[0::2])
O hacer algo similar a la línea de código anterior pero en orden inverso:
print(lista[::-2])
Funciones
En Python las funciones son porciones de código que se usan de manera repetitiva y que pueden ser agrupadas en un bloque de código (llamado precisamente “función”) para evitar copiar y pegar código una y otra vez:
Por ejemplo, en el siguiente código crearemos una función que permite calcular el promedio y la desviación estándar de una lista numérica:
import math
def calcular_promedio_desviacion(lista):
# Calcular promedio
promedio = sum(lista)/len(lista)
# Calcular desviación
lista_menos_promedio = [(x-promedio)**2 / len(lista) for x in lista]
desviacion = math.sqrt( sum(lista_menos_promedio))
return promedio, desviacion
En la línea anterior tan sólo hemos creado la función en memoria, para ejecutarla simplemente debemos llamarla:
lista_nros = [3, 27, 5, 2, 9]
prom, desv = calcular_promedio_desviacion(lista_nros)
print('Promedio: ' + str(prom))
print('Desviación: ' + str(desv))
Diccionarios
Se usan para almacenar datos en pares key-value. Por ejemplo, podemos crear un diccionario en donde almacenemos las letras del alfabeto (keys) y su correspondiente posición numérica dentro del alfabeto (values):
alfabeto = 'abcdefghijlmnñopqrstuv'
# Codificar cada letra del alfabeto con un número y almacenar los pares
# letra-número en un diccionario
car_a_num = { car:num for num,car in enumerate(alfabeto)}
print(car_a_num)
Una vez creado el diccionario podemos acceder a cualquiera de sus elementos usando el key correspondiente.
Ayuda y documentación
Es posible acceder a la ayuda contextual de cualquier módulo o función de Python escribiendo el símbolo ?
después del nombre de la función
Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
Con este tutorial ya tenemos los elementos básicos para comenzar a elaborar programas sencillos en Python. Ahora comenzaremos a agregar elementos que complementan este funcionamiento básico, y que permiten a Python convertirse en un entorno de programación que nos permitirá resolver problemas mucho más complejos, haciendo uso de librerías externas.
En la próxima lección hablaremos de la primera de estas librerías: Numpy. En particular veremos una introducción de los elementos esenciales de Numpy para Deep Learning.