Capítulo 1. Introducción Introducción

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

No se trata tanto de un manual de instrucciones como de notas, tablas y ejemplos para el aprendizaje automático. Fue creado por el autor como un recurso adicional durante la formación, pensado para ser distribuido como un cuaderno físico. Los participantes (que prefieren las características físicas del material de árbol muerto) podían añadir sus propias notas y pensamientos y disponer de una valiosa referencia de ejemplos curados.

Trataremos la clasificación con datos estructurados. Otras aplicaciones comunes del aprendizaje automático incluyen la predicción de un valor continuo (regresión), la creación de conglomerados o el intento de reducir la dimensionalidad, entre otras. En este libro no se tratan las técnicas de aprendizaje profundo. Aunque esas técnicas funcionan bien para datos no estructurados, la mayoría recomienda las técnicas de este libro para datos estructurados.

Asumimos conocimientos y familiaridad con Python. Es útil aprender a manipular datos utilizando la biblioteca pandas. Tenemos muchos ejemplos que utilizan pandas, y es una herramienta excelente para tratar datos estructurados. Sin embargo, algunas de las operaciones de indexación pueden resultar confusas si no estás familiarizado con numpy. La cobertura completa de pandas podría ser un libro en sí mismo.

Bibliotecas utilizadas

Este libro utiliza muchas bibliotecas. Esto puede ser algo bueno y algo malo. Algunas de estas bibliotecas pueden ser difíciles de instalar o entrar en conflicto con otras versiones de bibliotecas. No sientas la necesidad de instalar todas estas bibliotecas. Utiliza la "instalación JIT" e instala sólo las bibliotecas que quieras utilizar a medida que las necesites.

>>> import autosklearn, catboost,
category_encoders, dtreeviz, eli5, fancyimpute,
fastai, featuretools, glmnet_py, graphviz,
hdbscan, imblearn, janitor, lime, matplotlib,
missingno, mlxtend, numpy, pandas, pdpbox, phate,
pydotplus, rfpimp, scikitplot, scipy, seaborn,
shap, sklearn, statsmodels, tpot, treeinterpreter,
umap, xgbfir, xgboost, yellowbrick

>>> for lib in [
...     autosklearn,
...     catboost,
...     category_encoders,
...     dtreeviz,
...     eli5,
...     fancyimpute,
...     fastai,
...     featuretools,
...     glmnet_py,
...     graphviz,
...     hdbscan,
...     imblearn,
...     lime,
...     janitor,
...     matplotlib,
...     missingno,
...     mlxtend,
...     numpy,
...     pandas,
...     pandas_profiling,
...     pdpbox,
...     phate,
...     pydotplus,
...     rfpimp,
...     scikitplot,
...     scipy,
...     seaborn,
...     shap,
...     sklearn,
...     statsmodels,
...     tpot,
...     treeinterpreter,
...     umap,
...     xgbfir,
...     xgboost,
...     yellowbrick,
... ]:
...     try:
...         print(lib.__name__, lib.__version__)
...     except:
...         print("Missing", lib.__name__)
catboost 0.11.1
category_encoders 2.0.0
Missing dtreeviz
eli5 0.8.2
fancyimpute 0.4.2
fastai 1.0.28
featuretools 0.4.0
Missing glmnet_py
graphviz 0.10.1
hdbscan 0.8.22
imblearn 0.4.3
janitor 0.16.6
Missing lime
matplotlib 2.2.3
missingno 0.4.1
mlxtend 0.14.0
numpy 1.15.2
pandas 0.23.4
Missing pandas_profiling
pdpbox 0.2.0
phate 0.4.2
Missing pydotplus
rfpimp
scikitplot 0.3.7
scipy 1.1.0
seaborn 0.9.0
shap 0.25.2
sklearn 0.21.1
statsmodels 0.9.0
tpot 0.9.5
treeinterpreter 0.1.0
umap 0.3.8
xgboost 0.81
yellowbrick 0.9
Nota

La mayoría de estas bibliotecas se instalan fácilmente con pip o conda. Confastai necesito utilizar pip install. --no-deps fastai. La biblioteca umap se instala con pip install umap-learn. La biblioteca janitor se instala con pip install pyjanitor. La biblioteca autosklearn se instala con pip install auto-sklearn.

Yo suelo utilizar Jupyter para hacer un análisis. También puedes utilizar otras herramientas de cuaderno. Ten en cuenta que algunas, como Google Colab, tienen preinstaladas muchas de las bibliotecas (aunque pueden ser versiones obsoletas).

Hay dos opciones principales para instalar bibliotecas en Python. Una es utilizar pip (acrónimo de Pip Instala Python), una herramienta que viene con Python. La otra opción es utilizar Anaconda. Presentaremos ambas.

Instalación con Pip

Antes de utilizar pip, crearemos un entorno "sandbox" en el que instalar nuestras bibliotecas. Esto se llama un entorno virtual llamado env:

$ python -m venv env
Nota

En Macintosh y Linux, utiliza python; en Windows, utiliza python3. Si Windows no lo reconoce desde el símbolo del sistema, puede que tengas que reinstalar o arreglar tu instalación y asegurarte de que marcas la casilla "Añadir Python a mi PATH".

Luego activas el entorno para que, cuando instales bibliotecas, vayan al entorno sandbox y no a la instalación global de Python. Como muchas de estas bibliotecas cambian y se actualizan, es mejor bloquear las versiones por proyecto para saber que tu código funcionará.

A continuación te explicamos cómo activar el entorno virtual en Linux y Macintosh:

$ source env/bin/activate

Observarás que el indicador se actualiza, indicando que estamos utilizando el entorno virtual:

  (env) $ which python
  env/bin/python

En Windows, tendrás que activar el entorno ejecutando este comando:

C:> env\Scripts\activate.bat

De nuevo, observarás que el indicador se actualiza, indicando que estamos utilizando el entorno virtual:

  (env) C:> where python
  env\Scripts\python.exe

En todas las plataformas, puedes instalar paquetes utilizando pip. Para instalar pandas, escribe

(env) $ pip install pandas

Algunos de los nombres de los paquetes son diferentes de los nombres de las bibliotecas. Puedes buscar paquetes utilizando:

(env) $ pip search libraryname

Una vez que tengas los paquetes instalados, puedes crear un archivo con todas las versiones de los paquetes utilizando pip:

(env) $ pip freeze > requirements.txt

Con este archivo requirements.txt puedes instalar fácilmente los paquetes en un nuevo entorno virtual:

(other_env) $ pip install -r requirements.txt

Instalación con Conda

La herramienta conda viene con Anaconda y nos permite crear entornos e instalar paquetes.

Para crear un entorno llamado env, ejecuta:

$ conda create --name env python=3.6

Para activar este entorno, ejecuta

$ conda activate env

Esto actualizará el indicador tanto en sistemas Unix como Windows. Ahora puedes buscar paquetes utilizando:

(env) $ conda search libraryname

Para instalar un paquete, como pandas, ejecuta

(env) $ conda install pandas

Para crear un archivo con los requisitos del paquete, ejecuta

(env) $ conda env export > environment.yml

Para instalar estos requisitos en un nuevo entorno, ejecuta

(other_env) $ conda create -f environment.yml
Advertencia

Algunas de las bibliotecas mencionadas en este libro no se pueden instalar desde el repositorio de Anaconda, no te preocupes. Resulta que puedes utilizar pip dentro de un entorno conda (sin necesidad de crear un nuevo entorno virtual), e instalarlas utilizando pip.

Get Referencia de bolsillo sobre aprendizaje automático now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.