TransWikia.com

Machine Learning Algorithms for Land Cover Classification

Geographic Information Systems Asked on March 24, 2021

I am interested in learning what software exists for land classification using machine learning algorithms (e.g. k-NN, Random Forest, decision trees, etc.) I am aware of the randomForest package in R and MILK and SPy in Python.

What open-source or commercial machine learning algorithms exist that are suited for land cover classification?

9 Answers

I would have to say that the most complete software environment for Machine Learning and nonparametric modeling is R. This is a big field in statistics, spanning K-NN, Kernel smoothing, General Additive Models, weak learners, support vectors, neural nets, semi-parametric spline regression, imputation, etc... I would highly recommend reading: Hastie, T., R. Tibshirani, J. Friedman (2009) The Elements of Statistical Learning: Data Mining, Inference and Prediction. Springer Series in Statistics.

Besides R, commercial software by Salford Systems has Random Forests, Multivariate Adaptive Regression Splines, CART and Gradient Boosting (TreeNet) available in a GUI environment. RuleQuest is still selling See5/C5 which is an updated version of the C4/ID3 CART algorithm. The University of Waikato's Weka 3 is an open source GUI/Commandline Java effort with a large number of models available.

Correct answer by Jeffrey Evans on March 24, 2021

A good overview of machine learning techniques in R is the machine learning taskview. It offers a host of different algorithms, recommended by the experts.

Answered by Paul Hiemstra on March 24, 2021

I'd strongly recommend scikits-learn for Python. It supports supervised and unsupervised classification and the documentation is excellent (particularly check out the Machine Learning for Astronomical Data Analysis tutorial and the accompanying YouTube video (note: this is 3 hours long)).

The project is under active development, with the last version being 0.12 which was released in September.

As for what the package is capable of, see Nearest Neighbours, Random Forest (under Ensembe Methods), and Decision Trees to use the examples you gave.

Unfortunately no GUI unless you want to devote time to building one, but I'd recommend the iPython IDE as an excellent interactive scripting environment, including inline plots with matplotlib in the QT console.

Answered by om_henners on March 24, 2021

Your question assumes that machine learning algorithms for land classification are somehow distinct from software used for other machine learning applications. There are some applications that require special treatment because of unusual characteristics, but there is no reason I know of to think that land use needs special treatment. If land use data can be put into a standard comma delimited form, existing tools such as R should do just fine. Now there may or may not be Land Use software that uses models discovered from machine learning techniques, but that's a different question.

Edited after the first response. -> Most of the major packages for machine learning do have some tools for spatial visualization, although of course they may not meet your particular needs. For example, are you familiar with the sp library for R which is intended for spatial data visualization? Let's see if I can find an appropriate link that gives the flavor of what you can do with it.

http://rwiki.sciviews.org/doku.php?id=tips:spatial-data:spatial_data_visualization For a more extensive listing of tools useful for spacial analysis in R you may want to look at http://cran.r-project.org/web/views/Spatial.html as this includes tools for Geostatistics, ecological analysis, and the like.

Answered by Clifton Davis on March 24, 2021

There is a group out of Duke University that have developed some interesting script tools for ArcGIS, including random forest models.

Marine Geospatial Ecology Tools

enter image description here

Answered by Aaron on March 24, 2021

You can also do land classification with DTclassifier (Decision Tree classifier) plugin for QGIS. It provides simple interface for classification of raster data using decision trees, to perform within QGIS.

Answered by nadya on March 24, 2021

Did you have a look at eCognition? With their new Version (8.9) they provide Random Forests algorithm within a GUI environment. You can create nice process trees and include object features. enter image description here

Answered by Nicolas on March 24, 2021

I highly recommend you check out Spacenet. As quoted on their website: "SpaceNet delivers access to high-quality geospatial data for developers, researchers, and startups. Before SpaceNet, computer vision researchers had minimal options to obtain free, precision-labeled, and high-resolution satellite imagery. SpaceNet focuses on four open source key pillars: data, challenges, algorithms, and tools."

They have open source labelled datasets that are covered under the creative commons license. They also hold regular Machine Learning Competitions on those datasets, and then open source and analyze the best models.

I have personally used their open source cresi road segmentation library, and was able to get some great results out of it. They also have an open source Geospatial Machine Learning Pipelining Library called Solaris which is also great.

While they do not cover Landcover Detection (Yet), I found that reading their blogposts really helped me into getting familiar with how to apply machine learning specifically on GIS data.

Answered by A Merii on March 24, 2021

dzetsaka https://plugins.qgis.org/plugins/dzetsaka/ A Classification tool for QGIS may be considered for those who are not conversant with programming. It facilitates semi-automatic classification with Gaussian Mixture Model, Random Forest, and SVM classifiers.

Answered by Ben on March 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP