El aprendizaje automático y la inteligencia artificial se han convertido en las nuevas palabras de moda en el mundo de la tecnología; literalmente, todo el mundo parece haberse dado cuenta de lo importante que es este campo de estudio
Un científico de datos estaría de acuerdo en que apenas se puede prescindir del uso de un cuaderno Jupyter en algún momento, bueno, si no siempre. Una amplia gama de ingenieros de IA/ML ha adoptado el uso de Jupyter Cuaderno como herramienta que utilizan para escribir y probar los algoritmos/modelos
Pero, ¿qué es Jupyter? ¿Y por qué se denomina cuaderno?
Según la Wikipedia, un cuaderno es un libro o carpeta de papel de páginas, a menudo rayadas, que se utiliza para muchos fines, como anotar notas o memorandos, escribir, dibujar o hacer álbumes de recortes.
Así que, básicamente, podríamos decir que un cuaderno se utiliza para expresar un contexto, una idea o unos conocimientos concretos mediante texto, diagramas, dibujos, imágenes, ecuaciones, tablas o incluso gráficos.
¿Por qué entonces se hace referencia a Jupyter como cuaderno?
Porque hace exactamente lo mismo que lo anterior Sirve para redactar documentos, códigos, textos, imágenes, ecuaciones, esbozar gráficos y visualizaciones e incluso dibujar tablas
¿Qué es Jupyter Notebook?
El Nota Jupyter book es una aplicación web de código abierto que permite crear y compartir documentos que contienen código en vivo, ecuaciones, visualizaciones y texto narrativo. Sus usos incluyen la limpieza y transformación de datos, la simulación numérica, el modelado estadístico, la visualización de datos, el aprendizaje automático y mucho más.
La mayoría de las veces, el Jupyter Notebook se utiliza en un entorno Python. Tienen salidas muy interactivas y pueden compartirse fácilmente, como un cuaderno normal
¿Para qué se puede utilizar Jupyter Notebook?
Escribir en varios idiomas
El sistema Jupyter admite más de 100 lenguajes de programación (denominados "núcleos" en el ecosistema Jupyter), entre los que se incluyen Python, Java, R, Julia, Matlab, Octave, Scheme, Processing, Scala y muchos más. Puede compartir con otros el código escrito en Notebook
He aquí algunos lenguajes que pueden escribirse en el cuaderno Jupyter
Python
De todos los lenguajes que se pueden escribir con Jupyter, python es el más popular con el cuaderno. Casi todos los que escriben código en el entorno Jupyter escriben en Python. Por defecto, Jupyter soporta Python en su entorno sin necesidad de utilizar comandos mágicos especiales.
def hola_mundo(): Â Â Â Â
print("Hola mundo!!!")
hello_world()
Y, la salida serÃa
¡Hola mundo!
!!
JavaScript
JavaScript es popularmente conocido en la web y también se puede escribir en Jupyter. A diferencia de Python, JavaScript no está soportado por defecto. Tiene que utilizar un cierto comando especial para decirle a la celda en la que lo está ejecutando que se trata de un código JavaScript. Estos comandos suelen denominarse comandos mágicos. Para JavaScript, el comando es %%javascript
También hay un límite para el código JavaScript que puede ejecutarse en Jupyter Notebook, a diferencia de python
%%javascript
const text = "hola mundo"
alert(text)
Java
Permite integrar "granos" - lenguajes - adicionales. Dicho kernel puede instalarse siguiendo las instrucciones de instalación que encontrará aquí. Tras la instalación, ejecute el siguiente comando en su terminal Jupyter si está en Linux
jupyter console --kernel=java
Jupyter
console 5.1.0
Java 9.0.4 11 :: IJava kernel 1.1.0-SNAPSHOT
Protocol v5.0 implementation by jupyter-jvm-basekernel 2.2.1-SNAPSHOT
En [1]
Matlab
Matlab es un lenguaje de alto rendimiento para computación técnica; integra computación, visualización y programación en un entorno fácil de usar en el que los problemas y las soluciones se expresan en notación matemática familiar
Para utilizar Matlab en Jupyter Notebook, primero hay que instalar Jupyter-Matlab. Lo primero que tenemos que hacer es crear un entorno virtual
- Abra su prompt de Jupyter en windows o simplemente su terminal en Linux y escriba el siguiente comando
conda create -vv -n jmatlab python=3.5 jupyter
- Asegúrese de que permanece en este terminal, a continuación, escriba el código
source activate jmatlab
- A continuación, instale el núcleo de Matlab para Python
pip install matlab_kernal
python -m matlab_kernel install
- Compruebe si el kernel está correctamente instalado
jupyter kernelspec list
- Encuentre su directorio MATLAB. â/Applications/MATLAB_R2017a.appâ.
- Vaya al subdirectorio âextern/engines/pythonâ e instale el motor Python.
cd â/Applications/MATLAB_R2017a.app/extern/engines/pythonâ
python setup.py
instale
- Inicie el cuaderno Jupyter
<span class="n">cd</span> <span class="n">su_directorio_de_trabajo</span>
jupyter
<span class="n">cuaderno</span>
Una vez iniciado, ahora debería haber una opción tanto para Matlab como para python
Marcadores
Jupyter notebook es muy útil cuando se trata de escribir markdown, y esto puede ser muy útil cuando se quiere dar una explicación verbosa o bien detallada de una pieza de código, escribir documentación, o un diccionario para un conjunto de datos en particular
Escriba el siguiente código en un cuaderno
*
[Pandas](#pandas),
  Se utiliza para el análisis de datos
*
[Numpy](#numpy),
  Se utiliza para el análisis numérico
*
[Matplotlib](#matplotlib),
  Se utiliza para la visualización de datos
La salida deberÃa ser la siguiente
Guiones Bash
Jupyter Notebooks permite el uso de scripts bash mediante el comando mágico %ºsh
Para probarlo, creemos una carpeta en su directorio de trabajo actual. Escriba el siguiente código en una celda de Notebook
%ºsh
mkdir
Carpeta_de_prueba
Ejecute el código, ahora compruebe su directorio de trabajo escribiendo el código
%ºsh
ls
Verá que la carpeta Carpeta_de_pruebas ha
ha sido añadida a él. También puede navegar hasta la carpeta físicamente para comprobarlo
Visualización de datos
Con el uso de librerías Python como matplotlib
, puede ejecutar y mostrar visualizaciones de datos directamente en su navegador
Intentemos hacer una visualización muy básica utilizando matplotlib
Primero importaríamos la biblioteca
from matplotlib import pyplot as plt
%matplotlib
inline
A continuación, escriba los siguientes códigos
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y
= [11, 12, 13, 14, 15, 16, 17, 18, 19]
plt.plot(x, y)

Aún más intrigante es que ¡¡¡podríamos hacer visualizaciones en 3d!!!
Primero necesitamos importar la biblioteca de visualización 3d
from mpl_toolkits import mplot3d
import numpy as np
Luego hacer una proyección 3d
fig = plt.figure()
ax = plt.axes(projection='3d')
Nuestra salida debería tener este aspecto
Ahora, ejecute los siguientes scripts
def f(x, y):
    return np.sin(np.sqrt(x ** 2 y ** 2))
x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
             cmap='viridis', edgecolor='none')
ax.set_title('surface')
Notaciones matemáticas y cientÃficas
Podemos utilizar herramientas como Latex dentro de nuestro Jupyter Notebook para escribir ecuaciones matemáticas y científicas
LaTeX es un sistema de composición tipográfica de alta calidad; incluye funciones diseñadas para la producción de documentación técnica y científica. Puede obtener más información sobre LaTeX aquí. Intentemos ejecutar algunos códigos LaTex sencillos
Escriba los siguientes comandos LaTex
## $J(\theta_0) = \frac{1}{2m}\suma_{i=0}^{m} (h_\theta(x^{(i)})
–
y^{(i)})^2$
La salida debería ser de este tipo
Conclusión
Este artículo sólo araña la superficie de lo que se puede conseguir con el uso de cuadernos Jupyter. Puede encontrar la mayoría de los ejemplos de este artículo en este cuaderno Jupyter que creé aquí en colaboratory