Niniejszy rozdział przedstawia przykład testowania modelu klasyfikacyjnego w systemie AdvancedMiner. Wszystkie nazwy wymienione w cudzysłowie są przykładowymi nazwami obiektów.
Przed przystąpieniem do zadania testowania modelu niezbędne jest:
Założenie: w poniższym przykładzie zakładamy, że użytkownik posiada w repozytorium jedynie model, powstały w wyniku pewnego procesu modelowania.
W procesie testowania modelu wykorzystywane są następujące obiekty MR
Zadanie testowania modelu składa się z następujących kroków:
Jeżeli wszystko poprawnie udało się zdefiniować, w wyniku działania ClassificationTestTask w repozytorium pojawi się obiekt z wynikami testowania. Po rozwinięciu obiektu mamy zestaw obiektów przechowujących charakterystyczne dla danego typu modelu statystyki i miary oceny jakości ( zobacz film ). Poniższa ilustracja pokazuje postać repozytorium oraz przykładowe wyniki testowania po wykonaniu wyżej opisanych kroków.
Wyżej przedstawione czynności można również wykonać w języku skryptowym.
Przykład 1.1. ModelTesting
# PROCES TESTOWANIA MODELU
# -- zakładamy, że w repozytorium istnieje model, powstały w wyniku pewnego procesu modelowania
# krok 1 -- tworzymy i zapisujemy PhysicalData w repozytorium
# -- wskazujemy zbiór do testowania: 'german_credit'
PD = PhysicalData('german_credit')
save('german_credit_pd',PD)
# krok 2 -- tworzymy MiningTestTask -->> ClassificationTestTask
# -- definiujemy, że chcemy wykonać zadanie testowania modelu klasyfikacyjnego
CTT = ClassificationTestTask()
# krok 2a -- ClassificationTestTask: dodajemy model
# -- wskazujemy model, który chcemy przetestować
CTT.setModelName('MODEL')
# krok 2b -- ClassificationTestTask: dodajemy testData
# -- wskazujemy zbiór do testowania
CTT.setTestDataName('german_credit_pd')
# krok 2c -- ClassificationTestTask: dodajemy testResult
# -- definiujemy nazwę obiektu dla wyników testowania
CTT.setTestResultName('TestResults')
# krok 2d -- ClassificationTestTask - properties: ustawiamy target
# -- wskazujemy zmienną 'Class' jako target
CTT.setTarget('Class')
# krok 2e -- ClassificationTestTask - properties: ustalenie pozytywnej wartości targetu
# -- wskazujemy wartość 'bad' jako pozytywną wartość targetu
CTT.setPositiveTargetValue('bad')
# kroki 2,2a,2b,2c,2d,2e -- zapisujemy zadanie ClassificationTestTask w repozytorium
save('TestTask',CTT)
# krok 3 -- wykonujemy zadanie
execute('TestTask')
print "Done..."
Output:
Done...