8000 GitHub - fnaghetini/Mapa-Preditivo: Utilização de Técnicas de Aprendizado de Máquina Supervisionado para Mapeamento Geológico: Um Estudo de Caso na Região de Diamantina, Minas Gerais, Brasil
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Utilização de Técnicas de Aprendizado de Máquina Supervisionado para Mapeamento Geológico: Um Estudo de Caso na Região de Diamantina, Minas Gerais, Brasil

License

Notifications You must be signed in to change notification settings

fnaghetini/Mapa-Preditivo

Repository files navigation

Logo UFMG

Utilização de Técnicas de Aprendizado de Máquina Supervisionado para Mapeamento Geológico: Um Estudo de Caso na Região de Diamantina, Minas Gerais, Brasil

Trabalho de Conclusão de Curso - Geologia / IGC / UFMG

Orientandos: Franco Naghetini & Guilherme Silveira

Orientadores: Pedro Casagrande & Iago Costa

Trabalho Geológico de Graduação apresentado ao Curso de Geologia da Universidade Federal de Minas Gerais, como requisito parcial para obtenção do título Bacharel em Geologia. Clique na imagem abaixo para assistir a defesa da monografia:

Aspectos Gerais

O objetivo deste trabalho é solucionar uma tarefa supervisionada de classificação multinomial 𝑇 que consiste em predizer as unidades litoestratigráficas 𝑦 em um determinado domínio 𝐷 como função de sensores remotos X e com base em anotações 𝑦(𝑖)=𝑓(𝑥(𝑖)) interpretadas pelos geólogos responsáveis pelo mapeamento da área.

O produto final é um mapa geológico preditivo 1:25.000 da área de interesse que pode ser utilizado como um meio de reconciliação entre os dados/interpretações de campo e os sensores remotos. Nesse sentido, as inconsistências entre o mapa geológico e o mapa preditivo podem fornecer insights e orientar futuras campanhas de mapeamento na região.

O fluxo de trabalho deste projeto pode ser consultado aqui.

Oito classificadores foram comparados entre si, sendo eles:

  • Regressão Logística (RL)
  • Decision Tree (DT)
  • Naive Bayes (NB)
  • K-Nearest Neighbors (KNN)
  • Support Vector Machines (SVM)
  • Random Forest (RF)
  • XGBoost (XGB)
  • Multilayer Perceptrons (MLP)

Dentre eles, os modelos XGBoost e Random Forest apresentaram as melhores performances com relação às métricas avaliadas. Os scores de validação cruzada para esses modelos são apresentados abaixo:

Métricas XGBoost Random Forest
F1-score 0.77 0.78
Precisão 0.78 0.78
Recall 0.77 0.78
Acurácia 0.77 0.78

Estrutura do Repositório

.
├───data
│   ├───raster
│   ├───data_nb1.csv
│   ├───data_nb2.csv
│   ├───data_nb3.csv
│   ├───test.csv
│   └───train.csv
├───figures
│   ├───notebook1
│   ├───notebook2
│   ├───notebook3
│   └───notebook4
├───functions
│   ├───Custom_Cleaning.py
│   ├───Custom_Export.py
│   ├───Custom_Prediction.py
│   ├───Custom_Preprocessing.py
│   ├───Custom_Stats.py
│   ├───Custom_Train_Test_Split.py
│   ├───Custom_Validation.py
│   └───functions.pdf
├───output
│   ├───points
│   └───rasters
├───shp
│   ├───boundary.shp
│   └───lithology.shp
├───workflow
│   └───workflow.pdf
├───1-exploratory_data_analysis.ipynb
├───2-predictive_litho_map.ipynb
├───3-model_explanation.ipynb
├───4-geospatial_issues.jl
├───LICENSE
├───README.md
└───undergrad_thesis.pdf
  • data contém os dados utilizados nos quatro notebooks e os dados de treino e teste. Os sensores remotos processados em SIRGAS2000 UTM Zona 23S com resolução de 62.5 m x 62.5 m estão na subpasta raster.

  • figures contém todos os gráficos e mapas gerados nos quatro notebooks em formato .png.

  • functions contém todas as funções auxiliares utilizadas nos notebooks. As funções auxiliares adotam o padrão lowerCamelCase para diferenciá-las das funções nativas e externas do Python. A única exceção é a classe auxiliar MaskedPCA que, por sua vez, adota o padrão UpperCamelCase. Toda vez que uma função auxiliar é utilizada em um dos notebooks, haverá um hiperlink que aponta para o arquivo .py fonte dessa função. Clique aqui para visualizar o mapa mental das funções auxiliares.

  • output contém os mapas obtidos durante o projeto como pontos e rasters.

  • shp contém o mapa geológico de campo e o polígono da área deste projeto, ambos em formato .shp.

  • workflow contém o fluxo de trabalho adotado neste projeto.

  • 1-exploratory_data_analysis.ipynb contém as etapas de limpeza e análise exploratória dos dados.

  • 2-predictive_litho_map.ipynb abrange as etapas de pré-processamento e modelagem dos dados. Os mapas geológicos preditivos são gerados aqui.

  • 3-model_explanation.ipynb apresenta os resultados da interpretação do classificador XGBoost com o framework SHAP.

  • 4-geospatial_issues.jl apresenta uma análise interativa simples de fenômenos comuns em dados geoespaciais.

  • undergrad_thesis.pdf é a monografia resultante deste trabalho com as sugestões propostas pelos membros da banca. Caso tenha interesse em acessar os anexos da monografia, procure por este trabalho neste link. Ele foi submetido à biblioteca do IGC/UFMG em 2021.

