Ejemplo n.º 1
0
        private string _GetResultForA2()
        {
            var result = "<h2>Подробная характеристика кластеров</h2>";

            result += "<p><em>Собранность кластера означает, что значения объектов не выходят за пределы удвоенного среднеквадратического отклонения.</em></p>";
            var clastResult = _result.GetResult();

            var scale = FuzzyScaleRepository.ForA2();

            result += "<ul>";
            var clasters = clastResult.Select(i => i.Value.Claster).Distinct().ToList();

            foreach (var claster in clasters)
            {
                var clastName = ClasterHelper.GetFullName(claster);
                var clastNum  = clastResult.Count(i => i.Value.Claster == claster);

                var clastValue = clastResult.Where(i => i.Value.Claster == claster).Select(i => (double)i.Value.Points).ToList().StdDev();
                var scaleValue = scale.GetAccessory((decimal)clastValue);

                var clastValueResult = (scaleValue.Name == "P21") ? "собранный" : "разрозненный";

                result += $"<li><strong>Кластер {clastName}</strong>. Элементов: {clastNum}, {clastValueResult} (степень истинности {scaleValue.Value:0.00}).</li>";
            }

            result += "</ul>";
            return(result);
        }
Ejemplo n.º 2
0
        private void graphA2Panel_Paint(object sender, PaintEventArgs e)
        {
            var scale = FuzzyScaleRepository.ForA2();

            DrawGraph(scale, e.Graphics);
        }