3. Описание классов.
unit PredictiveApriori
const
Имя атрибута |
Описание |
m_numRandRules |
количество правил для вычисления априорной оценки |
m_numIntervals |
количество интервалов для вычисления априорной оценки |
classTDMPredictiveApriori
Секция protected
Имя атрибута |
Тип атрибута |
Описание |
m_premiseCount |
integer |
минимальная поддержка |
m_numRules |
integer |
требуемое количество правил |
m_Ls |
TDMFastVector |
наборы |
m_hashtables |
TDMFastVector |
теже наборы в хэш таблице |
m_allTheRules |
TDMFastVectorArray |
набор правил |
m_instances |
TDMInstances |
вектора на основе которых генерируются правила |
m_priors |
TStringHashtable |
хэш таблица с априорными вероятностями |
m_midPoints |
DArray |
середина интервалов для априорной оценки |
m_expectation |
double |
требуемое значение точности для 'выходного' правила |
m_best |
TArrayList |
n лучших правил |
m_bestChanged |
boolean |
изменился ли набор из n лучших правил |
m_count |
integer |
|
m_priorEstimator |
TDMPriorEstimation |
априорная оценка |
Секция public
Методы |
Имя метода |
Используемые значения |
Описание |
Возвращаемое значение |
constructor |
Create |
i1:integer |
создание объекта класса |
|
procedure |
buildModel |
instances : TDMInstances |
построение дерева хеширования |
|
function |
toStrings |
instances : TDMInstances; Podd : real; Toch : real |
вывод на экран результата работы алгоритма |
TStrings |
procedure |
setNumRules |
v : integer |
задает максимальное количество правил для вывода |
|
procedure |
resetOptions |
i1:integer |
задает размер создаваемой модели |
|
destructor |
Destroy |
|
деструктор класса |
|
Секция private
Методы |
Имя метода |
Используемые значения |
Описание |
procedure |
findLargeItemSets |
- |
поиск наборов |
procedure |
findRulesQuickly |
- |
поиск правил |
4. Текст программы
unit PredictiveApriori;
Interface
uses
Classes, FastVector, Instances, uContainers, dmmTypes, PriorEstimation,
SysUtils, ItemSet, dmmConstants, RuleGeneration, RuleItem, DoubleObject,
uConsts,associator,dmm,Windows;
const
//количество правил для вычисления априорной оценки
m_numRandRules = 100;
//количество интервалов для вычисления априорной оценки
m_numIntervals = 10;
type TDMPredictiveApriori = class (TDMAssociator)
protected
//минимальная поддержка
m_premiseCount : integer;
//требуемое количество правил
m_numRules : integer;
//наборы
m_Ls : TDMFastVector;
//теже наборы в хэш таблице
m_hashtables : TDMFastVector;
//набор правил
m_allTheRules : TDMFastVectorArray;
//вектора на основе которых генерируются правила
m_instances : TDMInstances ;
//хэш таблица с априорными вероятностями
m_priors : TStringHashtable ;
//середина интервалов для оаприорной оценки
m_midPoints : DArray;
//требуемое значение точности для 'выходного' правила
m_expectation : double;
//n лучших правил
m_best : TArrayList;
//изменился ли набор из n лучших правил
m_bestChanged : boolean;
m_count : integer;
//априорная оценка
m_priorEstimator : TDMPriorEstimation;
public
//создание объекта класса TDMPredictiveApriori
constructor Create(i1:integer);
//построение дерева хеширования
procedure buildModel(instances : TDMInstances ); override;
//вывод на экран результата работы алгоритма
function toStrings(instances : TDMInstances; Podd : real; Toch : real; number : integer) : TStrings;
procedure setNumRules(v : integer);
procedure resetOptions(i1:integer);
destructor Destroy;override;
private
procedure findLargeItemSets(index : integer);
procedure findRulesQuickly();
end;