Exemple #1
0
        private void ComputeCentroid(IEnumerable <IEntitySpecification> items, IMetricItem mean)
        {
            var minDist = double.MaxValue;

            foreach (var item in items)
            {
                var currentDistance = _metric.Distance(item, mean);
                if (!(currentDistance < minDist))
                {
                    continue;
                }
                minDist = currentDistance;
                Height  = item.Height;
                Weight  = item.Weight;
            }
        }
Exemple #2
0
        public double Distance(IEntitySpecification item, IMetricItem centroid)
        {
            var sumSquaredDiffs = Math.Pow(item.Height - centroid.Height, 2) + Math.Pow(item.Weight - centroid.Weight, 2);

            return(Math.Sqrt(sumSquaredDiffs));
        }