SHARE:

Machine Learning: preparando el entorno de trabajo

En este post vamos a explicar como preparar el entorno de trabajo para poder trabajar dentro del mundo de machine learning, pero partiendo de unas premisas:

  • Sistema operativo Linux Ubuntu 16.04
  • Lenguaje python 2.7 o 3.X

Como podemos ver hemos marcado el sistema operativo y el lenguaje sobre el que vamos a crear nuestro entorno de trabajo, si esto se hiciese bajo Windows o Mac los comandos aqui presentados claramente cambiaran, por lo que vamos a ceñirnos a estas premisas, que al mismo tiempo, son las más utilizadas dentro del área de data-science que es donde se encuadra el estudio y manejo de algoritmos no solo orientados al ML (Machine Learning), sino también a otras áreas de caracter científica donde la algoritmia juega un papel muy importante.

En primer lugar y como he comentado el sistema operativo Ubuntu 16.04 ya nos provee con los intérpretes de Python 2.7 y 3.5 ya instalados en el sistema por lo que no tenemos que preocuparnos. Igualmente y especialmente en Windows existe la opción de usar Anaconda que es una variante de Python acompañada de un gran número de paquetes orientados a data-science.

En nuestro caso no vamos a instalar Anaconda pues como ya he comentado Python ya viene instalado y solo nos queda instalar lo siguiente:

  • Gestor de paquetes para Python 2.7 llamado pip. Ejecutamos este comando:
sudo apt-get install python-pip
  • Gestor de paquetes de Python 3.X llamado pip3 ejecutando estos comandos:
sudo apt-get install python3-pip

Una vez tenemos ya los gestores de paquetes de Python instalados podemos instalar los principales paquetes de data-science más comunes, en mi caso usaré pip pues voy a trabajar bajo Python 2.7, auque sin ningún problema podemos trabajar bajo Python 3 utilizando en este caso pip3. Como ya he dicho, puede que no estén todos, pero si al menos los más utilizados. En cualquier caso, siempre instalaremos localmente los paquetes en nuestro home personal añadiendo el atributo –user al final, para no tener que utilizar privilegios de superusuario en el proceso de instalación. Estos serán instalados en la carpeta .local por defecto dentro de nuestra carpeta personal de trabajo. Estos son los paquetes que podemos instalar:

  • Librerías core y estadística:

Numpy: provides an abundance of useful features for operations on n-arrays and matrices in Python

pip install numpy --user

SciPy: library of software for engineering and science

pip install scipy --user

Pandas: designed to do work with “labeled” and “relational” data simple and intuitive

pip install pandas --user
  • Visualización:

matplotlib: generation of simple and powerful visualizations with ease

pip install matplotlib --user

Seaborn: focused on the visualization of statistical models

pip install seaborn --user

Plotly: Python graphing library makes interactive

pip install plotly --user

Pydot: Pydot is a library for generating complex oriented and non-oriented graphs. Python interface to Graphviz’s Dot

pip install plotly --user
 
sudo apt-get install graphviz

h5py: is a Pythonic interface to the HDF5 binary data format

pip install h5py --user
  • Machine Learning

Tensorflow: is a free and open-source software library for dataflow and differentiable programming across a range of tasks. Integrayed with Keras

pip install tensorflow --user

scikit-learn: is a free software machine learning library for the Python programming language

pip install sklearn --user

PyTorch: is an open-source machine learning library for Python

pip install pytorch --user

Jupyter y IPython: is a command shell for interactive computing in multiple programming languages and manage of Python notebooks

pip install jupyter --user

En el caso de que queramos trabajar con entornos de Python, es decir crear entornos privados (envirotment) donde el inérprete y todas las dependencias (paquetes) de nuestro modelo o script de Python se instalen solamente en dentro de este entorno, podemos instalar el paquete virtualenv de Python como sigue:

sudo apt-get install python-virtualenv virtualenv

Por último para desarrollar nuestros modelos o scripts en Python necesitaremos de algún entorno o editor de desarrollo. Igualmente hay varias opciones desde un simple editor como Sublime o Atom, hasta entornos más preparados para trabajar con el lenguaje Python tanto a nivel de desarollo como a nivel de depuración. Yo voy aconsejar dos entornos:

  • Pycharm community version 2018: es un entorno muy bueno de la casa IntelliJ. Esta version no tiene coste alguno y ofrece todo lo necesario para programar, depurar, ayuda, etc. Podemos bajar el instalador desde la Web de IntelliJ
  • Spyder3 (versión 2.7) herramienta visual estilo R Studio con la que podemos ejecutar paso a paso nuestros Python scripts, gestión visual de variables, terminal IPython, etc
sudo apt-get install spyder3

Escrito por

Miguel Salinas Gancedo

Thingtrack CTO