Aprendizaje automático con Python - Ecosistema

Una introducción a Python

Python es un popular lenguaje de programación orientado a objetos que tiene las capacidades de un lenguaje de programación de alto nivel. Su sintaxis fácil de aprender y su capacidad de portabilidad lo hacen popular en estos días. Los siguientes hechos nos dan la introducción a Python:

  • Python fue desarrollado por Guido van Rossum en Stichting Mathematisch Centrum en los Países Bajos.

  • Fue escrito como el sucesor del lenguaje de programación llamado 'ABC'.

  • Su primera versión fue lanzada en 1991.

  • El nombre Python fue elegido por Guido van Rossum de un programa de televisión llamado Flying Circus de Monty Python.

  • Es un lenguaje de programación de código abierto, lo que significa que podemos descargarlo libremente y usarlo para desarrollar programas. Puede descargarse de www.python.org .

  • El lenguaje de programación Python tiene las características de Java y C. Tiene el elegante código 'C' y, por otro lado, tiene clases y objetos como Java para la programación orientada a objetos.

  • Es un lenguaje interpretado, lo que significa que el código fuente del programa Python se convertiría primero en código de bytes y luego se ejecutaría mediante la máquina virtual Python.

Fortalezas y debilidades de Python

Todos los lenguajes de programación tienen sus puntos fuertes y sus debilidades, al igual que Python.

Fortalezas

Según estudios y encuestas, Python es el quinto idioma más importante, así como el idioma más popular para el aprendizaje automático y la ciencia de datos. Es debido a las siguientes fortalezas que Python tiene:

Easy to learn and understand- La sintaxis de Python es más simple; de ahí que sea relativamente fácil, incluso para los principiantes, aprender y comprender el idioma.

Multi-purpose language - Python es un lenguaje de programación multipropósito porque admite programación estructurada, programación orientada a objetos y programación funcional.

Huge number of modules- Python tiene una gran cantidad de módulos para cubrir todos los aspectos de la programación. Estos módulos están fácilmente disponibles para su uso, por lo que Python es un lenguaje extensible.

Support of open source community- Como lenguaje de programación de código abierto, Python es compatible con una gran comunidad de desarrolladores. Debido a esto, los errores se corrigen fácilmente por la comunidad de Python. Esta característica hace que Python sea muy robusto y adaptable.

Scalability - Python es un lenguaje de programación escalable porque proporciona una estructura mejorada para soportar programas grandes que los scripts de shell.

Debilidad

Aunque Python es un lenguaje de programación popular y poderoso, tiene su propia debilidad de velocidad de ejecución lenta.

La velocidad de ejecución de Python es lenta en comparación con los lenguajes compilados porque Python es un lenguaje interpretado. Esta puede ser la principal área de mejora para la comunidad de Python.

Instalación de Python

Para trabajar en Python, primero debemos tener que instalarlo. Puede realizar la instalación de Python de cualquiera de las dos formas siguientes:

  • Instalación de Python individualmente

  • Uso de la distribución de Python preempaquetada - Anaconda

Discutamos cada uno de estos en detalle.

Instalación de Python individualmente

Si desea instalar Python en su computadora, entonces necesita descargar solo el código binario aplicable a su plataforma. La distribución de Python está disponible para plataformas Windows, Linux y Mac.

La siguiente es una descripción general rápida de la instalación de Python en las plataformas mencionadas anteriormente:

On Unix and Linux platform

Con la ayuda de los siguientes pasos, podemos instalar Python en la plataforma Unix y Linux:

  • Primero, vaya a www.python.org/downloads/ .

  • A continuación, haga clic en el enlace para descargar el código fuente comprimido disponible para Unix / Linux.

  • Ahora, descargue y extraiga archivos.

  • A continuación, podemos editar el archivo Módulos / Configuración si queremos personalizar algunas opciones.

    • A continuación, escribe el comando run ./configure script

    • make

    • hacer instalar

