from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_predict lr = LogisticRegression(class_weight="balanced") predictions = cross_val_predict(lr, features, target, cv=3) predictions = pd.Series(predictions) # False positives. fp_filter = (predictions == 1) & (loans["loan_status"] == 0) fp = len(predictions[fp_filter]) # True positives. tp_filter = (predictions == 1) & (loans["loan_status"] == 1) tp = len(predictions[tp_filter]) # False negatives. fn_filter = (predictions == 0) & (loans["loan_status"] == 1) fn = len(predictions[fn_filter]) # True negatives tn_filter = (predictions == 0) & (loans["loan_status"] == 0) tn = len(predictions[tn_filter]) # Rates tpr = tp / (tp + fn) fpr = fp / (fp + tn) print(tpr) print(fpr)
What I expected to happen:
I expect my tpr to be 66% and my fpr to 39% which is what the DQ says it should be on the next slide, but it still accepts my answer as correct.
What actually happened:
I am not sure what exactly is my problem. my code runs maybe I am not fully understanding tpr and fpr.