Coder Social home page Coder Social logo

vt-land-cover-classification's Introduction

Using machine learning to model the distribution of Vegetation Types in Norway

Project on using supervised classification to predict the distribution of Norwegian Vegetation Types from environmental background variables. The code heavily relies on the Google Earth Engine Python API (https://developers.google.com/earth-engine/api_docs) and numerous supporting Python packages (see environment.yml).

Installation suggestion to run the project code locally

Install Anaconda/Miniconda and Git. In a terminal where the conda and git commands are available (e.g., Anaconda Prompt), run:

cd [path/to/download/target/directory]
git clone https://github.com/lasseke/vt-land-cover-classification.git
cd ./vt-land-cover-classification
conda env create -f environment.yml
conda activate dmvtnor-env

Subsequently, navigate to the "notebooks" directory for the analysis scripts used in Keetz et al. (in prep.). The notebooks may need to be executed sequentially to reproduce results (ascending file numbering).

Project structure overview

Directory File(s) Summary
data/dict/ colors.json Defines colors shared across different plots.
predictors.json Defines metadata (long names, etc.) for the predictor variables.
spectral_indices.json Defines long names and band calculation formulas for the spectral indices.
vt_classes.json Defines metadata (long names, ecosystem group, etc.) for the Vegetation Type classes.
data/misc/ vtdata_5f_spatial_cv_indices.pkl Stores 10-fold leave-location-out cross-validation indices for VT feature matrix entries.
data/interim/ * Stores interim outputs of processed datasets. Not included.
data/processed/ * Stores final outputs of processed datasets. Not included.
data/raw/ * Stores original datasets. Not included.
notebooks/ 00-*.ipynb Notebook for minor data-preprocessing.
01-*.ipynb Notebooks to retrieve and export data in required formats.
02-*.ipynb Notebooks to preprocess the data for model fitting (clean, generate feature matrix, create shared spatial cross validation indices, etc.).
03-*.ipynb Notebooks to calculate and visualize data statistics (predictor correlation, etc.).
04-*.ipynb Notebooks for model experiments.
A-*.ipynb Notebooks for experiments run on an HPC cluster for better performance.
src/ *.py Python helper code.

vt-land-cover-classification's People

Contributors

lasseke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.