Could you check this paragraph of code, it seems incorrect.
// select randomly a feature index
attrIndex = constantFeatures(rng.nextInt(numFeatures - constantFeatureIndex) +
constantFeatureIndex)
val features = Array.tabulate(data.length)( i => data(i)(attrIndex))
attrMin = features.min
attrMax = features.max
if (attrMin == attrMax) {
// swap constant feature index with non-constant feature index
val tmp = constantFeatures(attrIndex)
constantFeatures(constantFeatureIndex) = tmp
constantFeatures(attrIndex) = constantFeatures(constantFeatureIndex)
Could you check this paragraph of code, it seems incorrect.
// select randomly a feature index attrIndex = constantFeatures(rng.nextInt(numFeatures - constantFeatureIndex) + constantFeatureIndex) val features = Array.tabulate(data.length)( i => data(i)(attrIndex)) attrMin = features.min attrMax = features.max if (attrMin == attrMax) { // swap constant feature index with non-constant feature index val tmp = constantFeatures(attrIndex) constantFeatures(constantFeatureIndex) = tmp constantFeatures(attrIndex) = constantFeatures(constantFeatureIndex)