Instruções

Python

Grande parte do trabalho (três primeiros notebooks) foi desenvolvida em linguagem Python, em ambiente Jupyter Notebook. Caso deseje executar os notebooks localmente, aconselhamos a instalação do Python via Anaconda. A vantagem desse distribuidor é que grande parte das bibliotecas utilizadas no trabalho são automaticamente instaladas em sua máquina.

Todas as bibliotecas utilizadas, bem como suas respectivas versões são apresentadas ao final deste documento, em Versões. As bibliotecas que não são instaladas automaticamente junto ao Anaconda apresentam um "*".

Opcionalmente, é possível visualizar os notebooks no próprio GitHub ou, ainda, executá-los no ambiente Google Colab. Entretanto, nem todos os recursos presentes estarão habilitados em ambos os casos.

Julia

Apenas o quarto notebook foi desenvolvido em linguagem Julia, em ambiente Pluto. Para executar esse notebook localmente, primeiro instale Julia 1.6. Em seguida, no Julia REPL, execute os seguintes comandos para instalar o Pluto:

julia> using Pkg
julia> Pkg.add("Pluto")

Em seguida, execute o Pluto:

julia> using Pluto
julia> Pluto.run()

Nota: Não se preocupe com as versões das bibliotecas Julia utilizadas. Como o Pluto apresenta seu próprio gerenciador de pacotes, ao abrir o notebook pela primeira vez, todos os pacotes necessários serão automaticamente instalados nas versões apropriadas (isso pode demorar alguns minutos!).

Importante: A versão do Pluto deve ser igual ou maior à 0.16.0. Caso queira consultar sua versão, no Julia REPL, digite:

julia> using Pkg
julia> Pkg.status()

Informações Complementares

Sistema de Referência

  • EPSG: 31983
  • Projeção: UTM
  • Zona: 23S
  • Datum: SIRGAS2000
  • Unidade: m
  • Elipsoide: GRS 1980
  • Resolução: 62.5 m x 62.5 m
  • Extensão: (xmin = 634163.67, ymin = 7969052.06, xmax = 640038.70, ymax = 7983240.00)

Unidades Litoestratigráficas

ID Código Unidade RGB Hexadecimal
1 MAcgg Complexo Granito-Gnáissico (255,115,223) #ff73df
2 PP3csbg Formação Barão de Guaicuí (190,210,255) #bed2ff
3 PP34b Formação Bandeirinha (230,76,0) #e64d00
4 PP4esjc Formação São João da Chapada (255,170,0) #ffaa00
5 PP4esb Formação Sopa Brumadinho (255,255,115) #ffff73
6 PP4egm Formação Galho do Miguel (76,230,0) #4de600

Dicionário de Variáveis

Variável Unidade Fonte Descrição
X m - Coordenada X
Y m - Coordenada Y
GT nT/m Biblioteca UFMG Gradiente total
K % Biblioteca UFMG Potássio
TH ppm Biblioteca UFMG Tório
U ppm Biblioteca UFMG Urânio
CT μR/h Biblioteca UFMG Contagem total
U_K - Biblioteca UFMG Razão urânio / potássio
TH_K - Biblioteca UFMG Razão tório / potássio
U_TH - Biblioteca UFMG Razão urânio / tório
MDT m Biblioteca UFMG Modelo digital de terreno
B02 - INPE Landsat 8 Sensor OLI - AZUL (0.450 - 0.515 μm)
B03 - INPE Landsat 8 Sensor OLI - VERDE (0.525 - 0.600 μm)
B04 - INPE Landsat 8 Sensor OLI - VERMELHO (0.630 - 0.680 μm)
B06 - INPE Landsat 8 Sensor OLI - INFRAVERMELHO MÉDIO (1.560 - 1.660 μm)
B07 - INPE Landsat 8 Sensor OLI - INFRAVERMELHO MÉDIO (2.100 - 2.300 μm)
TARGET - Mapa Estágio Supervisionado (2018) Código numérico das unidades litoestratigráficas
COD - Mapa Estágio Supervisionado (2018) Acrônimo das unidades litoestratigráficas

Versões

Nota: As bibliotecas que não são instaladas automaticamente junto ao Anaconda foram destacadas com o símbolo "*".

Licença

Este repositório encontra-se sob a licença MIT:

"Uma licença permissiva, curta e simples com condições que exigem apenas a preservação de direitos
autorais e avisos de licença. Trabalhos licenciados, modificações e trabalhos maiores podem ser
distribuídos em termos diferentes e sem código-fonte."

Para mais detalhes, consulte o arquivo de licença.

About

Utilização de Técnicas de Aprendizado de Máquina Supervisionado para Mapeamento Geológico: Um Estudo de Caso na Região de Diamantina, Minas Gerais, Brasil

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0