Скачиваний:
28
Добавлен:
01.05.2014
Размер:
2.18 Кб
Скачать
unit ForFilt;

interface
uses
Attribute,
AttributeStats,
Classes,
Dialogs,
DmmConstants,
DmmTypes,
Exceptions,
FastVector,
Math,
Instances,
SerializableObject,
StandardSerializableObject,
StreamTokenizer,
SysUtils,
Randomizer,
Utils;



function DellMissVect(target:TDMInstances):TDMInstances;
function DellMissAttr(target:TDMInstances):TDMInstances;
function FillHole(target:TDMInstances):TDMInstances;


implementation
function DellMissVect(target:TDMInstances):TDMInstances;
var
NumAttrib,i : Integer;
Begin
NumAttrib := target.numAttributes;
for i:=0 to NumAttrib-1 do
Begin
if (target.attrMissingValues(i)>0) then target.deleteWithMissing(i);
end;
DellMissVect:=target;
End;



function DellMissAttr(target:TDMInstances):TDMInstances;
var
NumAttrib,i : Integer;

Begin
i:=0;
NumAttrib := target.numAttributes;
while (i<NumAttrib) do
Begin
if (target.attrMissingValues(i)>0) then
begin
target.deleteAttributeAt(i);
i := i - 1;
NumAttrib := target.numAttributes;
end;
//str(inst.attrMissingValues(i),stri);
//ShowMessage(stri);
i:= i+1;
end;
DellMissAttr:=target;
End;


function FillHole(target:TDMInstances):TDMInstances;
var
NumAttrib,i : Integer;
MeanVal : double;
Begin
NumAttrib := target.numAttributes;
for i:=0 to NumAttrib-1 do
Begin
if (target.attrMissingValues(i)>0) then
Begin
MeanVal := target.meanOrMode(i);
if (target.attribute(i).isNumeric()) then
begin
target.replaceWithMissing(i, MeanVal);
end;
if (target.attribute(i).isNominal()) then
begin
target.replaceWithMissing(i, MeanVal); // !!!!!!!!!!!!!!!!!!!!
end;
end;
//str(inst.attrMissingValues(i),stri);
//ShowMessage(stri);
end;
FillHole:=target;
End;


end.
Соседние файлы в папке FilterModule