On Windows platform

Con la ayuda de los siguientes pasos, podemos instalar Python en la plataforma Windows:

  • Primero, vaya a www.python.org/downloads/ .

  • A continuación, haga clic en el enlace del archivo de instalación de Windows python-XYZ.msi. Aquí XYZ es la versión que deseamos instalar.

  • Ahora, debemos ejecutar el archivo que se descarga. Nos llevará al asistente de instalación de Python, que es fácil de usar. Ahora, acepte la configuración predeterminada y espere hasta que finalice la instalación.

On Macintosh platform

Para Mac OS X, Homebrew, se recomienda un instalador de paquetes excelente y fácil de usar para instalar Python 3. En caso de que no tenga Homebrew, puede instalarlo con la ayuda del siguiente comando:

$ ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"

Se puede actualizar con el siguiente comando:

$ brew update

Ahora, para instalar Python3 en su sistema, necesitamos ejecutar el siguiente comando:

$ brew install python3

Uso de la distribución de Python preempaquetada: Anaconda

Anaconda es una compilación empaquetada de Python que tiene todas las bibliotecas ampliamente utilizadas en la ciencia de datos. Podemos seguir los siguientes pasos para configurar el entorno Python usando Anaconda:

  • Step 1- Primero, necesitamos descargar el paquete de instalación requerido de la distribución de Anaconda. El enlace para el mismo es www.anaconda.com/distribution/ . Puede elegir entre los sistemas operativos Windows, Mac y Linux según sus necesidades.

  • Step 2- A continuación, seleccione la versión de Python que desea instalar en su máquina. La última versión de Python es 3.7. Allí obtendrá las opciones para el instalador gráfico de 64 bits y 32 bits.

  • Step 3- Después de seleccionar el sistema operativo y la versión de Python, descargará el instalador de Anaconda en su computadora. Ahora, haga doble clic en el archivo y el instalador instalará el paquete Anaconda.

  • Step 4 - Para verificar si está instalado o no, abra un símbolo del sistema y escriba Python de la siguiente manera:

También puede verificar esto en una conferencia en video detallada en .

¿Por qué Python para la ciencia de datos?

Python es el quinto lenguaje más importante y el más popular para el aprendizaje automático y la ciencia de datos. Las siguientes son las características de Python que lo convierten en la opción preferida de lenguaje para la ciencia de datos:

Amplio conjunto de paquetes

Python tiene un extenso y poderoso conjunto de paquetes que están listos para usarse en varios dominios. También tiene paquetes comonumpy, scipy, pandas, scikit-learn etc. que son necesarios para el aprendizaje automático y la ciencia de datos.

Creación de prototipos fácil

Otra característica importante de Python que lo convierte en el lenguaje elegido para la ciencia de datos es la creación de prototipos fácil y rápida. Esta función es útil para desarrollar un nuevo algoritmo.

Característica de colaboración

El campo de la ciencia de datos básicamente necesita una buena colaboración y Python proporciona muchas herramientas útiles que lo hacen extremadamente.

Un idioma para muchos dominios

Un proyecto típico de ciencia de datos incluye varios dominios como extracción de datos, manipulación de datos, análisis de datos, extracción de características, modelado, evaluación, implementación y actualización de la solución. Como Python es un lenguaje de usos múltiples, permite al científico de datos abordar todos estos dominios desde una plataforma común.

Componentes del ecosistema Python ML

En esta sección, analicemos algunas bibliotecas centrales de ciencia de datos que forman los componentes del ecosistema de aprendizaje automático de Python. Estos útiles componentes hacen de Python un lenguaje importante para la ciencia de datos. Aunque hay muchos de estos componentes, analicemos aquí algunos de los componentes importantes del ecosistema Python:

Cuaderno Jupyter

