Code: Select all
*******************************************************************************************
******** 4.1.3.6. Обобщ.форма по достов.моделей при разн.инт.крит.
******* Отображаются обобщенные результаты измерения достоверности идентификации
******* по всем моделям и интегральным критериям из БД: Dost_mod.DBF'
*******************************************************************************************
FUNCTION F4_1_3_6()
LOCAL GetList := {}, aPres, oBrowse, oToolBar, aColors, bColor, GetOptions
IF M_KodAdmAppls = 0 // Выйти из системы если нет авторизации
LB_Warning("Вы не авторизовались в системе (режим 1.1) и не можете ей пользоваться!")
RETURN NIL
ENDIF
IF ApplChange("F4.1.3.6()") // Если не запущен режим, работающий с БД, то перейти в папку выбранного приложения
**************************************************************
***** БД, открытые перед запуском главного меню
***** Восстанавливать их после выхода из функций главного меню
**************************************************************
CLOSE ALL
DIRCHANGE(Disk_dir) // Перейти в папку с исполнимым модулем системы
USE PathGrAp EXCLUSIVE NEW
USE Appls EXCLUSIVE NEW
USE Users EXCLUSIVE NEW
** Если в папке с исполнимым модулем системы есть файл: _CloseFunct.txt, то удалить его
IF FILE('_CloseFunct.txt')
ERASE('_CloseFunct.txt')
ENDIF
RETURN NIL
ENDIF
IF .NOT. FILE('Dost_mod.dbf')
LB_Warning("Необходимо выполнить режим: 3.5 Синтез и верификация моделей")
**************************************************************
***** БД, открытые перед запуском главного меню
***** Восстанавливать их после выхода из функций главного меню
**************************************************************
CLOSE ALL
DIRCHANGE(Disk_dir) // Перейти в папку с исполнимым модулем системы
USE PathGrAp EXCLUSIVE NEW
USE Appls EXCLUSIVE NEW
USE Users EXCLUSIVE NEW
** Если в папке с исполнимым модулем системы есть файл: _CloseFunct.txt, то удалить его
IF FILE('_CloseFunct.txt')
ERASE('_CloseFunct.txt')
ENDIF
RETURN NIL
ENDIF
CLOSE ALL
USE Dost_mod EXCLUSIVE NEW
SELECT Dost_mod
DBGOTOP()
M_MaxVal = -9999999999
DO WHILE .NOT. EOF()
M_MaxVal = MAX(M_MaxVal, Dost_mod->F_mera)
DBSKIP(1)
ENDDO
DBGOTOP()
/* ----- Create ToolBar ----- */
@ 28.5, 1 DCTOOLBAR oToolBar SIZE 216, 1.5
K=1.15
DCADDBUTTON CAPTION 'Помощь' ;
SIZE 6+LEN("Помощь") ;
ACTION {||Help4136(), DC_GetRefresh(GetList)} ;
PARENT oToolBar ;
TOOLTIP 'Помощь по режиму 2.1'
/* ----- Create browse ----- */
aColors := { {GRA_CLR_WHITE,GRA_CLR_DARKRED },;
{GRA_CLR_WHITE,GRA_CLR_DARKBLUE },;
{GRA_CLR_BLACK,GRA_CLR_DARKGREEN} }
aPres := ;
{ { XBP_PP_COL_HA_FGCLR, GRA_CLR_WHITE },; // Header FG Color
{ XBP_PP_COL_HA_BGCLR, GRA_CLR_DARKGRAY },; // Header BG Color
{ XBP_PP_COL_FA_FGCLR, GRA_CLR_YELLOW },; // Footer FG Color
{ XBP_PP_COL_FA_BGCLR, GRA_CLR_DARKGRAY },; // Footer BG Color
{ XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED },; // Row Sep
{ XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED },; // Col Sep
{ XBP_PP_COL_HA_ALIGNMENT, XBPALIGN_LEFT },; // Header alignment
{ XBP_PP_COL_DA_ROWHEIGHT, 20 },; // Row Height
{ XBP_PP_COL_DA_CELLHEIGHT, 20 } } // Cell Height
PRIVATE bColorBlock:={|| iif(Dost_mod->F_mera=M_MaxVal,{GRA_CLR_RED,nil},iif(Dost_mod->F_mera=0,{GRA_CLR_WHITE,nil},{GRA_CLR_BLACK,nil})) } // Клиффорд
@ 1, 0 DCBROWSE oBrowse ALIAS 'Dost_mod' SIZE 217,27 ;
PRESENTATION DC_BrowPres() ; // Только просмотр БД Users
HEADLINES 4 ; // Кол-во строк в заголовке
*cFileName := "Dost_mod"
* 1tructure := { { "Type_model", "C",250, 0 }, ;
* 2 { "Int_krit" , "C", 40, 0 }, ;
* 3 { "N_T_Ident" , "N", 15, 0 }, ; // Количество верно идентифицированных объектов расп.выборки (TP)
* 4 { "N_F_NIdent", "N", 15, 0 }, ; // Количество ошибочно неидентифицированных объектов расп.выборки (FN)
* 5 { "N_F_Ident" , "N", 15, 0 }, ; // Количество ошибочно идентифицированных объектов расп.выборки (FP)
* 6 { "N_T_NIdent", "N", 15, 0 }, ; // Количество верно неидентифицированных объектов расп.выборки (TN)
* 7 { "P_T_Ident" , "N", 15, 7 }, ; // Вероятность верной идентификации объекта с классом с использованием модели
* 8 { "P_T_NIdent", "N", 15, 7 }, ; // Вероятность верной не идентификации объекта с классом с использованием модели
* 9 { "P_F_Ident" , "N", 15, 7 }, ; // Вероятность ошибочной идентификации объекта с классом с использованием модели
* 10 { "P_F_NIdent", "N", 15, 7 }, ; // Вероятность ошибочной не идентификации объекта с классом с использованием модели
* 11 { "P_Avr_T" , "N", 15, 7 }, ; // Вероятность верной идентификации или неидентификации объекта с классом с использованием модели (моя мера)
* 12 { "DVMod" , "N", 15, 7 }, ; // M_DVMod = (NT-NF)/(NT+NF)*100 Моя мера качества модели-классификатора (в знаменателе: "всего объектов")
* 13 { "Precision" , "N", 15, 7 }, ; // Precision = TP/(TP+FP) - точность
* 14 { "Recall" , "N", 15, 7 }, ; // Recall = TP/(TP+FN) - полнота
* 15 { "F_mera" , "N", 15, 7 }, ; // F-mera = 2*(Precision*Recall)/(Precision+Recall) (мультиклассовый вариант)
* 16 { "Date" , "C", 10, 0 }, ;
* 17 { "Time" , "C", 8, 0 } }
*TP - истино-положительное решение;
*TN - истино-отрицательное решение;
*FP - ложно-положительное решение;
*FN - ложно-отрицательное решение.
WNF = 9
DCBROWSECOL FIELD Dost_mod->Type_Model HEADER "Наименование модели и частного критерия" PARENT oBrowse COLOR bColorBlock WIDTH 31
DCBROWSECOL FIELD Dost_mod->Int_Krit HEADER "Интегральный критерий" PARENT oBrowse COLOR bColorBlock WIDTH 15
DCBROWSECOL DATA FieldAnchor( 3,9,0) HEADER "Число истино-;положительных;решений (TP)" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 6,9,0) HEADER "Число истино-;отрицательных;решений (TN)" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 5,9,0) HEADER "Число ложно- ;положительных;решений (FP)" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 4,9,0) HEADER "Число ложно- ;отрицательных;решений (FN)" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 7,9,2) HEADER "Процент ;правильной;идентификации" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 8,9,2) HEADER "Процент ;правильной;не идентификации" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor( 9,9,2) HEADER "Процент ;ошибочной ;идентификации" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(10,9,2) HEADER "Процент ;ошибочной ;не идентификации" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(11,9,2) HEADER "Процент ;правильных;результатов" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(13,9,2) HEADER "Точность;модели" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(14,9,2) HEADER "Полнота ;модели" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(15,9,2) HEADER "F-мера ;Ван;Ризбергена" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL DATA FieldAnchor(12,9,2) HEADER "L-мера ;проф.;Е.В.Луценко;{0,+1}" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH WNF
DCBROWSECOL FIELD Dost_mod->Date HEADER "Дата;получения;результата" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH 10
DCBROWSECOL FIELD Dost_mod->Time HEADER "Время;получения;результата" PARENT oBrowse FONT "9.Courier" COLOR bColorBlock WIDTH 8
DCGETOPTIONS TABSTOP
DCREAD GUI ;
OPTIONS GetOptions ;
MODAL ;
TITLE '4.1.3.6. Обобщ.форма по достов.моделей при разн.инт.крит.'+'. Текущая модель: "'+UPPER(Ar_Model[M_CurrInf])+'"';
FIT ;
CLEAREVENTS
**************************************************************
***** БД, открытые перед запуском главного меню
***** Восстанавливать их после выхода из функций главного меню
**************************************************************
CLOSE ALL
DIRCHANGE(Disk_dir) // Перейти в папку с исполнимым модулем системы
USE PathGrAp EXCLUSIVE NEW
USE Appls EXCLUSIVE NEW
USE Users EXCLUSIVE NEW
** Если в папке с исполнимым модулем системы есть файл: _CloseFunct.txt, то удалить его
IF FILE('_CloseFunct.txt')
ERASE('_CloseFunct.txt')
ENDIF
**************************************************************
ReTURN nil
*******************************************************************************************