modelowanie - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/modelowanie/ Wojciech Moszczyński Mon, 06 May 2019 19:40:00 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.8.3 https://sigmaquality.pl/wp-content/uploads/2019/02/cropped-ryba-32x32.png modelowanie - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/modelowanie/ 32 32 Model Regresji Logistycznej. Część 3: zmiana progu w modelu regresji logistycznej https://sigmaquality.pl/uncategorized/model-regresji-logistycznej-czesc-3-zmiana-progu-w-modelu-regresji-logistycznej/ Mon, 06 May 2019 19:40:00 +0000 http://sigmaquality.pl/?p=5845 Zmiany progu w modelu regresji logistycznej i poprawa wskaźnika 'recall' kosztem zaśmiecenia wyników, czyli spadkiem poziomu dokładności 'precision'. W poprzednich częściach omówiliśmy jak przygotowywać dane [...]

Artykuł Model Regresji Logistycznej. Część 3: zmiana progu w modelu regresji logistycznej pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>

Zmiany progu w modelu regresji logistycznej i poprawa wskaźnika 'recall' kosztem zaśmiecenia wyników, czyli spadkiem poziomu dokładności 'precision'.

W poprzednich częściach omówiliśmy jak przygotowywać dane i jak tworzyć model regresji logistycznej. Mówiliśmy również o tym, w jaki sposób zmienić ilość danych, tak aby przy zmniejszyć wpływ niezbilansowania w zbiorze treningowym podczas tworzenia modelu regresji logistycznej.

Mówiliśmy również o tym, w jaki sposób należy zmienić ilość niezbilansowania w zbiorze treningowym podczas tworzenia modelu regresji logistycznej.

Wcześniejsze części można znaleźć pod tymi adresami:

Przykład Modelu Regresji Logistycznej. Część 1: model podstawowy

Model Regresji Logistycznej. Część 2: Oversampling

Tym razem zajmiemy się kolejną techniką pozwalającą na uzyskanie czułości modelu na zjawiska rzadkie. Przypomnijmy kontekst naszych ćwiczeń. Dla banku bardzo ważne jest to, jaki model zostanie szybko wykryty. Klient zgadza się na ponowny zakup dodatkowych danych ze wskazaniem przez model na anomalię, mimo, że zdarzenia te nie są malwersacjami.

 

Zmiana progu w modelu regresji logistycznej

W modelu regresji logistycznej domyślny próg prawdopodobieństwa wynosi 0,5

LR_Grid_ytest = LR_Grid.predict_proba(Xtest)[:, 1]
new_threshold = 0.1  
ytest_pred = (LR_Grid_ytest >= new_threshold).astype(int)

 

Uruchamiamy moduł diagnostyczny.

print("\n------Training data---------------------------------------------------")
print("RECALL Training data (new_threshold = 0.1):      ", np.round(recall_score(ytrain, LR_Grid.predict(Xtrain)), decimals=3))
print("PRECISION Training data (new_threshold = 0.1):   ", np.round(precision_score(ytrain, LR_Grid.predict(Xtrain)), decimals=3))

print("------Test data-------------------------------------------------------")

print("RECALL Test data (new_threshold = 0.1):        ", np.round(recall_score(ytest, ytest_pred), decimals=3))
print("PRECISION Test data (new_threshold = 0.1):     ", np.round(precision_score(ytest, ytest_pred), decimals=3))
print()
print("The Confusion Matrix Test data (new_threshold = 0.1):-----------------")
print(confusion_matrix(ytest, ytest_pred))
print("----------------------------------------------------------------------")
print(classification_report(ytest, ytest_pred))

# WYKRES-------------------------------------------
y_pred_proba = LR_Grid.predict_proba(Xtest)[::,1]
fpr, tpr, _ = metrics.roc_curve(ytest,  y_pred_proba)
auc = metrics.roc_auc_score(ytest, y_pred_proba)
plt.plot(fpr, tpr, label='Logistic Regression (auc = 
plt.axvline(0.1, color = '#00C251', linestyle = '--', label = 'threshold = 0.1')
plt.axvline(0.5, color = 'grey', linestyle = '--', label = 'threshold = 0.5')
plt.xlabel('False Positive Rate',color='grey', fontsize = 13)
plt.ylabel('True Positive Rate',color='grey', fontsize = 13)
plt.title('Receiver operating characteristic')
plt.legend(loc="lower right")
plt.legend(loc=4)
plt.plot([0, 1], [0, 1],'r--')

plt.show()

 

Zmiana progu w modelu spowodowanej wzrost 'recall' na zbiorze treningowym z poziomu 0.65 do poziomu 0.81. Stało się na kosztem precyzji, który uległby pogorszeniu z pierwotnego poziomu 0.77 do poziomu 0.54.

Next part:

Model regresji Logistyczne. Część 4: Zastosowanie class_weight

Artykuł Model Regresji Logistycznej. Część 3: zmiana progu w modelu regresji logistycznej pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>