Tag: Inteligencia Artificial

python que es para que sirve

Qué es Python

Se trata de un lenguaje de programación creado en 1991 por Guindo Van Rossum (1956, Holanda). Python es una opción interesante para realizar todo tipo de programas que se ejecuten en cualquier máquina. Está orientado a objetos y preparado para realizar cualquier tipo de programa, con este lenguaje podemos desarrollar software para app científicas, para comunicaciones de red, para app de escritorio con interfaz gráfica de usuario (GUI), para crear videojuegos, para smartphones, para inteligencia artificial, para automatización de tareas y por supuesto, para programación web.

Python es uno de los lenguajes de programación más utilizados, encargado de asegurarse de que la sintaxis haga posible que el código sea legible. Está considerado un lenguaje multiparadigma, al poder ser enfocado a varios estilos, y posee la ventaja de ser de código abierto, lo que permite que cualquiera pueda acceder a él. Desde que en 1991 se publicó el código, han ido evolucionando sus características, las cuales van siendo planteadas desde su filosofía de transparencia y legibilidad:

  • Python puede ser fácil de aprender si eres programador o si tienes experiencia con otros lenguajes programación.
  • Friendly & fácil de aprender. La comunidad organiza conferencias y reuniones, colabora en el código entre otras actividades.
  • Aplicaciones. El Índice de paquetes de Python (PyPI) alberga miles de módulos de terceros para Python. Tanto la biblioteca estándar de Python como los módulos aportados por la comunidad permiten infinitas posibilidades.
  • Open Source. Python se desarrolla bajo una licencia de código abierto aprobada por OSI, por lo que se puede usar y distribuir libremente, incluso para uso comercial. La licencia de Python es administrada por Python Software Foundation.

Para qué sirve

Uno de los principales objetivos del uso de Python es conseguir evitar complicaciones y ahorrar tiempo. Además, es muy útil para trabajar con grandes volúmenes de datos, ya que nos favorece los procesos de extracción y procesamiento de estos. Por este motivo, cuando se habla de Big Data también suele mencionarse Python. Algunos de los usos más comunes para los que sirve Python son:

  • Realizar cálculos científicos y de ingeniería.
  • Desarrollo web.
  • Programación de videojuegos.
  • Ejecutar programas gráficos.
  • Creación de efectos especiales.

Características y ventajas que ofrece Python:

  1. Sistema multiplataforma. No fuerza a los programadores a aprender un estilo especial sino que permite poder implementar varios estilos de programación enfocados a distintos aspectos. Entre dichos estilos podemos encontrar: programación imperativa, programación orientada a objetos y programación funcional.
  2. Orientado a objetos. Una de las características de un lenguaje de programación orientado a objetos es la capacidad de permitir a un programador crear nuevas clases que modelen los datos necesarios para resolver un problema. Con Python, nos encontramos ante un paradigma que propone modelar todo en función a clases y a objetos. Esto nos ofrece un uso de conceptos de cohesión, polimorfismo, abstracción y mucho más.
  3. Código abierto y libre. Posee una licencia de código abierto denominada Python Software Foundation Licence.  Toda la información relativa a este lenguaje de programación es libre por lo que, como hemos mencionado anteriormente, cualquier persona puede acceder a él.
  4. Frameworks. Python cuenta con frameworks de gran calibre para auxiliar el desarrollo web, el desarrollo de juegos o algoritmos avanzados.  Son estructuras o espacios de trabajo en base a las cuales se pueden organizar y desarrollar los softwares. Python posee algunos de los más poderosos (como son por ejemplo Django, Flask, Pyramid y Web2py), destacando todos ellos por su gran utilidad, puesto que facilitan en gran medida trabajo de los desarrolladores.
  5. Tipado dinámico. En Python, una misma variable puede tomar valores de distinto tipo en distintos momentos y en cualquier lugar de su código fuente.
  6. Calidad en la sintaxis. Esta es una de las ventajas de Python.  Este lenguaje de programación nos ofrece una sintaxis clara y limpia que facilita su aprendizaje y enseñanza. Se caracteriza por sustituir las delimitaciones y elementos de alto nivel por sangrías y tokens, componentes lexicográficos elementales que facilitan la escritura y lectura del código. También, otra de las funciones es la de reducir el uso de caracteres y escribir un formato que testee una secuencia determinada.

