¡Bienvenidos a los resultados de nuestro equipo! Nos gustaría que antes de que continuaras leyendo el resto de los artículos de la web con los análisis, echaras un vistazo a los distintos documentos que hemos preparado para ti, sobre todo de cara a poder usar la plataforma de manera correcta. Esperemos que os gusten.

1. Documentación

1.1 ¿Cómo puedo leer los análisis del reto que ha realizado Datacrop?

¡Fácil! tienes tres opciones:

  • Leer los análisis propuestos a través de esta pagina web donde hay una serie de artículos a modo de informe de resultados por pregunta y/o temática. *Recomendado Ir al blog de la web
  • Leer los reportes en pdf en conjunción con el resto de código y jupyter notebooks a modo de entregables mandados por correo en nuestra aplicación a la Fase Nacional. * Estos datos están en nuestra entrega por correo al staff de Cajamar para la fase nacional.
  • Visualizar los análisis con una mayor experiencia de usuario a través de nuestra plataforma de Datacrop Advanced Agro-Analytics Services. * Muy recomendado Ir a la plataforma

1.2 ¿Por qué una Plataforma en la nube?

Si está buscando una plataforma con unos análisis de frutas y hortalizas por canales de venta , comunidad autónoma, de importaciones y exportaciones en la UE, consumo y producción y como ha afectado la covid-19 a todo ello; además de poder entrenar con tus propios datos modelos de inteligencia artificial de una forma sencilla o generar reportes automáticos sobre la calidad de tus datos y todo ello con una increíble experiencia de usuario.. ¡Esta es tu plataforma!

Puede acceder a ella a través del siguiente link: www.platform.datacrop.es

Dicha plataforma tiene tres finalidades:

  • Ofrecer los análisis de los datos propuestos para el reto de una forma interactiva y con una mayor reproductibilidad.
  • Dar Servicios extra adicionales como Datacrop Exploratory Service o Datacrop Auto ML.
  • Obtener una buena experiencia de usuario, simulando la plataforma a la que podría acceder un cliente final en la nube si se ofreciera como un software de servicios Agro-tech.

1.3 Instalación de la plataforma en ordenador local

Tutorial extraído del README del repositorio de nuestro Github: https://github.com/ssillerom/datacrop

  • Requisitos previos:

Tener instalado Kit de desarrollo de Java mayor o igual a la versión 8 para que pueda arrancar h2o y usar AutoML

hacer un git clone de este repositorio en la carpeta que desee (primero acceder con el comando cd a la carpeta donde quiere clonarlo)

comando: git clone https://github.com/ssillerom/datacrop.git

Como ejecutar la plataforma en local con Anaconda:

  1. Abrir Anaconda Prompt e ir a la raiz del directorio donde se encuentra el requirements.txt Crear tu propio entorno con todas las dependencias instaladas a través de Anaconda –> comando: conda create -n datacrop21 pip
  2. Activar el nuevo entorno –> comando: conda activate datacrop21
  3. Instalar las dependencias que se encuentran en el fichero requirements.txt del repositorio clonado (debe estar en la raiz del proyecto):

comando: pip install -r requirements.txt

  1. Ejecutar la plataforma en local, una vez instalada las librerías se deberá ejecutar:

comando : streamlit run app.py

Esperar unos segundos a que se ejecute el nodo de h2o…

una vez iniciado todo podrá acceder a la platforma a través de:

localhost:8501 o 127.0.0.1:8501

Usuario: Cajamar Contraseña: Datacrop21

1.4 ¿Cómo se usa la plataforma?

  1. PRIMER PASO

Primero de todo deberán de iniciar sesión en el menú desplegable que hay a la izquierda de su pantalla, los datos de usuario y contraseña han sido adjuntados en el correo de la entrega para la Fase Nacional. Se podrá tener varias sesiones abiertas con el mismo usuario.

**Si no ve el menú desplegable de la izquierda pulse a la flecha que hay en la esquina superior izquierda para tal fin (Debería de verse el menú izquierdo por defecto al entrar en la plataforma)

PASO 1.1 Abrir menú desplegable

Iniciamos sesión introduciendo el : Usuario: Datacrop Contraseña: Cajamar21 y dejamos SIEMPRE marcada la casilla de inicio de sesión (asi conservaremos la sesión iniciada con este usuario)

