Regression ระดับกลางด้วย statsmodels ใน Python
Maarten Van den Broeck
Content Developer at DataCamp
np.sum((y_pred - y_actual) ** 2)
y_actual มีค่าเป็น 0 หรือ 1 เสมอ
y_pred มีค่าอยู่ระหว่าง 0 ถึง 1
มีเมตริกที่ดีกว่าผลรวมกำลังสอง
y_pred * y_actual
y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
np.sum(y_pred * y_actual + (1 - y_pred) * (1 - y_actual))
เมื่อ y_actual = 1
y_pred * 1 + (1 - y_pred) * (1 - 1) = y_pred
เมื่อ y_actual = 0
y_pred * 0 + (1 - y_pred) * (1 - 0) = 1 - y_pred
log_likelihood = np.log(y_pred) * y_actual + np.log(1 - y_pred) * (1 - y_actual)
ทั้งสองสมการให้ผลลัพธ์เดียวกัน
การ maximize log-likelihood เท่ากับการ minimize negative log-likelihood
-np.sum(log_likelihoods)
def calc_neg_log_likelihood(coeffs)intercept, slope = coeffs# More calculation!
from scipy.optimize import minimize
minimize(
fun=calc_neg_log_likelihood,
x0=[0, 0]
)
Regression ระดับกลางด้วย statsmodels ใน Python