¿Quieres aprender Pyhton?

En la web se pueden encontrar diversos sites en los que se ofrece información y tutoriales detallados para aprender Python desde cero. Asimismo, el sitio pyhton.org cuenta con una guía para principiantes

ITELLIGENT, con diez años en el mercado, ha sido pionera en España en aplicaciones de Inteligencia Artificial y Big Data. En este post se presentan algunos proyectos desarrollados por ITELLIGENT en diversos sectores de la Industria 4.0 y con soluciones óptimas en su aplicación:

ENERGÍA

CLIENTE Empresa eléctrica

OBJETIVO Inteligencia de mercado y fidelización de clientes.

Imaginemos un proyecto realizado para multinacional de generación y comercialización de energía. El objetivo del proyecto ha sido la generación de inteligencia a partir de los datos obtenidos de contadores inteligentes de los consumidores. Este proyecto ha presentado diversos retos:

  • Hibridación de los datos de los contadores inteligentes con otros datos relevantes (ej. datos meteorológicos).
  • Generación de modelos de inteligencia artificial para entender y predecir los consumos. Gestión de grandes volúmenes de datos utilizando técnicas de big data.
  • Obtención de inteligencia explotable por el cliente.

ARTES GRÁFICAS

CLIENTE Taller de Artes Gráficas

OBJETIVO Mejora de la operativa del taller

En este proyecto se creó un sistema de planificación de operaciones, reactivo para un taller de artes gráficas. El sistema parte de un modelo flexible del taller que se actualiza de forma automática a partir del sistema de monitorización del taller y utiliza distintos algoritmos de inteligencia artificial para dado un objetivo de producción (ej. reducir el numero de trabajos con retraso respecto a su fecha de entrega), proponer el plan de producción que optimice dicho objetivo.

El sistema dispone de un interface visual, basado en gráficos de Gantt interactivos, que permite al jefe de taller interactuar de forma fácil con el sistema y reaccionar de forma efectiva ante los cambios que el día a día impone en un taller.

industria 4 ejemplo artes gráficas

DISTRIBUCIÓN

CLIENTE Distribuidora de alimentos

OBJETIVO Entender y predecir la demanda y mejorar el esfuerzo comercial

Sistema que permite entender y predecir la demanda de un gran numero de puntos de consumo, con una importante componente geoespacial (los consumos en puntos de venta cercanos son parecidos) y a partir de dicho sistema se ha desarrollado un sistema de decisión para optimizar el esfuerzo comercial de la fuerza de venta, de forma que el responsable comercial pueda optimizar el uso de su fuerza de venta y a la vez la fuerza de venta disponga de la información (inteligencia comercial) para determinar que productos ofrecer a cada punto de venta de forma que se maximicen los beneficios y los argumentos asociado a dichas opciones (ej. El consumo de producto A va a subir por la proximidad del verano o de un festivo).

industria40 ejemplo distribuidora alimentos

JAVA

Actualmente, según el índice TIOBE (octubre 2018) es el lenguaje de programación más popular del mundo. Tanto es así que hay miles de softwares, apps y sitios web que no funcionarán a menos que tengan Java instalado. Este lenguaje de programación posee su propia estructura, reglas de sintaxis y paradigma de programación, como cualquier otro lenguaje. Se trata de una derivación del Lenguaje C, por lo que por lo que las reglas de sintaxis se parecen mucho a este lenguaje C. Java es un lenguaje de programación que desarrollado por James Gosling de Sun Microsystems en 1995.

PYTHON

