IEmClusterAnalysisSettings.ClusterObjects

Синтаксис Fore

ClusterObjects: IEmSeriesList;

Синтаксис Fore.NET

ClusterObjects: Prognoz.Platform.Interop.Modeller.IEmSeriesList;

Описание

Свойство ClusterObjects возвращает коллекцию объектов иерархического кластерного анализа.

Комментарии

Если не заданы объекты, то корректный расчёт метода невозможен.

Пример Fore

Для выполнения примера добавьте ссылки на системные сборки «Modeller», «Stat».

Sub ClusterAnalysis;
Var
    ExprMod: IExpressModeller;
    Ar: Array[6Of Double;
    Series: IEmSeriesList;
    Serie: IEmSerie;
    Sett: IEmClusterAnalysisSettings;
Begin
    ExprMod := New ExpressModeller.Create;
    Sett := ExprMod.CreateClusterAnalysisSettings;
    // Задаем объекты кластерного анализа
    Series := Sett.ClusterObjects;
    Ar[0] := 10; Ar[1] := 20; Ar[2] := 30;
    Ar[3] := 40; Ar[4] := 50; Ar[5] := 60;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Series.Add(Serie);
    ar[0] := 12; ar[1] := 23; ar[2] := 34;
    ar[3] := 45; ar[4] := 56; ar[5] := 67;
    Serie := ExprMod.Series.Add(Ar, "X2""Ряд данных 2");
    Series.Add(Serie);
    ar[0] := 1; ar[1] := 2; ar[2] := 3;
    ar[3] := 4; ar[4] := 5; ar[5] := 6;
    Serie := ExprMod.Series.Add(Ar, "X3""Ряд данных 3");
    Series.Add(Serie);
    // Задаем метод связи
    Sett.ClusterLink := ClusterLinkType.CompleteLink;
    // Задаем метрику
    Sett.ObjectDistance := ObjectDistanceType.EuclideanSqr;
    // Задаем способ стандартизации признаков
    Sett.Standartization := StandartizationType.ScaleUser;
    // Задаем коэффициенты стандартизации
    Sett.StdValues := Series.ItemByName("X2");
    // Задаем ориентацию дендограммы
    Sett.DendogramOrientation := DendogramOrientationType.North;
    // Задаем количество кластеров
    Sett.ClusterCount := 2;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\ClusterAnalysis.html", Sett, True);
End Sub ClusterAnalysis;

Результат выполнения примера: будет выполнен расчёт метода «Иерархический кластерный анализ» по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\ClusterAnalysis.html».

Пример Fore.NET

Imports Prognoz.Platform.Interop.Modeller;
Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    ExprMod: IExpressModeller;
    Ar: Array[6Of Double;
    Series: IEmSeriesList;
    Serie: IEmSerie;
    Sett: IEmClusterAnalysisSettings;
Begin
    ExprMod := New ExpressModeller.Create();
    Sett := ExprMod.CreateClusterAnalysisSettings();
    // Задаем объекты кластерного анализа
    Series := Sett.ClusterObjects;
    Ar[0] := 10; Ar[1] := 20; Ar[2] := 30;
    Ar[3] := 40; Ar[4] := 50; Ar[5] := 60;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Series.Add(Serie);
    ar[0] := 12; ar[1] := 23; ar[2] := 34;
    ar[3] := 45; ar[4] := 56; ar[5] := 67;
    Serie := ExprMod.Series.Add(Ar, "X2""Ряд данных 2");
    Series.Add(Serie);
    ar[0] := 1; ar[1] := 2; ar[2] := 3;
    ar[3] := 4; ar[4] := 5; ar[5] := 6;
    Serie := ExprMod.Series.Add(Ar, "X3""Ряд данных 3");
    Series.Add(Serie);
    // Задаем метод связи   
    Sett.ClusterLink := ClusterLinkType.cltCompleteLink;
    // Задаем метрику
    Sett.ObjectDistance := ObjectDistanceType.odEuclideanSqr;
    // Задаем способ стандартизации признаков
    Sett.Standartization := StandartizationType.stScaleUser;
    // Задаем коэффициенты стандартизации
    Sett.StdValues := Series.ItemByName["X2"];
    // Задаем ориентацию дендограммы
    Sett.DendogramOrientation := DendogramOrientationType.doNorth;
    // Задаем количество кластеров
    Sett.ClusterCount := 2;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\ClusterAnalysis.html", Sett, True);
End Sub;

Результат выполнения примера: будет выполнен расчёт метода «Иерархический кластерный анализ» по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\ClusterAnalysis.html».

См. также:

IEmClusterAnalysisSettings