Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Refinando un modelo predictivo gracias al GIS con Python

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 35 Anuncio

Refinando un modelo predictivo gracias al GIS con Python

Descargar para leer sin conexión

Ehm… ¿otra vez hablando sobre Inteligencia Artificial?, bueno sí, pero esperamos que el enfoque práctico que vamos a seguir te permita entender de principio a fin cómo se usa una biblioteca de aprendizaje automático (machine learning) para generar un modelo predictivo.

En esta sesión primero veremos cómo usando scikit-learn podemos generar (entrenar) un modelo matemático capaz de predecir el precio de una vivienda a partir de las características de la misma. Posteriormente veremos cómo podemos usar ArcGIS Pro para volver a entrenar el modelo, mejorando la precisión del mismo gracias al enriquecimiento del dataset de entrenamiento con información sobre las relaciones espaciales de cada vivienda con otros puntos de interés de la zona en la que se encuentra.

Para poder seguir la sesión no será necesario, aunque sí recomendable, tener nociones de programación con Python. Para seguir los conceptos y el flujo de trabajo no se requieren conocimientos previos.

Ehm… ¿otra vez hablando sobre Inteligencia Artificial?, bueno sí, pero esperamos que el enfoque práctico que vamos a seguir te permita entender de principio a fin cómo se usa una biblioteca de aprendizaje automático (machine learning) para generar un modelo predictivo.

En esta sesión primero veremos cómo usando scikit-learn podemos generar (entrenar) un modelo matemático capaz de predecir el precio de una vivienda a partir de las características de la misma. Posteriormente veremos cómo podemos usar ArcGIS Pro para volver a entrenar el modelo, mejorando la precisión del mismo gracias al enriquecimiento del dataset de entrenamiento con información sobre las relaciones espaciales de cada vivienda con otros puntos de interés de la zona en la que se encuentra.

Para poder seguir la sesión no será necesario, aunque sí recomendable, tener nociones de programación con Python. Para seguir los conceptos y el flujo de trabajo no se requieren conocimientos previos.

Anuncio
Anuncio

Más Contenido Relacionado

Similares a Refinando un modelo predictivo gracias al GIS con Python (20)

Más de Esri España (20)

Anuncio

Más reciente (20)

