kNN weights of material-specific regressors should not be used for global regressors.

When using kNN classifiers for prediction and setting the global-classifier-threshold, the 'wrong' weights are used for those classifiers that exceed the theshold. Currently, the weights of the material-specific regressors are used although the global regressor is used for prediction.

Current version with threshold at 4 degrees SAM:

  • SAM values like [0.2, 1.75, 2.23, 4.56, 8.56, 12.34])
  • classification map [32, 34, 56, 1, 1, 1]
  • weights [wMAT, wMAT, wMAT, wMAT, wMAT, wMAT] # wMAT = weight of material specific classifier

But it should be:

  • SAM values like [0.2, 1.75, 2.23, 4.56, 8.56, 12.34])
  • classification map [32, 34, 56, 1, 1, 1]
  • weights [wMAT, wMAT, wMAT, wGLOB, 0, 0] # wGLOB = weight of global classifier which should only count once

The worst case effect of this is:

  • SAM values like [3.97, 20.54, 21.54, 22.54])
  • classification map [32, 1, 1, 1]
  • weights [0.66, 0.025, 0.024, 0.023] # wMAT = weight of material specific classifier
  • => Here, the global regressor is nearly ignored due to the very small weights of regressors 2, 3, 4, i.e., the prediction result is mainly computed from a regressor that does not really match well. This might result in bad predictions.

But also an over-weighting of the global regressor is possible:

  • SAM values like [3.97, 4.01, 4.02, 4.03])
  • classification map [32, 1, 1, 1]
  • weights [0.66, 0.67, 0.68, 0.69]
  • => Here, the global regressor accounts for three quarters of the prediction result and the improvement of the material-specific regressor is gone.
Edited by Daniel Scheffler