Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Луценко Е.В. - Интеллектуальные информационные системы. Учебное пособие - Краснодар, КубГАУ. 2004. - 633 с..doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
34 Мб
Скачать
☆

3.2.4.3. Программный интерфейс для преобразования промежуточных dbf-файлов в базы данных системы "Эйдос"

Предлагается программный интерфейс, обеспечивающий автоматическое преобразование промежуточных 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: обучающая выборка (связанная база данных).

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