Rozdział 1. Budowa karty skoringowej na podstawie modelu

Niniejszy rozdział przedstawia prosty przykład procesu budowy karty skoringowej na podstawie modelu regresji logistycznej za pomocą modułu Scoring Card.

Przed przystąpieniem do budowy karty skoringowej na podstawie modelu niezbędne jest posiadanie danych w postaci tabelki w bazie danych. Ponadto zakłada się, że użytkownik zapoznał się z QuickStart.

Poniższy przykład wykorzystuje dane 'german_credit'. Wszystkie nazwy wymienione w cudzysłowie są przykładowymi nazwami obiektów.

W procesie budowy modelu karty skoringowej wykorzystywane są następujące obiekty MR:

Rysunek 1.1. Schemat procesu budowy karty skoringowej na podstawie modelu

Schemat procesu budowy karty skoringowej na podstawie modelu

Zadanie budowy karty skoringowej na podstawie modelu składa się z dwóch procesów: procesu budowy modelu regresji logistycznej oraz procesu przekształcenia modelu w kartę skoringową.

BUDOWA MODELU

Jeżeli wszystko poprawnie udało się zdefiniować, w wyniku działania 'ModelBuildTask' w repozytorium pojawi się model regresji logistycznej. Można go obejrzeć, klikając dwukrotnie na ikonkę modelu (zobacz film).

BUDOWA WŁAŚCIWEJ KARTY SCORINGOWEJ

Jeżeli wszystko poprawnie udało się zdefiniować, w wyniku działania 'ScoringCardBuildTask' w repozytorium pojawi się karta skoringowa. Można ją obejrzeć, klikając dwukrotnie na ikonkę modelu (zobacz film). Poniższe ilustracje pokazują postać repozytorium oraz modele po wykonaniu powyższych etapów.

Rysunek 1.2. Wynik działania ModelBuildTask

Wynik działania ModelBuildTask

Rysunek 1.3. Wynik działania ScoringCardBuildTask

Wynik działania ScoringCardBuildTask

Wyżej przedstawione czynności można również wykonać w języku skryptowym.

Przykład 1.1. Proces budowy karty skoringowej na podstawie modelu



#                               PROCES BUDOWY KARTY SKORINGOWEJ NA PODSTAWIE MODELU    

# BUDOWA MODELU
# krok 1 -- tworzymy i zapisujemy PhysicalData w repozytorium 
#        -- wskazujemy zbiór do modelowania: 'german_credit'
PD = PhysicalData('german_credit')
save('german_credit_pd',PD)

# krok 2 -- tworzymy MiningFunctionSettings -->> ClassificationFunctionSettings()
#        -- wybieramy ustawienia do budowy modelu klasyfikacyjnego
MFS = ClassificationFunctionSettings()

# krok 2a -- MiningFunctionSettings: dodajemy algorithmSettings -->> LogisticRegressionSettings
#         -- wybieramy algorytm klasyfikacyjny: regresję logistyczną
MFS.setAlgorithmSettings(LogisticRegressionSettings())

# krok 2b -- MiningFunctionSettings: dodajemy logicalData
#         -- definiujemy logiczną strukturę danych wejściowych na podstawie PhysicalData
MFS.setLogicalData(LogicalData(PD))

# krok 2c -- MiningFunctionSettings -> attributeUsageSet: ustawiamy target
#         -- ustawiamy zmienną 'Class' jako target
MFS.getAttributeUsageSet().getAttribute('Class').usage = UsageOption.target

# kroki 2,2a,2b,2c -- zapisujemy ustawienia MiningFunctionSettings w repozytorium
save('ModelFunctionSettings',MFS)

# krok 3 -- tworzymy MiningBuildTask
#        -- określamy cel zadania: budowa modelu
MBT = MiningBuildTask()

# krok 3a -- MiningBuildTask: dodajemy buildData
#         -- dodajemy dane do modelowania
MBT.setBuildDataName('german_credit_pd')

# krok 3b -- MiningBuildTask: dodajemy functionSettings
#         -- dodajemy ustawienia metody i algorytmu budowy modelu
MBT.setFunctionSettingsName('ModelFunctionSettings')

# krok 3c -- MiningBuildTask: dodajemy model 
#         -- definiujemy nazwę modelu wynikowego
MBT.setModelName('MODEL')

# kroki 3,3a,3b,3c -- zapisujemy zadanie MiningBuildTask w repozytorium
save('ModelBuildTask',MBT)

# krok 4 -- wykonujemy zadanie
execute('ModelBuildTask')



# BUDOWA KARTY SKORINGOWEJ
# krok 1 -- tworzymy MiningFunctionSettings -->> ScoringCardSettings()
#        -- wybieramy ustawienia do budowy karty skoringowej
MFS = ScoringCardSettings()

# krok 1a -- MiningFunctionSettings: dodajemy logicalData
#         -- definiujemy logiczną strukturę danych wejściowych na podstawie PhysicalData
MFS.setLogicalData(LogicalData(PD))

# krok 1b -- MiningFunctionSettings: dodajemy model regresji
#	  -- wskazujemy model, który chcemy przekształcić na kartę skoringową
MFS.setRegressionModelName('MODEL')

# krok 1c -- MiningFunctionSettings -> attributeUsageSet: ustawiamy target
#         -- ustawiamy zmienną 'Class' jako target
MFS.getAttributeUsageSet().getAttribute('Class').usage = UsageOption.target

# kroki 1,1a,1b,1c -- zapisujemy ustawienia MiningFunctionSettings w repozytorium
save('ScoringCardSettings',MFS)

# krok 2 -- tworzymy MiningBuildTask
#        -- określamy cel zadania: budowa modelu (karty)
MBT = MiningBuildTask()

# krok 2a -- MiningBuildTask: dodajemy buildData
#         -- dodajemy dane do modelowania
MBT.setBuildDataName('german_credit_pd')

# krok 2b -- MiningBuildTask: dodajemy functionSettings
#         -- dodajemy ustawienia związane z budową karty skoringowej
MBT.setFunctionSettingsName('ScoringCardSettings')

# krok 2c -- MiningBuildTask: dodajemy model 
#         -- definiujemy nazwę wynikowej karty skoringowej
MBT.setModelName('CARD')

# kroki 2,2a,2b,2c -- zapisujemy zadanie MiningBuildTask w repozytorium
save('ScoringCardBuildTask',MBT)

# krok 3 -- wykonujemy zadanie
execute('ScoringCardBuildTask')


print "Done..."

Output:

Done...