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?


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.

| improve this answer | |
  • 1
    @Aaron FYI, Falk Hutterman and myself are teaching a workshop at the US-IALE (Landscape Ecology) 2013 meeting in Austin, TX. Our focus will be on using R for machine learning and nonparametric modeling. I will also provide an introduction to using spatial objects in R for data preparation and specification of models. – Jeffrey Evans Feb 7 '13 at 16:00

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.

| improve this answer | |

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.

| improve this answer | |

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.

| improve this answer | |

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

| improve this answer | |

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

| improve this answer | |
  • 2
    The MGET toolbox is just a wrapper for R. If you have the capacity to use R you can avoid a considerable headache calling R through ArcGIS, through Python (Rpy2). You also have no flexibility in using other tools in R that can be applied to the resulting RF, GAM, regression or CART model(s) objects. – Jeffrey Evans Apr 8 '13 at 2:24

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.