Los cuadernos de Jupyter básicamente proporcionan un entorno computacional interactivo para desarrollar aplicaciones de ciencia de datos basadas en Python. Antes se conocían como cuadernos ipython. Las siguientes son algunas de las características de los cuadernos de Jupyter que lo convierten en uno de los mejores componentes del ecosistema Python ML:

  • Los cuadernos de Jupyter pueden ilustrar el proceso de análisis paso a paso organizando el material como código, imágenes, texto, salida, etc., paso a paso.

  • Ayuda a un científico de datos a documentar el proceso de pensamiento mientras desarrolla el proceso de análisis.

  • También se puede capturar el resultado como parte del cuaderno.

  • Con la ayuda de los cuadernos de jupyter, también podemos compartir nuestro trabajo con otros compañeros.

Instalación y ejecución

Si está utilizando la distribución de Anaconda, entonces no necesita instalar el portátil jupyter por separado, ya que ya está instalado con él. Solo necesita ir a Anaconda Prompt y escribir el siguiente comando:

C:\>jupyter notebook

Después de presionar enter, se iniciará un servidor de notebook en localhost: 8888 de su computadora. Se muestra en la siguiente captura de pantalla:

Ahora, después de hacer clic en la pestaña Nueva, obtendrá una lista de opciones. Seleccione Python 3 y lo llevará al nuevo cuaderno para comenzar a trabajar en él. Lo verá en las siguientes capturas de pantalla:

Por otro lado, si está utilizando la distribución estándar de Python, jupyter notebook se puede instalar usando el popular instalador de paquetes de Python, pip.

pip install jupyter

Tipos de células en Jupyter Notebook

Los siguientes son los tres tipos de celdas en un cuaderno jupyter:

Code cells- Como sugiere el nombre, podemos usar estas celdas para escribir código. Después de escribir el código / contenido, lo enviará al kernel asociado con el cuaderno.

Markdown cells- Podemos usar estas celdas para anotar el proceso de cálculo. Pueden contener material como texto, imágenes, ecuaciones de látex, etiquetas HTML, etc.

Raw cells- El texto escrito en ellos se muestra tal cual. Estas celdas se utilizan básicamente para agregar el texto que no deseamos convertir mediante el mecanismo de conversión automática de jupyter notebook.

Para un estudio más detallado del cuaderno jupyter, puede ir al enlace .

NumPy

Es otro componente útil que convierte a Python en uno de los lenguajes favoritos de la ciencia de datos. Básicamente significa Python numérico y consta de objetos de matriz multidimensionales. Al usar NumPy, podemos realizar las siguientes operaciones importantes:

  • Operaciones matemáticas y lógicas en matrices.

  • Transformación de Fourier

  • Operaciones asociadas al álgebra lineal.

También podemos ver a NumPy como el reemplazo de MatLab porque NumPy se usa principalmente junto con Scipy (Scientific Python) y Mat-plotlib (biblioteca de trazado).

Installation and Execution

Si está utilizando la distribución de Anaconda, no es necesario instalar NumPy por separado, ya que ya está instalado. Solo necesita importar el paquete a su secuencia de comandos de Python con la ayuda de lo siguiente:

import numpy as np

Por otro lado, si está utilizando la distribución estándar de Python, NumPy se puede instalar utilizando el popular instalador de paquetes de Python, pip.

pip install NumPy

Para un estudio más detallado de NumPy, puede ir al enlace .

Pandas

Es otra biblioteca de Python útil que convierte a Python en uno de los lenguajes favoritos de la ciencia de datos. Pandas se utiliza básicamente para la manipulación, discusión y análisis de datos. Fue desarrollado por Wes McKinney en 2008. Con la ayuda de Pandas, en el procesamiento de datos podemos lograr los siguientes cinco pasos:

  • Load
  • Prepare
  • Manipulate
  • Model
  • Analyze

Representación de datos en Pandas

La representación completa de los datos en Pandas se realiza con la ayuda de las siguientes tres estructuras de datos:

