Скачиваний:
39
Добавлен:
01.05.2014
Размер:
370.18 Кб
Скачать

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;