public static int MinEucDistanceIndex(IInstance targetInstance, IInstance[] instances) { var minDist = double.MaxValue; var minDistIndex = 0; for (var i = 0; i < instances.Length; i++) { var dist = targetInstance.L2Dist(instances[i]); if (minDist > dist) { minDist = dist; minDistIndex = i; } } return(minDistIndex); }
public static int MinEucDistanceIndex(IInstance targetInstance, float[,] values) { var minDist = double.MaxValue; var minDistIndex = 0; var valuesCount = values.GetLength(0); var valuesDimCount = values.GetLength(1); for (var i = 0; i < valuesCount; i++) { var dist = targetInstance.L2Dist(values, i, valuesDimCount); if (minDist > dist) { minDist = dist; minDistIndex = i; } } return(minDistIndex); }