Es uno de los lenguajes de programación más utilizados y el más adecuado para implementar algoritmos de productividad. Python es de código abierto y proporciona un enfoque más generalizado para la ciencia de datos (Data Science). Toda la información relativa a este lenguaje de programación es libre. Python fue creado por Guido Van Rossum en el año 1991 en los Países Bajos. Python posee este nombre por los seis humoristas británicos “Monty Python”, coloquialmente conocidos como “Los Pythons”.

El lenguaje Python es más apropiado para implementar algoritmos de productividad. A través de Python, se tiene acceso a un gran número de paquetes para desarrolladores que permiten crear un código general de manera rápida y vincular flujos de trabajos o componentes. Python permite programar en varios estilos: programación orientada a objetos, estructurada, funcional y orientada a aspectos.

Lenguaje R

El software R se puede utilizar como lenguaje de programación, pero esa no es su fortaleza. Principalmente este lenguaje se utiliza para el análisis estadístico, manipulación de grandes volúmenes de datos y representación gráfica de alta calidad. R apareció por primera vez en 1996, de la mano de los profesores de estadística Ross Ihaka y Robert Gentleman de la Universidad de Auckland en Nueva Zelanda. El nombre surgió de las iniciales de ambos y se inspiró en el lenguaje S de Bell Labs. El lenguaje R es fruto de un proyecto colaborativa que implica a miles de usuarios de todo el mundo. Se trata de un software que está permanentemente actualizado, con funciones nuevas y paquetes accesibles en tiempo real.

Actualmente posee uno de los ecosistemas más ricos para realizar análisis de datos, alrededor de 1.200 paquetes disponibles en Open Source disponible para los sistemas operativos Windows, MACOs, Unix y Linux. Gracias a R,  se puede decodificar lenguajes de programación y se puede acceder a la lectura de datos procesados en softwares como Excel, SPSS, etc.  Tal es su potencial que se trata del software predilecto de cualquier Data Scientist de la comunidad científica internacional. Además, posee un entorno gráfico con una amplia gama de herramientas estadísticas clásicas y avanzadas para el análisis y la representación gráfica de datos exportables  en diversos formatos: pdf, bitmap, png, jpeg, etc. permite generar gráficos con alta calidad, con sólo utilizar las funciones de graficación.

R posee una gran relevancia en áreas de Big Data, minería de datos, Inteligencia Artificial, análisis predictivos, matemáticas financieras, ingeniería industrial, …

 

En múltiples ocasiones hemos comentado que nos encontramos en un entorno empresarial en el que cada día se generan alrededor de 3 trillones de bytes de información. Esta gran cantidad de volumen de información ha crecido debido, en parte, a Internet y al continuo aumento tecnológico en las comunicaciones y recogida de datos. Tal cantidad de datos se generan y producen al día que se ha conseguido que las organizaciones puedan  analizar, descubrir y verificar esta enorme cantidad de información a través de tecnologías específicas para ello.

visualizacion de datos netopinion

Todo esto hace que nos lleguen cantidades ingentes de información desde múltiples fuentes y lo que sucede es que, en muchas ocasiones, no se dispone del tiempo suficiente para su correcta interpretación. En este punto entra en juego el ámbito de la visualización de grandes datos cuyo objetivo principal es mostrar, a través de gráficos y de forma sencilla, medible y comprensible,  la información recopilada en el análisis y modelización de los mismo. Aunque los gráficos llevan décadas siendo utilizados en el ámbito empresarial, las tecnologías de visualización de datos han evolucionado según las necesidades del nuevo paradigma empresarial en la que la analítica empresarial y sistemas de big data proliferan.

Por este motivo, exponemos en este post aquellos aspectos más relevantes a tener en cuenta para sacar el máximo provecho a la visualización de datos en nuestros proyectos profesionales:

1| Qué es lo que vamos a contar. Un error común a la hora de visualizar la información es intentar abarcar demasiado. Debemos saber qué queremos contar y ser precisos en la información que vamos a mostrar en la visualización.

