}
if (neighborhoodStr.equalsIgnoreCase("single")) {
nf = new NeighborhoodSingle();
}
final BasicTrainSOM result = new BasicTrainSOM((SOM) method,
learningRate, training, nf);
if (args.containsKey(MLTrainFactory.PROPERTY_ITERATIONS)) {
final int plannedIterations = holder.getInt(
MLTrainFactory.PROPERTY_ITERATIONS, false, 1000);
final double startRate = holder.getDouble(
MLTrainFactory.PROPERTY_START_LEARNING_RATE, false, 0.05);
final double endRate = holder.getDouble(
MLTrainFactory.PROPERTY_END_LEARNING_RATE, false, 0.05);
final double startRadius = holder.getDouble(
MLTrainFactory.PROPERTY_START_RADIUS, false, 10);
final double endRadius = holder.getDouble(
MLTrainFactory.PROPERTY_END_RADIUS, false, 1);
result.setAutoDecay(plannedIterations, startRate, endRate,
startRadius, endRadius);
}
return result;
}