Refinando un modelo predictivo gracias al GIS con Python

  1. 1. Refinando un modelo predictivo gracias al GIS con Python MARINA VALENTÍN Especialista GIS - BIM / CAD 30/10/2019 - Conferencia Esri España 2019 ROI MARTÍNEZ Data Scientist Jr. / Ing. de implantación RAÚL JIMÉNEZ Responsable de startups y spin-offs @ Esri España
  2. 2. Problema Predicción del precio de una vivienda AGENDA: ● Primera aproximación desde Jupyter Notebooks ● Evaluación del modelo desde ArcGIS Pro ● Refinamiento del modelo con ArcGIS Pro ● Exploración en PowerBI
  3. 3. Disclaimer Ninguno de nosotros es experto (aún al menos ;P) en Machine Learning Hands-on ML with Scikit-Learn & TensorFlow by O’Reilly Machine Learning in ArcGIS, Esri User Conference August 2018 Using Forest-based Classification & Regression in GIS to Model and Estimate House Values
  4. 4. JUPYTER NOTEBOOKS Qué papel juegan Jupyter, Scikit-learn, Pandas, Scypi y otras bibliotecas en el proceso de selección, entrenamiento y refinamiento de un modelo de ML antes de pasar a ArcGIS Pro. Ver Notebook en: Github | Google Colab
  5. 5. Explorar y visualizar Los datos para comprenderlos mejor
  6. 6. Exploramos los datos de entrenamiento Con Pandas podemos ver rápidamente qué atributos tenemos, cuántos valores nulos, qué rango de valores, ... Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo
  7. 7. Exploramos los datos de entrenamiento Pandas + matplotlib: qué valores tienen los atributos, cómo están distribuidos, existen truncamientos, … Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo
  8. 8. Exploramos los datos de entrenamiento matplotlib: Visualizamos los datos geográficamente Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo
  9. 9. Buscamos correlaciones entre los datos de entrenamiento Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Pandas: Analizamos el coeficiente estándar de correlación (o el coeficiente de correlación de Pearson) El coeficiente de correlación sólo mide correlaciones lineales pero no la pendiente de la relación ni otros aspectos, por ejemplo puede perderse por completo las relaciones no lineales (por ejemplo, "si x está cerca de cero, entonces el genérico sube").
  10. 10. Buscamos correlaciones entre los datos de entrenamiento Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Pandas: Usando la función “pandas.plotting.scatter_matrix” para visualizar correlación entre pares de atributos
  11. 11. Experimentando con combinaciones de atributos Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Pandas y matplotlib: Exploramos si tiene sentido generamos atributos derivados a partir de otros
  12. 12. Preparar los datos Para los algoritmos de Machine Learning
  13. 13. Limpiamos los datos Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Reemplazamos los valores nulos por la mediana de cada atributo
  14. 14. Limpiamos los datos Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Transformamos los atributos categóricos usando sklearn.preprocessing.OneHotEncoder Escalamos los valores usando sklearn.preprocessing.StandardScaler
  15. 15. Seleccionar y entrenar Entrenar y evaluar el modelo con los datos de entrenamiento
  16. 16. Entrenamos con un modelo de regresión lineal Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Usando sklearn.linear_model.LinearRegression
  17. 17. Entrenamos con un modelo de árboles de decisión Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Usando sklearn.tree.DecisionTreeRegressor
  18. 18. Entrenamos con un modelo de árboles aleatorios Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Usando sklearn.ensemble.RandomForestRegressor
  19. 19. Refinar el modelo Mecanismo para mejorar el ajuste del modelo
  20. 20. Búsqueda por cuadrículas (Grid Search) Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Usando sklearn.model_selection.GridSearchCV
  21. 21. Búsqueda por cuadrículas (Grid Search) Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Usando sklearn.model_selection.GridSearchCV
  22. 22. Búsqueda aleatoria Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn + Scipy: Usando sklearn.model_selection.RandomizedSearchCV
  23. 23. Analizar la relevancia de cada dato Explorar y visualizar los datos | Preparar los datos | Seleccionar y entrenar el modelo | Refinar el modelo Scikit-learn: Explorando las importancia gracias a sklearn.model_selection.GridSearchCV
  24. 24. EVALUACIÓN DEL MODELO DESDE ARCGIS PRO Cómo podemos entrenar un modelo de ML desde Arc GIS Pro utilizando la herramienta Forest-Based Classification and Regression
  25. 25. Bosques Aleatorios ¿De dónde viene este algoritmo?
  26. 26. Bosques aleatorios Bosques Aleatorios | Datos de partida | Caso 1 Breve introducción al algoritmo. Árbol de Decisión
  27. 27. Datos de partida Dataset que vamos a utilizar
  28. 28. Datos de Partida Bosques Aleatorios | Datos de partida | Caso 1 Dataset procedente de Jupyter
  29. 29. Datos de Partida Bosques Aleatorios | Datos de partida | Caso 1 Representación gráfica de los datos.
  30. 30. Caso 1 Modelo sin variables espaciales
  31. 31. Caso 1 Bosques Aleatorios | Datos de partida | Caso 1 Herramienta Forest-based Classification and Regression.
  32. 32. Caso 1 Bosques Aleatorios | Datos de partida | Caso 1 Resultados del modelo sin variables espaciales
  33. 33. Caso 2 Modelo con variables espaciales
  34. 34. Caso 2 - Variables espaciales Bosques Aleatorios | Datos de partida | Caso 2 Herramienta Forest-based Classification and Regression.
  35. 35. Caso 2 Bosques Aleatorios | Datos de partida | Caso 2 Resultados del modelo con variables espaciales

×