2| A quién va dirigido (público objetivo o target). Debemos tener en cuenta qué tipo de público va a trabajar con los datos a mostrar en la visualización.  Pensar quién es el usuario que va a interpretar los gráficos (si es un especialista de datos, un “marketero” o un usuario sin especialización…) y en base a esto, decidir qué tipo de datos podemos mostrar para que el target cuando lo visualice, lo comprenda.

3| Cómo vamos a contarlo. Aquí entra el juego otro aspecto a tener en cuenta: el storytelling con datos, una nueva forma de presentar y analizar los datos. Os recomendamos el libro de Cole Nussbaumer, “Storytelling con datos“, en el que ofrece una guía práctica para utilizar los conceptos de storytelling -contar una historia con un comienzo, nudo y desenlace- para comunicar datos de forma visual y efectiva. Algunos conceptos ejemplificados que os mostramos en este post son extraídos tras la lectura de este libro tal como se observa en la  imagen del consejo número (5) donde se muestra un ejemplo de “contar una historia con los datos” (opción B).

4| Simplificar. Aunque ya lo hemos mencionado en el primer punto, debemos darle una especial importancia a la simplificación. Debemos ser concisos y sólo mostrar aquello que es relevante, descartar los datos que no son ilustres o son “ruido” para que exista una correcta visualización o buen entendimiento.

5| Utilizar gráficos adecuados según el tipo de dato. Debemos utilizar los recursos gráficos de forma inteligente. No todos los gráficos sirven para todo. Por ejemplo, utilizar siempre gráficos de columnas para realizar comparativas en lugar de gráficos circulares, ya que visualmente se aprecia mejor. Un ejemplo de ello lo reflejamos en en el siguiente ejemplo sacado del libro de Nussbaumer (2015):

Visualización de datos. Storytelling con datos

FUENTE: Naussbaumer Knaflic, Cole (2015): Storytelling con datos. Visualización de datos para profesionales. Ed. ANAYA Multimedia

6| No abusar de tablas. Solo deben usarse tablas cuando necesitemos mostrar valores precisos. Asimismo, hay que tener en cuenta que las tablas estén diseñadas a una escala apropiada para que no haya confusiones en el análisis de los datos.

7| Utilizar colores apropiados para facilitar la percepción y comprensión de los datos. La selección de los colores parece algo sencillo, pero no todos los colores son eficaces para la visualización de los datos. Es aconsejable utilizar colores de tonos pastel o diferentes tonalidades de un mismo color en lugar de colores vivos como el rojo, fucsia, amarillo y naranja en una misma gráfica. Si observamos el ejemplo anterior, la gráfica de tabla con sólo dos colores para diferenciar entre “antes” y “después” se visualiza mucho mejor frente al abuso de color en el gráfico circular, donde se muestra uno por cada valor en la encuesta (cinco en total).

Por otro lado, usar de forma correcta el color puede hacer más comprensible un gráfico. El color puede ser útil para resaltar una determinada información que se considere relevante o destacar aquellos puntos donde se ha de centrar el análisis.

8| Enunciados claros y memorables. Debemos elegir un buen titular para contextualizar y dirigir la atención hacia la  información más importante. El uso de  tipografías legibles y el uso de etiquetas, ejes y leyendas fáciles de leer pueden ser un factor importante en la visualización para la lectura de los datos.

9| Organizar los datos de forma lógica. Asegurarnos que los diferentes gráficos y  pantallas de la visualización estén alineados horizontal y verticalmente para que puedan compararse con precisión y no crear ninguna ilusión óptica engañosa.

10| Citar fuentes de donde se extrae información. Ser transparentes da una mayor credibilidad. Si hemos extraído información o datos de otras fuentes (por ejemplo, Open Data) debemos citarlas para aportar credibilidad a la información que mostramos.

¡Y recuerda!