Series- Básicamente es un ndarray unidimensional con una etiqueta de eje, lo que significa que es como un arreglo simple con datos homogéneos. Por ejemplo, la siguiente serie es una colección de enteros 1,5,10,15,24,25 ...

1 5 10 15 24 25 28 36 40 89

Data frame- Es la estructura de datos más útil y se utiliza para casi todo tipo de representación y manipulación de datos en pandas. Es básicamente una estructura de datos bidimensional que puede contener datos heterogéneos. Generalmente, los datos tabulares se representan mediante marcos de datos. Por ejemplo, la siguiente tabla muestra los datos de los estudiantes que tienen sus nombres y números de lista, edad y género:

Nombre Número de rollo Años Género
Aarav 1 15 Masculino
Harshit 2 14 Masculino
Kanika 3 dieciséis Hembra
Mayank 4 15 Masculino

Panel- Es una estructura de datos tridimensional que contiene datos heterogéneos. Es muy difícil representar el panel en representación gráfica, pero se puede ilustrar como un contenedor de DataFrame.

La siguiente tabla nos da la dimensión y descripción de las estructuras de datos mencionadas anteriormente utilizadas en Pandas:

Estructura de datos Dimensión Descripción
Serie 1-D Tamaño inmutable, datos homogéneos 1-D
DataFrames 2-D Tamaño Datos heterogéneos, mutables en forma tabular
Panel 3-D Matriz de tamaño mutable, contenedor de DataFrame.

Podemos entender estas estructuras de datos como la estructura de datos de dimensiones superiores es el contenedor de la estructura de datos de dimensiones inferiores.

Instalación y ejecución

Si está utilizando la distribución de Anaconda, entonces no es necesario instalar Pandas por separado, ya que ya está instalado. Solo necesita importar el paquete a su secuencia de comandos de Python con la ayuda de lo siguiente:

import pandas as pd

Por otro lado, si está utilizando la distribución estándar de Python, entonces Pandas se puede instalar usando el popular instalador de paquetes de Python, pip.

pip install Pandas

Después de instalar Pandas, puede importarlo a su secuencia de comandos de Python como se hizo anteriormente.

Ejemplo

El siguiente es un ejemplo de cómo crear una serie a partir de ndarray utilizando Pandas:

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: data = np.array(['g','a','u','r','a','v'])

In [4]: s = pd.Series(data)

In [5]: print (s)

0 g
1 a
2 u
3 r
4 a
5 v

dtype: object

Para un estudio más detallado de los pandas, puede ir al enlace .

Scikit-aprender

Otra biblioteca de Python útil y más importante para la ciencia de datos y el aprendizaje automático en Python es Scikit-learn. Las siguientes son algunas de las características de Scikit-learn que lo hacen tan útil:

  • Está construido sobre NumPy, SciPy y Matplotlib.

  • Es un código abierto y se puede reutilizar bajo licencia BSD.

  • Es accesible para todos y se puede reutilizar en varios contextos.

  • Con su ayuda, se puede implementar una amplia gama de algoritmos de aprendizaje automático que cubren las principales áreas del aprendizaje automático como clasificación, agrupamiento, regresión, reducción de dimensionalidad, selección de modelos, etc.

Instalación y ejecución

Si está utilizando la distribución de Anaconda, no es necesario que instale Scikit-learn por separado, ya que ya está instalado. Solo necesita usar el paquete en su secuencia de comandos de Python. Por ejemplo, con la siguiente línea de secuencia de comandos, estamos importando un conjunto de datos de pacientes con cáncer de mama deScikit-learn -

from sklearn.datasets import load_breast_cancer

Por otro lado, si está utilizando la distribución estándar de Python y tiene NumPy y SciPy, entonces Scikit-learn se puede instalar usando el popular instalador de paquetes de Python, pip.

pip install -U scikit-learn

Después de instalar Scikit-learn, puede usarlo en su secuencia de comandos de Python como lo hizo anteriormente.