เมตริกความแม่นยำ: โมเดล regression

การตรวจสอบความถูกต้องของโมเดลใน Python

Kasey Jones

Data Scientist

โมเดล regression

โมเดล regression ทำนายตัวแปรต่อเนื่อง เช่น จำนวนแต้ม ปริมาณแกลลอน หรือจำนวนลูกสุนัข!

การตรวจสอบความถูกต้องของโมเดลใน Python

Mean absolute error (MAE)

 

$$ MAE = \frac{\sum_{i=1}^{n} |y_i - \hat{y}_i|}{n} $$

  • เมตริกที่เรียบง่ายและเข้าใจง่ายที่สุด
  • ให้น้ำหนักทุกจุดเท่ากัน
  • ไม่ไวต่อ outlier
การตรวจสอบความถูกต้องของโมเดลใน Python

Mean squared error (MSE)

 

$$ MSE = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i) ^2}{n} $$

  • เมตริก regression ที่ใช้กันแพร่หลายที่สุด
  • ให้ outlier มีผลต่อค่าความผิดพลาดรวมมากขึ้น
  • ข้อมูลที่ผิดปกติอาจทำให้เกิดความผิดพลาดขนาดใหญ่ในการทำนาย
การตรวจสอบความถูกต้องของโมเดลใน Python

MAE กับ MSE

  • เมตริกความแม่นยำขึ้นอยู่กับแต่ละบริบทการใช้งาน
  • ค่าความผิดพลาดของ MAE และ MSE มีหน่วยต่างกัน ไม่ควรนำมาเปรียบเทียบกัน
การตรวจสอบความถูกต้องของโมเดลใน Python

Mean absolute error

rfr = RandomForestRegressor(n_estimators=500, random_state=1111)
rfr.fit(X_train, y_train)
test_predictions = rfr.predict(X_test)

sum(abs(y_test - test_predictions))/len(test_predictions)
9.99
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, test_predictions)
9.99
การตรวจสอบความถูกต้องของโมเดลใน Python

Mean squared error

sum(abs(y_test - test_predictions)**2)/len(test_predictions)
141.4
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test, test_predictions)
141.4
การตรวจสอบความถูกต้องของโมเดลใน Python

ความแม่นยำสำหรับข้อมูลกลุ่มย่อย

chocolate_preds = rfr.predict(X_test[X_test[:, 1] == 1])
mean_absolute_error(y_test[X_test[:, 1] == 1], chocolate_preds)
8.79
nonchocolate_preds = rfr.predict(X_test[X_test[:, 1] == 0])
mean_absolute_error(y_test[X_test[:, 1] == 0], nonchocolate_preds)
10.99
การตรวจสอบความถูกต้องของโมเดลใน Python

มาฝึกกันเถอะ!

การตรวจสอบความถูกต้องของโมเดลใน Python

Preparing Video For Download...