Bienvenidos sean ustedes nuevamente, la vez pasada estábamos hablando sobre una breve introducción a la programación, y al final de ello estábamos descubriendo ¿Cuál podría ser el mejor lenguaje de programación para la inteligencia Artificial?, y respondiendo a dicha pregunta decíamos que de acuerdo a PYPL, Python es el lenguaje de programación que resulta ser el más buscado a través de Google. Bien, pues vamos a dar una pequeña reseña para conocerlo un poco, y con ello dar paso ahora si a lo interesante de todo este tema que es la programación de la inteligencia artificial.
Tabla de Contenido
Inicios de Python
Para entender a Python, vamos a conocer un poco de sus orígenes, resulta que Python fue oficialmente desarrollado por Guido Van Rossum, quien nacio en Países Bajos o también conocido como Holanda.
Python se publicó en 1991, nace inspirado por el lenguaje de programación ABC y los lenguajes de programación Haskell.
Como un dato curioso, Python fue dado por su desarrollador Guido Van Rossum, pero no hace referencia a la familia de serpientes sino al grupo de cómicos ingleses “The Monty Python’s Flying Circus”.
Características
- Lenguaje de Alto Nivel
- De proposito General
- Multi - Plataforma
- Multi - Paradigma
- Lenguaje Interpretado
- Fuertemente Tipado
Bueno entre algunos de los mas conocidos podemos mencionar a:
- Google (Mail, Groups, Maps, App Engine)
- Yahoo
- NASA
- YouTube
- Algunas distribuciones GNU/Linux
Definitivamente hay más muchos más pero solo para que se den una idea.
Librerías de Python más usadas en IA
Sin duda hay muchas librerías en el mundo de Python, y seguramente seguirán apareciendo, pero veamos si podemos nombrar solo algunas y quizás las mas representativas de las que hoy día existen y que se emplean para algo dentro del universo de la Inteligencia Artificial.
Por ahora, solo les dejare los links oficiales de cada una de las librerías, ya que eventualmente las iré abordando mas en detalle cada una de ellas.
En esta sección les voy a dejar los accesos a las URLs oficiales de cada proyecto de la librería correspondiente, para que no la anden buscando o si ya andan por aquí, quieren aprovechar el viaje y/o no están seguros de cual es la oficial, siempre pueden estar seguros que aquí la encontrarán.
Es una librería para el análisis de datos que cuenta con las estructuras de datos que se necesitan para limpiar los datos en bruto y que sean aptos para el análisis.
Es una librería que se compone de herramientas y algoritmos matemáticos como, álgebra lineal, integración, interpolación, procesamiento de señales e imagenes, entre otros.
Es una librería que da soporte para crear vectores y matrices grandes multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar con ellas
Es una librería para la generación de gráficos a partir de datos contenidos en listas o arreglos en el lenguaje de programación Python y su extensión matemática NumPy
Es una librería de redes neuronales y está diseñada para en algún tiempo operar con redes de aprendizaje profundo, también ofrece un conjunto de abstracciones más intuitivas y de alto nivel haciendo más sencillo el desarrollo de modelos de aprendizaje profundo independientemente del backend computacional utilizado.
Es una librería para el aprendizaje automático a través de un rango de tareas, para satisfacer sus necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos
Es una librería de aprendizaje automático basada en la librería de Torch, se utiliza para aplicaciones que implementan visión artificial y procesamiento de lenguajes.
Es una librería de aprendizaje automático que incluye algoritmos de clasificación, regresión y análisis de grupos.
Es una librería de Python y un compilador de optimización para manipular y evaluar expresiones matemáticas, especialmente aquellas con valores matriciales.
Es una librería para hacer minería de datos y análisis predictivo.
Esta sección se las voy a dejar aquí a modo de introducción, pero recuerden los siguientes puntos importantes.
- No son las únicas
- Son las que yo estoy o estaré aprendiendo
- Son de las que podré darles información
Ahora un punto importante aquí es que estos procedimientos de instalación son manuales, para cuando se quiere tener un ambiente totalmente personalizado de desarrollo, pero también existen los entornos ya ambientados y listos para ser usados en línea, pero de estos les hablare mas adelante.
Por ahora a modo de resumen, conozcan estos sencillos comandos para instalar una librería en Python.
- Pandas
Las siguientes dos librerias solo son necesarias si requieres procesar archivos XLSX de Microsoft Excel, caso contrario con la primera basta y sobra
- Scipy
En el ambiente que instale, no fue necesario hacer nada en particular con esta librería, por lo que se puede decir que ya venia instalada por defecto.
Si tratan de instalarlo verán una pantalla como la siguiente:
- Numpy
En el ambiente que instale, no fue necesario hacer nada en particular con esta librería, por lo que se puede decir que ya venia instalada por defecto.
Si tratan de instalarlo verán una pantalla como la siguiente:
- Matplotlib
- Keras
- Tensor Flow
Notaran que esta librería en particular no comenzó con el download de la librería en las pantallas de abajo, sin embargo el tema es que tuve que volver a ejecutar el comando con un CMD – Ejecutado con permisos de Administrador, si no quieren hacerlo, incluyan –user como parte de la linea de instalación para evitar el error.
- PyTorch
- Scikit-learn
- Theano
- Orange
Para este escenario la instalación es un poco diferente hay que descargar el ejecutable directamente de la pagina de Orange Descargas o copia y pega el siguiente link https://orangedatamining.com/download/#windows
La instalación debería seguir mas o menos la siguiente secuencia de pantallas.
NOTA: Para la librerías que aún no he completado con información o imagenes, por favor denme la oportunidad de instalarlos en mi propio ambiente, si hasta ahora no lo he echo es porque aun no llego al tema donde las voy a usar, pero tan pronto como sea posible las tendrán todas.
- Pandas
- Numpy
- Matplotlib
- Scikit-learn
Tipos de Datos
- Escalares:
- Son todos aquellos números enteros, flotantes, complejos, fraccionarios, lógicos(booleanos)
- Secuenciales:
- Son secuencias de bytes o cadenas
- Estructurados:
Listas: secuencias ordenadas de valores
Tuplas: secuencias inmutables de valores ordenados
Conjuntos: conjunto no ordenado de valores
Diccionarios: conjunto no ordenado de valores, que tienen una “llave” que los identifican
- Objetos:
- Se consideran como objetos: los módulos, las funciones, las clases, los métodos
Operadores
Los operadores especifican cómo se puede manipular un objeto/variable.
Operador Aritmético | Descripción | Ejemplo |
---|---|---|
+ | Suma | a + b = 15 |
– | Resta | b – a = 5 |
* | Multiplicación o Producto | a * b = 50 |
/ | División | b / a = 2 |
% | Módulo – Devuelve el resto de la división | b % a = 0 |
// | División Baja – Devuelve el entero de la división | b // a = 2 |
** | Exponente – Realiza exponencial | b ** a = 100000 |
Operador Aritmético | Descripción | Ejemplo |
---|---|---|
= | Asignación sencilla | a = 15 |
+= | Asignación del mismo valor mas el valor al otro lado de la asignación. | b += 5 ó b = b+5 |
-= | Asignación del mismo valor menos el valor al otro lado de la asignación. | a -= 50 ó a = a-50 |
*= | Asignación del mismo valor multiplicado por el valor al otro lado de la asignación. | b *= 2 ó b = b*2 |
/= | Asignación del mismo valor dividido por el valor al otro lado de la asignación. | b /= 3 ó b = b/3 |
%= | Asignación del residuo de la división del mismo valor dividido por el valor al otro lado de la asignación. | b %= 2 ó b = b%2 |
AND: Este evalúa si todas las sentencias son verdaderas, en el cuadro debajo, los 1 representan VERDADERO y los 0 FALSO. Por tanto solo cuando ambas opciones son verdaderas el resultado es verdadero
A | B | A AND B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
OR: Este evalúa si una de las sentencias es verdadera, en el cuadro debajo, los 1 representan VERDADERO y los 0 FALSO. Por tanto si al menos una de las opciones es verdadera el resultado será verdadero
A | B | A AND B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
NOT: Este operador invierte el resultado de cualquiera de los dos anteriores, es decir si la resolución es por defecto VERDADERA el NOT la transformaría en FALSA, mientras que si debiera ser FALSA, la transformaría en VERDADERA.
Por ejemplo:
not 5 < 3 esto es VERDADERO aunque sabemos que es FALSO que 5 sea menor que 3, pero es el efecto del NOT.
Operador Aritmético | Descripción | Ejemplo |
---|---|---|
> | Mayor que | 20 > 10 |
< | Menor que | 10 < 15 |
>= | Mayor o Igual que | 6 >= 6 y 3 |
<= | Menor o igual que | 2 <= 2 y 5 |
== | Igual que | 4 == 4 |
!= | No es igual que | 2 != 3 |
Por ahora eso será todo, espero que disfruten de la breve introducción a Python, y esperen, que pronto vendré con otra parte con más información y nuevas cosas que aprender, les deseo un muy buen día y sin más por ahora, hasta pronto.