Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Classification documentation #32

Open
lewismc opened this issue Oct 21, 2017 · 5 comments
Open

Add Classification documentation #32

lewismc opened this issue Oct 21, 2017 · 5 comments

Comments

@lewismc
Copy link
Member

lewismc commented Oct 21, 2017

We should document the various classification options available within COAL. These are

  • spectral angle mapper classification
  • unsupervised KMeans,
  • supervised Gaussian Maximum Likelihood
  • Mahalanobis Distance, and
  • Multi-Layer Perceptron
    A new page on classification would be nice
@ghost
Copy link

ghost commented Oct 23, 2017

Currently only SAM is implemented and exposed by COAL. The current implementation of COAL's mineral classifier:

  1. calls SPy to calculate spectral angles (documented here and here and defined here) which range from 0 (most confident) to PI (least confident),
  2. normalizes these confidences from 0 (least confident) to 1 (most confident),
  3. retrieves the index of the library class with the highest confidence, and
  4. stores the classification if it is above the optional threshold.

The others algorithms are supported by SPy, although its developer has recommended against using the MLP implementation.

@lewismc
Copy link
Member Author

lewismc commented Oct 24, 2017

It appears that GML can also not be used appropriately

Classification and feature extraction methods have been commonly used for many years for the mapping of minerals and vegetative cover of multispectral data sets. However, conventional classification methods, such as a Gaussian Maximum Likelihood algorithm, cannot be applied to hyperspectral data due to the high dimensionality of the data.

We 'should' however still provide the functionality for a user to choose which classification they wish. For example, there is still a variable degree of inaccuracy with SAM. This is well documented in literature and improved classification techniques have been a significant aspect of study with the hyper spectral remote sensing community in the last decade or so. Additionally, we will most likely wish to create a DNN at some stage which has been trained on improving identification of the mineral subset we are interested in.

@ghost
Copy link

ghost commented Oct 30, 2017

Another option would be to allow the classifier to take a callback argument in which the user can provide their own algorithm.

@lewismc
Copy link
Member Author

lewismc commented Oct 30, 2017

+1, I think a parameter addition in the primary MineralClassification function call would be suitable.

@ghost
Copy link

ghost commented Nov 8, 2017

I have created issue capstone-coal/pycoal#122 for implementation of the callback function. This issue can stay open to document SAM and any future algorithms on the website. The most natural place to detail the algorithm I described above is currently the Mineral Classification usage documentation. Another option would be a new "Algorithms" heading.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant