Principal Component Analysis Background for Feature Extraction


Principal component analysis (PCA) classification in ENVI Feature Extraction compares each segment in the segmentation image to the training segments in principal component space and assigns them to the class with the highest score.

The attributes are normalized to have zero mean and unit variance. Eigenvectors and eigenvalues are computed, based on the attributes of training segments. The principal eigenvectors (those that correspond to non-zero eigenvalues) are used to transform attributes into principal component space for comparison.

ENVI computes the mean attribute values of the training regions for each class, in principal components space. It also computes the mean attributes for all other training regions that do not belong to that class.

For example, assume you select a training region for a "Road" class, another training region for a "Water" class, and another training region for a "Vegetation" class. The PCA method starts with the "Road" class and computes the mean value for each attribute for that class. It then combines the training regions from the "Water" and "Vegetation" class into one class that is "Not Road" and computes the mean value of each attribute for that class.

ENVI computes a threshold for each class based on:

  • Training regions for that class, and
  • Training regions for all other classes

It computes a class score for each segment as follows:

Class Score = [Attributes in PC space - Threshold for that class] * Weights for each class

The weights are based on the eigenvalues. The class score indicates how much each segment exceeds the threshold for the class. The segment is then assigned to the class with the highest score.

The PCA method computes class scores based on the training samples you select. If all class scores are negative for a given region, it will be unclassified.

See Also


Principal Component Analysis