Định lượng độ phù hợp của hồi quy logistic

Giới thiệu về Hồi quy với statsmodels trong Python

Maarten Van den Broeck

Content Developer at DataCamp

Bốn kết quả có thể

dự đoán sai dự đoán đúng
thực tế sai đúng dương tính giả
thực tế đúng âm tính giả đúng
Giới thiệu về Hồi quy với statsmodels trong Python

Ma trận nhầm lẫn: số lượng kết quả

actual_response = churn["has_churned"]
predicted_response = np.round(mdl_recency.predict())
outcomes = pd.DataFrame({"actual_response": actual_response,
                         "predicted_response": predicted_response})
print(outcomes.value_counts(sort=False))
actual_response  predicted_response
0                0.0                   141
                 1.0                    59
1                0.0                   111
                 1.0                    89
Giới thiệu về Hồi quy với statsmodels trong Python

Trực quan hóa ma trận nhầm lẫn

conf_matrix = mdl_recency.pred_table()

print(conf_matrix)
[[141.              59.]
 [111.              89.]] 
âm tính thật dương tính giả
âm tính giả dương tính thật
from statsmodels.graphics.mosaicplot
import mosaic

mosaic(conf_matrix)

Biểu đồ khảm về kết quả mô hình churn so với recency. Có 200 quan sát cho mỗi nhóm churn thật và không churn thật, nên mỗi cột có cùng chiều rộng.

Giới thiệu về Hồi quy với statsmodels trong Python

Độ chính xác

Độ chính xác là tỷ lệ dự đoán đúng.

$$ \text{accuracy} = \frac{TN + TP}{TN + FN + FP + TP} $$

 [[141.,  59.],
  [111.,  89.]]
TN = conf_matrix[0,0]
TP = conf_matrix[1,1]
FN = conf_matrix[1,0]
FP = conf_matrix[0,1]
acc = (TN + TP) / (TN + TP + FN + FP)
print(acc)
0.575
Giới thiệu về Hồi quy với statsmodels trong Python

Độ nhạy

Độ nhạy là tỷ lệ dương tính thật.

$$ \text{sensitivity} = \frac{TP}{FN + TP} $$

 [[141.,  59.],
  [111.,  89.]]
TN = conf_matrix[0,0]
TP = conf_matrix[1,1]
FN = conf_matrix[1,0]
FP = conf_matrix[0,1]
sens = TP / (FN + TP)
print(sens)
0.445
Giới thiệu về Hồi quy với statsmodels trong Python

Độ đặc hiệu

Độ đặc hiệu là tỷ lệ âm tính thật.

$$ \text{specificity} = \frac{TN}{TN + FP} $$

 [[141.,  59.],
  [111.,  89.]]
TN = conf_matrix[0,0]
TP = conf_matrix[1,1]
FN = conf_matrix[1,0]
FP = conf_matrix[0,1]
spec = TN / (TN + FP)
print(spec)
0.705
Giới thiệu về Hồi quy với statsmodels trong Python

Ayo berlatih!

Giới thiệu về Hồi quy với statsmodels trong Python

Preparing Video For Download...