Using supervised vs unsupervised classification in identification of region of interest?

The use of either supervised or unsupervised classification algorithms is ultimately driven by the nature of what you are trying to achieve. Sometimes the data you have, or the result you wish to attain, will dictate what algorithm is the most efficient to use. This will be a result of a trade-off between time, accuracy and complexity/detail of your expected result.

Ultimately, supervised classifications generally attain greater accuracies because they are trained on 'user knowledge'. For example, if you were to classify imagery of your home area, you would likely know some information on the land cover classes, compared with a place half the world away where you have no prior knowledge. This knowledge could be used to gather accurate training data to input into your algorithm. In comparison, unsupervised algorithms have to define their own classes based on the number that you tell it you want. This can cause error if there are more classes in the scene than you have asked it to classify - in this instance you will find that classes have merged. Unsupervised algorithms will also seek to 'find' the classes that are most different, which may not accurately differentiate subtly different classes that you could train within a supervised algorithm.

However, supervised algorithms require the collection of training data and are therefore more time-consuming to construct. Subsequently, they will only be as accurate as the training data that you use. If your training data is not representative of your land cover then the classification will not perform well. There are also caveats regarding the underlying assumptions of the algorithm. For instance, a maximum-likelihood algorithm assumes that your training class data is normally distributed whilst a Random Forests or KNN algorithm does not.

The classification of vegetation and non-vegetation is a relatively straightforward task. In this instance, depending on the input data you have, you are only looking to achieve two classes from data that will be very spectrally different. In this instance, an unsupervised classification will likely perform as well as a supervised algorithm, whilst doing so in a much shorter time. However, as the complexity of the scene increases the accuracy of the classification will likely decrease with continued use of an unsupervised algorithm. Imagine you now have to classify a scene not only by land cover (i.e. forest, grass, soil) but also by species - this is a lot more complex. How do you know the total number of classes needed? Which classes are only subtly different?

The choice of what algorithm to use is therefore dependent on your goal. If for example, you wanted to create a vegetation/non-vegetation map as an input layer into a larger land cover classification, then an unsupervised algorithm could be an accurate method of quickly achieving this, before you implement a more time-consuming supervised algorithm to classify specific land cover classes/species.


Both supervised and unsupervised classification methods require some degree of knowledge of the area of interest. Most important are 1) the quality of the spectral data in which the classification algorithm is to be used and 2) the level of class detail required.

Unsupervised classification algorithms require the analyst to assign labels and combine classes after the fact into useful information classes (e.g. forest, agricultural, water, etc). In many cases, this after the fact assignment of spectral clusters is difficult or not possible because these clusters contain assemblages of mixed land cover types. Generally speaking, unsupervised classification is useful for quickly assigning labels to uncomplicated, broad land cover classes such as water, vegetation/non-vegetation, forested/non-forested, etc). Furthermore, unsupervised classification may reduce analyst bias.

Supervised classification allows the analyst to fine tune the information classes--often to much finer subcategories, such as species level classes. Training data is collected in the field with high accuracy GPS devices or expertly selected on the computer. Consider for example if you wished to classify percent crop damage in corn fields. A supervised approach would be highly suited to this type of problem because you could directly measure the percent damage in the field and use these data to train the classification algorithm. Using training data on the result of an unsupervised classification would likely yield more error because the spectral classes would contain more mixed pixels than the supervised approach. Similarly, collecting in the field crop species training data is preferable to expertly selecting pixels on screen as it is often very difficult to determine which crops are growing visually.

I highly recommend reviewing research from Dr. Russell Congalton, who has produced many landmark accuracy assessment papers pertaining to remote sensing classification approaches. Here are some references to get you started:

  1. Congalton, R. G. (1991). A review of assessing the accuracy of classifications of remotely sensed data. Remote sensing of environment, 37(1), 35-46.
  2. Congalton, R. G., & Green, K. (2008). Assessing the accuracy of remotely sensed data: principles and practices. CRC press.

Ground truth will help you to mark accurate classes, accurate because they are taken from field observations. Of course, you must plan for detailed ground truth, location using GPS, extent of site, background soil conditions etc.

Second, keep aside about half of ground truth sites for testing - check whether these test sites fall on the proper class in classified image. This will give a good idea of classification accuracy.