2. SEGUNDO PASO

Si conseguiste iniciar sesión correctamente… ¡Bienvenido a la página de inicio de Datacrop Advanced Agro-Analytics Services ! En el menú de la izquierda aparecerá una nueva barra desplegable para moverte entre las distintas páginas/servicios de la plataforma.

PASO 1.2. CON EL MENÚ DESPLEGADO USER/ PASSWORD

Menú principal de Datacrop Advanced Agro-Analytics Services 

3. ÚLTIMO PASO

Ya solo queda navegar por los distintas paginas/servicios que ofrece la plataforma en la nube:

Técnicas de Scraping

Limpieza de Datos

Análisis de los Datos

Dashboards

Datacrop Exploratory Service

Datacrop AutoML Service

3.1 Técnicas de Scraping

En este apartado se encuentra el jupyter notebook interactivo para poder visualizar como se ha desarrollado el scraping implementado con Selenium para poder enriquecer nuestros datos.

Datacrop Platfrom: Técnicas de Scraping

3.2 Limpieza de Datos

En está sección se encuentran todos los jupyter notebooks en formato html donde se podrá revisar el código con el que hemos limpiado los datos. En la parte central de la página hay situado un selector que contiene dos opciones:

  • Limpieza de Datasets Originales general –> Contiene un jupyter notebook en formato html con la limpieza de los 5 datasets originales
  • Limpieza de Datasets de Enriquecimiento –> Contiene varios Jupyter Notebook una vez seleccionada la opcion, aparecerán casillas para seleccionar cual desea visualizar

3.3 Análisis de los datos

Esta sección contiene la parte más importante de la plataforma, los análisis propuestos para el reto, aparecerá en el centro un menú de selección donde podrá escoger cual desea visualizar.

Menú central desplegable

Una vez seleccionada cualquiera de ellas, podrá observar primero una cabecera con el tema que se va a tratar en el análisis. Un poco más abajo verá una serie de casillas que podrá marcar y desmarcar para que aparezca/desaparezca una ventana con el código usado para realizar el análisis. Finalmente debajo de estas casillas tendrá el análisis seleccionado al completo.

3.4 Dashboards

En este apartado encontrarás un recopilatorio para poder ver en detalle los dashboards que hemos ido generando a lo largo del desarrollo de todos los análisis realizados.

Datacrop Platform: Dashboards

3.5 Datacrop Exploratory Service

Este es el primer servicio extra diseñado para la plataforma, dicho sistema es capaz de poder generar reportes automáticos (Análisis exploratorio inicial de los datos o más conocido en ingles como EDA) para poder ver la calidad de los mismos, que tipo de variables tiene (categóricas o numéricas) , cantidad de nulos, detectar de manera automática problemas que te puedes encontrar como : mal balanceo de variables, cuales de ellas tienen una alta correlación (junto con su matriz)… y muchos más. Podremos generar reportes a través de dos servicios: Pandas EDA y Sweetviz.

En ambos podrá usar un archivo de prueba y que genere el informe basado en el mismo o cargar sus propios datos.

Parte del informe que genera EDS

Este servicio está pensado para obtener una idea inicial de como enfocar la construcción con tus propios datos del modelo a realizar a través del siguiente servicio (Datacrop AutoML) o para realizar un servicio de análisis de datos de calidad.

3.6 Datacrop Auto ML Advanced Service

Y finalmente el último servicio con el que cuenta la versión 0.2.6 de la plataforma, este servicio cuenta con un potente motor de calculo con los mejores algoritmos como es h2o para generar modelos de Machine Learning.

A través de su uso, podrá cargar sus propios datos o probarlo con nuestros datos de ejemplo y tras configurar una serie de parámetros básicos y la variable que desea predecir más el numero de modelos a entrenar, se ejecutará el entrenamiento de todos ellos. Donde se generará una tabla con el ranking de los modelos con mejor desempeño y se realizará una predicción sobre un subconjunto del dataset inicial llamado test que podrá descargar. Lo cual permite hacer desarrollos iniciales de inteligencia artificial de manera rápida e intuitiva.

  • Los conocimientos que deberá de tener sobre IA para este apartado serán los más básicos, está pensada para funcionar prácticamente como un Software as a Service (SaaS)
