Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

My specific questions:

  • Generally speaking, what open-source or commercial products exist for land classification using decision-tree based machine learning algorithms?
  • More specifically, are there any trusted GUI-based nonparametric decision tree algorithms for land classification (i.e. especially Random Forest, although others welcome)?
share|improve this question

7 Answers 7

up vote 18 down vote accepted

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.

share|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

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

share|improve this answer
    
+1 Thanks for the advice. I was not aware eCognition is now using a RF classifier. –  Aaron Sep 15 '13 at 11:27

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.

share|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

share|improve this answer
    
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

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 spacial 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 spacial 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.

share|improve this answer
    
The question is directed at land classification, which is my are of interest and a related topic to GISse. The intent of my question is to find a better integration of ML algorithms with a GIS. R is great for statistical programming, although it is not ideally suited for handling and visualizing spatial data. –  Aaron Oct 17 '12 at 12:57
    
Thanks for your responses. Yes, I agree that you can coerce R to act in ways that resemble a GIS. One of the intents of the question was to identify ML software that can be implemented in a GUI environment. –  Aaron Oct 17 '12 at 17:26

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.

share|improve this answer
    
(+1) This is great! thanks for sharing –  A.R Feb 6 '13 at 10:34

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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