Интеллектуальные информационные системы

         

Программный интерфейс для преобразования


Предлагается программный интерфейс, обеспечивающий автоматическое преобразование промежуточных DBF-файлов Zoo_data.dbf и Prizn.dbf в базы данных системы "Эйдос" (исходный текст на языке программирования – xBase приведен ниже):

********************************************************************************

*** ФОРМИРОВАНИЕ КЛАССИФИКАЦИОННЫХ И ОПИСАТЕЛЬНЫХ ШКАЛ И ГРАДАЦИЙ,

*** А ТАКЖЕ ОБУЧАЮЩЕЙ ВЫБОРКИ ИЗ DBF-Excel-файла РЕПОЗИТАРИЯ UCI ПО ЖИВОТНЫМ

*** http://ftp.ics.uci.edu/pub/machine-learning-databases/zoo/zoo.names

*** Луценко Е.В., 10/18/04 01:19pm *********************************************

scr23 = SAVESCREEN(0,0,24,79)

SET CURSOR OFF

SET DATE ITALIAN

SET DECIMALS TO 15

SET ESCAPE On

FOR J=0 TO 24

    @J,0 SAY REPLICATE(" ",80) COLOR "rg+/N"

NEXT

SHOWTIME(0,60,.F.,"rg+/n",.F.,.F.)

Mess = " === ФОРМИРОВАНИЕ СПРАВОЧНИКОВ КЛАССИФИКАЦИОННЫХ ШКАЛ  === "



@2,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"

Vid = "Y"

@17, 6 SAY "Включать в признаки коды наименования животного и его вида <Y/N>? #" COLOR "w+/rb"

*     0123456789012345678901234567890123456789012345678901234567890123456789012345678

*     0         10        20        30        40        50        60        70

@17,72 GET Vid PICTURE "X" COLOR "rg+/r"

SET CURSOR ON;READ;SET CURSOR OFF

IF Vid <> "Y" .AND. Vid <> "N"

   Vid = "N"

ENDIF

USE Object   EXCLUSIVE NEW;ZAP

USE Zoo_data EXCLUSIVE NEW

ArObj := {}

AADD(ArObj,"МЛЕКОПИТАЮЩИЕ  ")

AADD(ArObj,"ПТИЦЫ          ")

AADD(ArObj,"ПРЕСМЫКАЮЩИЕСЯ?")

AADD(ArObj,"РЫБЫ           ")

AADD(ArObj,"ЗЕМНОВОДНЫЕ    ")

AADD(ArObj,"НАСЕКОМЫЕ      ")

AADD(ArObj,"МНОГОНОГИЕ     ")

SELECT Zoo_data

DBGOTOP()

DO WHILE .NOT. EOF()

   AADD(ArObj,FIELDGET(2))

   DBSKIP(1)

ENDDO

SELECT Object

DBGOTOP()

FOR j=1 TO LEN(ArObj)

   APPEND BLANK


   REPLACE Kod  WITH j

   REPLACE Name WITH ArObj[j]

NEXT

CLOSE ALL

Mess = " ====== ФОРМИРОВАНИЕ СПРАВОЧНИКОВ ОПИСАТЕЛЬНЫХ ШКАЛ ====== "

USE Prizn    EXCLUSIVE NEW

USE Priz_per EXCLUSIVE NEW;ZAP

ArPr := {}

SELECT Prizn

DBGOTOP()

DO WHILE .NOT. EOF()

   AADD(ArPr,FIELDGET(2))

   DBSKIP(1)

ENDDO

SELECT Priz_per

DBGOTOP()

FOR j=1 TO IF(Vid="Y",LEN(ArPr),25)

   APPEND BLANK

   REPLACE Kod  WITH j

   REPLACE Name WITH ArPr[j]

NEXT

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

CLOSE ALL

Mess = " ============ ФОРМИРОВАНИЕ ОБУЧАЮЩЕЙ ВЫБОРКИ ============= "

CLOSE ALL

USE Zoo_data EXCLUSIVE NEW

USE ObInfZag EXCLUSIVE NEW;ZAP

USE ObInfKpr EXCLUSIVE NEW;ZAP

N_Rec = RECCOUNT()

DBGOTOP()

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

SELECT Zoo_data

DBGOTOP()

DO WHILE .NOT. EOF()

   ArObj := {}

   FOR j=1 TO 2

       AADD(ArObj,FIELDGET(j))

   NEXT

   FOR j=21 TO 22

       AADD(ArObj,FIELDGET(j))

   NEXT

   ArPr := {}

   FOR j=3 TO 20

       Mv = FIELDGET(j)

       IF Mv > 0

          IF Vid = "Y"

             AADD(ArPr,Mv)

          ELSE

             IF Mv <= 25

                AADD(ArPr,Mv)

             ENDIF

          ENDIF

       ENDIF

   NEXT

   ****** Запись массива кодов классов из БД Zoo_data в БД ObInfZag

   SELECT ObInfZag

   APPEND BLANK

   FOR j=1 TO LEN(ArObj)

       FIELDPUT(j,ArObj[j])

   NEXT

   ****** Запись массива кодов признаков из БД Zoo_data в БД ObInfKpr

   SELECT ObInfKpr

   APPEND BLANK

   FIELDPUT(1,ArObj[1])

   k=2

   FOR j=1 TO LEN(ArPr)

       IF k <= 12

          FIELDPUT(k++,ArPr[j])

       ELSE

          APPEND BLANK

          FIELDPUT(1,ArObj[1])

          k=2

          FIELDPUT(k,ArPr[j])

       ENDIF

   NEXT

   SELECT Zoo_data

   DBSKIP(1)

ENDDO

RESTSCREEN(0,0,24,79,scr23)

CLOSE ALL

QUIT

Программный интерфейс автоматически заполняет исходными данными следующие базы данных системы "Эйдос":

Object.dbf:

классы (классификационные шкалы и градации);

Priz_per.dbf:

атрибуты (описательные шкалы и градации);

ObInfZag.dbf:

обучающая выборка (главная база данных);

ObInfKpr.dbf:

обучающая выборка (связанная база данных).

В результате система "Эйдос" готова к синтезу семантической информационной модели и выполнению последующих этапов работ.


Содержание раздела