*

Guía rápida de uso:

Como puede observar tiene dos opciones, importar sus propios datos siempre en formato csv o si solo quiere comprobar su funcionamiento, marcar la casilla de “usar datos de ejemplo”.

Paso 1. Carga de datos / datos de ejemplo

Vamos a usar los datos de ejemplo para esta guía, al hacerlo verá una previsualización del dataframe y mas abajo la selección de parámetros.

Paso 1. Auto ML Service

Paso 2. Selección de parametros

Parámetros a elegir:

  • Selección de variables que quiere incluir en su dataframe de entrenamiento: Este parámetro está pensado para poder hacer un filtrado del dataframe primigenio y quedarse con las columnas que desee el usuario. Si clica encima de “Choose an option” podrá ir incluyendo como si de etiquetas se tratase las columnas que desee. * Si no se selecciona ninguna columna, se usará la composición del dataframe original (tal y como aparece en la pre-visualización.
  • Selección del tipo de problema: En la inteligencia artificial hay dos tipos de problemas: El problema de clasificación se caracteriza por tener una variable objetivo(que se desea predecir) cualitativa (Dicha variable se selecciona en el parametro “variable que quiere predecir”). Predecir una respuesta cualitativa se denomina clasificar. Por el contrario el problema de regresión es aquel que tiene una variable objetivo (la que se desea predecir) cuantitativa. La solución a nuestro problema está representado por una variable continua y determinada por las entradas “X” (el resto de variables menos la objetivo)
  • Selección del tamaño/ proporción para entrenar los modelos: En el mundo del Machine Learning, es muy conocida la técnica de la división de las filas de los datos en dos subconjuntos. “train”: para entrenar el modelo con gran parte de los datos, lo habitual es usar un 75/80% para este subconjunto, el restante será para “Test” datos que se usarán para validar el modelo una vez entrenado sobre el train. * Deberá seleccionar con la barra que proporción desea para el train, el resto irá a test.
  • Seleccionar la variable a predecir: Después de fijar en el parámetro “tipo de problema” donde vamos a ir pensando cual es nuestra variable objetivo, para seleccionar que tipo de problema queremos tratar. En este parametro deberemos seleccionar la variable objetivo a predecir que hemos pensado. En este caso de regresión ya que queremos predecir el precio medio ( la cual es continua)
  • Seleccionar el número de modelos a entrenar: En este último parámetro podrá escoger entre el numero de modelos que quiere entrenar (mientras más mejor) pero el proceso llevará mas tiempo, de media, alrededor de un minuto, después de darle al botón “Ejecutar AutoML”

Finalmente tras el calculo de los modelos le aparecerá el siguiente resultado:

Podrá visualizar el ranking de modelos, con una serie de métricas de desempeño basadas en el error para dilucidar la calidad del modelo y la selección del modelo ganador. Por último podrá observar la predicción sobre la partición “test” y aparecerá un hipervinculo donde podrás descargar dicha predicción en formato csv.

1.4 Arquitectura usada

Para que la plataforma funcione correctamente en la nube se ha seguido la siguiente arquitectura representada en el diagrama:

Como podemos observar se divide en 3 grupos:

  • Fuente de datos: Todos los CSV que hemos usado tanto los proporcionados por Cajamar como los obtenidos de Internet para enriquecer los datos.

  • Enriquecimiento, Limpieza y Almacenamiento de datos en Cloud: Se han enriquecido los datos a través de técnicas de Scraping con Selenium además de una exhaustiva limpieza con la librería Pandas. Finalmente se han persistido los datos en la nube para nutrir nuestra plataforma y también poder realizar los análisis para el reto.

  • Servicios Backend: El correcto funcionamiento de todos los servicios de nuestra plataforma requieren una serie de componentes: un cluster de Google Cloud además de levantar nodos de H2O para el servicio de AutoML y finalmente Streamlit, la librería con la que hemos desarrollado la web de la plataforma.

2. Recursos Adicionales

Repositorio de Github Plataforma: https://github.com/ssillerom/datacrop

LinkedIn Jimena : https://www.linkedin.com/in/jimena-areta-asanza/

LinkedIn Sergio : https://www.linkedin.com/in/sergiosillero/

Datacrop

Author Datacrop

More posts by Datacrop

Leave a Reply