Rozdział 1. Testowanie Modelu

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

Rysunek 1.1. Schemat procesu testowania modelu

Schemat procesu testowania modelu

Zadanie testowania modelu składa się z następujących kroków:

Notatka

  • Przedstawiony schemat postępowania jest wspólny dla wszystkich typów modeli. Jednak postać samych wyników jest ściśle zależna od typu testowanego modelu.

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.

Rysunek 1.2. Wynik działania ClassificationTestTask

Wynik działania ClassificationTestTask

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...