การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ
ผู้เรียนจะวิเคราะห์สถานการณ์จริงสามกรณี ได้แก่ การตรวจจับการฉ้อโกง การวินิจฉัยทางการแพทย์ และการประเมินราคาบ้าน พร้อมให้เหตุผลว่าตัวชี้วัดการประเมินใดเหมาะสมที่สุดสำหรับแต่ละกรณี
การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ เป็นบทเรียน Machine Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Machine Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Machine Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
เมตริกคือการตัดสินใจทางธุรกิจ
การเลือกเมตริกประเมินผลไม่ใช่การตัดสินใจทางเทคนิคล้วน ๆ แต่สะท้อนถึง ลำดับความสำคัญและโครงสร้างต้นทุนทางธุรกิจ แบบจำลองตรวจจับการฉ้อโกงที่ปรับให้เหมาะกับความแม่นยำจะทำได้ไม่ดีในการตรวจจับการฉ้อโกงในชุดข้อมูลที่ไม่สมดุล แบบจำลองคัดกรองทางการแพทย์ที่ปรับให้เหมาะกับความแม่นยำของผลบวกอาจพลาดผู้ป่วยที่ป่วยมากเกินไป เมตริกทุกแบบล้วนตั้งสมมติฐานโดยนัยเกี่ยวกับประเภทของข้อผิดพลาดที่ยอมรับได้ การกำหนดเมตริกที่เหมาะสมก่อนสร้างแบบจำลอง เป็นหนึ่งในการตัดสินใจที่สำคัญที่สุดในโครงการ ML ทุกโครงการ เมตริกจะกำหนดตัวเลือกถัดไปทั้งหมด ได้แก่ การเลือกแบบจำลอง การปรับค่าขีดแบ่ง และเกณฑ์การนำไปใช้งาน
# The metric choice depends on error costs
# Scenario 1: Email spam filter
# FP (ham marked as spam) -> user misses important email: HIGH cost
# FN (spam reaches inbox) -> user is annoyed: LOW cost
# -> Optimise PRECISION (avoid false alarms)
# Scenario 2: Cancer screening
# FP (healthy patient flagged) -> unnecessary follow-up: LOW cost
# FN (cancer patient missed) -> delayed treatment: HIGH cost
# -> Optimise RECALL (catch all true cases)
# Scenario 3: House price prediction
# No asymmetric cost -> use RMSE or R^2
print('Define your error cost structure BEFORE choosing a metric')สถานการณ์ที่ 1: การตรวจจับการฉ้อโกง
การตรวจจับการฉ้อโกงเป็นปัญหาการจำแนกแบบทวิภาคที่มีข้อมูลไม่สมดุลอย่างชัดเจน ธุรกรรมที่ถูกต้องมีจำนวนมากกว่าธุรกรรมฉ้อโกงในอัตรา 1000:1 หรือมากกว่า แบบจำลองที่ทำนายว่า “ถูกต้อง” สำหรับทุกธุรกรรมจะมีความแม่นยำ 99.9% แต่ใช้งานจริงไม่ได้เลย เมตริกหลักที่เหมาะสมขึ้นอยู่กับข้อจำกัดทางธุรกิจ: หากความเสียหายจากการฉ้อโกงสูงกว่าต้นทุนการตรวจสอบอย่างมาก ให้เพิ่มประสิทธิภาพค่าเรียกคืน (ตรวจจับการฉ้อโกงให้ได้ทั้งหมด แม้ต้องแลกกับผลบวกลวงจำนวนมาก) หาก ประสบการณ์ของลูกค้าเป็นสิ่งสำคัญอย่างยิ่ง ให้สร้างสมดุลระหว่างค่าเรียกคืนกับความแม่นยำ เส้นโค้ง Precision-Recall และ AUC-PR เหมาะกว่าค่า ROC สำหรับข้อมูลที่ไม่สมดุลอย่างรุนแรงเช่นนี้
import numpy as np
from sklearn.metrics import (
accuracy_score, precision_score, recall_score, f1_score,
average_precision_score, roc_auc_score
)
# Simulated fraud: 1000 transactions, 10 are fraud (1%)
y_true = np.array([0]*990 + [1]*10)
# Model A: always predict legitimate
y_dummy = np.zeros(1000, dtype=int)
print('Dummy model (always legitimate):')
print(f' Accuracy: {accuracy_score(y_true, y_dummy):.3f}') # 99% -- misleading!
print(f' Recall: {recall_score(y_true, y_dummy):.3f}') # 0.0 -- catches no fraud!
print()
print('For fraud detection: use Recall, F1, or AUC-PR')สถานการณ์ที่ 2: การวินิจฉัยทางการแพทย์
ในการวินิจฉัยทางการแพทย์ การพลาดผู้ป่วยที่มีโรคจริง (ผลลบลวง) มีต้นทุนสูงกว่าการส่งตรวจติดตามผลโดยไม่จำเป็น (ผลบวกลวง) มาก ควรใช้ ค่าเรียกคืน (ความไว) เป็นเมตริกหลัก เพราะต้องการตรวจพบผู้ป่วยที่มีโรคจริงให้ได้มากที่สุด แบบจำลองที่มี ค่าเรียกคืนสูงแต่ความแม่นยำต่ำกว่า เป็นสิ่งที่ยอมรับได้ ผู้ป่วยที่ได้ผลบวกลวงจะเข้ารับการตรวจเพิ่มเติมและได้รับการยืนยันว่าไม่มีโรค ส่วนผู้ป่วยที่ได้ผลลบลวงจะพลาดการวินิจฉัยไปโดยสิ้นเชิง โดยทั่วไปจะตั้งค่าเกณฑ์ไว้ต่ำมาก (เช่น ความน่าจะเป็น 0.1) เพื่อเพิ่มค่าเรียกคืนให้สูงสุด แม้จะทำให้เกิดสัญญาณเตือนลวงจำนวนมาก ซึ่งการตรวจติดตามผลจะช่วยคัดกรองออก
from sklearn.metrics import recall_score, precision_score, f1_score
import numpy as np
# Simulated diagnosis: 1000 patients, 50 have the disease
y_true = np.array([0]*950 + [1]*50)
# High-recall model: flags 200 positives, 45 are true positive
y_high_recall = np.array([0]*900 + [1]*100) # approximate
y_pred_labels = np.zeros(1000, dtype=int)
y_pred_labels[-100:] = 1 # flag last 100 (including 50 true)
TP = 50 # catches all 50 true positives
FP = 50 # but also flags 50 healthy patients
FN = 0 # misses no true positives
recall = TP / (TP + FN)
prec = TP / (TP + FP)
print(f'Medical screening model: Recall={recall:.2f}, Precision={prec:.2f}')
print('Recall 1.0 is ideal: no cancer patient missed.')สถานการณ์ที่ 3: การแนะนำสินค้าในพาณิชย์อิเล็กทรอนิกส์
ระบบแนะนำจะแสดงรายการสิ่งของที่จัดลำดับไว้ให้ผู้ใช้ เป้าหมายคือการเพิ่มคุณภาพของคำแนะนำให้สูงสุด เมตริกสำคัญ ได้แก่ Precision@K — จากคำแนะนำ K อันดับแรก มีสัดส่วนเท่าใดที่เกี่ยวข้อง Recall@K — จากสิ่งของที่เกี่ยวข้องทั้งหมด มีสัดส่วนเท่าใดที่ปรากฏอยู่ใน K อันดับแรก NDCG (ค่าการได้รับสะสมแบบลดทอนที่ทำให้เป็นมาตรฐาน) ให้น้ำหนักความเกี่ยวข้องตามตำแหน่ง สิ่งของที่เกี่ยวข้องในตำแหน่งที่ 1 จึงมีค่ามากกว่าสิ่งของในตำแหน่งที่ 10 อัตราการคลิกผ่านและอัตราการเปลี่ยนเป็นการซื้อ เป็น KPI ทางธุรกิจที่มีความสำคัญในท้ายที่สุดมากกว่าเมตริก ML ใด ๆ ดังนั้นควรเชื่อมโยงเมตริกของแบบจำลองเข้ากับผลลัพธ์ทางธุรกิจเสมอ
import numpy as np
def precision_at_k(recommended, relevant, k):
'''Of top k recommendations, fraction that are relevant'''
top_k = recommended[:k]
relevant_set = set(relevant)
hits = sum(1 for item in top_k if item in relevant_set)
return hits / k
# Example: recommend 10 items, 3 are truly relevant
recommended = ['item_A', 'item_B', 'item_C', 'item_D', 'item_E',
'item_F', 'item_G', 'item_H', 'item_I', 'item_J']
relevant = ['item_A', 'item_C', 'item_G']
for k in [3, 5, 10]:
print(f'Precision@{k}: {precision_at_k(recommended, relevant, k):.2f}')สถานการณ์ที่ 4: การพยากรณ์ราคาบ้าน
สำหรับงานการถดถอย เช่น การพยากรณ์ราคาบ้าน การเลือกเมตริกขึ้นอยู่กับกรณีใช้งาน แพลตฟอร์มอสังหาริมทรัพย์ที่แสดงราคาประเมินแก่ผู้ซื้อให้ความสำคัญกับ MAE ซึ่งคือค่าความคลาดเคลื่อนเป็นเงินโดยทั่วไป ผู้ให้กู้ที่ใช้การพยากรณ์เพื่อประเมินความเสี่ยงจะให้ความสำคัญกับ การไม่ประเมินราคาต่ำกว่าความเป็นจริงอย่างมีนัยสำคัญ มากกว่า จึงควรใช้เมตริกเชิงทิศทาง สำหรับการเปรียบเทียบแบบจำลอง R^2 ให้การวัดที่ทำให้เป็นมาตรฐาน หากการพยากรณ์ถูกส่งต่อไปยังระบบอื่น (เช่น อัลกอริทึมการลงทุน) ผลกระทบต่อผลตอบแทนของระบบปลายทางคือเมตริกที่แท้จริง และต้องจำลองกระบวนการทางธุรกิจเพื่อวัดผลดังกล่าว
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
# Simulated house prices (in $1000s)
y_true = np.array([250, 380, 510, 420, 650, 290, 730, 480])
y_pred = np.array([265, 360, 525, 435, 620, 310, 700, 465])
mae = mean_absolute_error(y_true, y_pred)
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
r2 = r2_score(y_true, y_pred)
print('House Price Model Performance:')
print(f' MAE: ${mae:.1f}k -- typical error for a buyer seeing estimates')
print(f' RMSE: ${rmse:.1f}k -- influenced by occasional large errors')
print(f' R^2: {r2:.3f} -- fraction of price variance explained')KPI ทางธุรกิจเทียบกับเมตริก ML: เชื่อมช่องว่างให้ใกล้กัน
เมตริก ML ใช้วัดคุณสมบัติทางสถิติของการพยากรณ์ แต่ KPI ทางธุรกิจวัดผลลัพธ์ทางธุรกิจที่เกิดขึ้นจริง เป้าหมายคือการเพิ่มคุณค่าทางธุรกิจให้สูงสุด โดยใช้เมตริก ML เป็นตัวชี้วัดแทน จุดที่มักไม่สอดคล้องกัน ได้แก่ แบบจำลองอาจเพิ่ม AUC จาก 0.85 เป็น 0.88 แต่ไม่ได้เพิ่มรายได้จริง หากการปรับปรุงเกิดขึ้นกับการพยากรณ์ที่มีมูลค่าต่ำ ในทางกลับกัน การเพิ่มค่าเรียกคืนเพียงเล็กน้อยสำหรับกรณีฉ้อโกงที่มีมูลค่าสูงอาจช่วยประหยัดเงินได้หลายล้าน เชื่อมโยงการปรับปรุงเมตริก ML เข้ากับมูลค่าทางธุรกิจที่ประเมินได้เสมอ เช่น “การเพิ่มค่าเรียกคืน 5% ทำให้ตรวจพบกรณีฉ้อโกงเพิ่มเติม 50 กรณีต่อเดือน คิดเป็นมูลค่า $X”
# Translating ML metric improvements to business value
# Fraud detection example:
new_cases_per_month = 10000 # Fraud transactions per month
avg_fraud_value = 500 # Average fraud value ($)
current_recall = 0.70 # Model catches 70% of fraud
proposed_recall = 0.80 # Improved model catches 80%
current_caught = new_cases_per_month * current_recall * avg_fraud_value
proposed_caught = new_cases_per_month * proposed_recall * avg_fraud_value
business_value = proposed_caught - current_caught
print(f'Recall improvement: {current_recall:.0%} -> {proposed_recall:.0%}')
print(f'Business value: ${business_value:,.0f}/month additional fraud prevented')การทำให้เมตริกสอดคล้องกัน: ค่าความสูญเสียระหว่างการฝึกเทียบกับเมตริกการประเมิน
ประเด็นที่ละเอียดอ่อนแต่สำคัญคือ เมตริกที่ใช้ ฝึก (ฟังก์ชันค่าความสูญเสีย) อาจแตกต่างจากเมตริกที่ใช้ ประเมิน การถดถอยโลจิสติกจะลดค่าความสูญเสียแบบครอสเอนโทรปี ไม่ใช่ค่า F1 หากเมตริกการประเมินของคุณคือ F1 แบบจำลองอาจยังไม่สอดคล้องอย่างเหมาะสม แนวทางแก้ไข ได้แก่ การปรับเกณฑ์หลังการฝึกเพื่อค้นหาเกณฑ์ที่ทำให้ค่า F1 บนข้อมูลตรวจสอบสูงสุด หรือใช้อัลกอริทึมที่ปรับให้เหมาะกับเมตริกเป้าหมายโดยตรง (เช่น XGBoost ที่มีวัตถุประสงค์แบบกำหนดเอง) สำหรับการถดถอย LinearRegression จะลด MSE หากคุณให้ความสำคัญกับ MAE ควรพิจารณาใช้ HuberRegressor หรือฟังก์ชันค่าความสูญเสียเฉพาะสำหรับ MAE
from sklearn.metrics import f1_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
import numpy as np
X, y = load_breast_cancer(return_X_y=True)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=42)
clf = LogisticRegression(max_iter=10000)
clf.fit(X_tr, y_tr)
proba = clf.predict_proba(X_te)[:, 1]
# Find threshold that maximises F1
best_f1, best_thresh = 0, 0.5
for thresh in np.linspace(0.1, 0.9, 81):
pred = (proba >= thresh).astype(int)
f1 = f1_score(y_te, pred, zero_division=0)
if f1 > best_f1:
best_f1, best_thresh = f1, thresh
print(f'Default (0.5) F1: {f1_score(y_te, (proba>=0.5).astype(int)):.4f}')
print(f'Optimised F1: {best_f1:.4f} at threshold {best_thresh:.2f}')การรายงานหลายเมตริก: ภาพรวมที่สมบูรณ์
ในโครงการ ML ที่ใช้งานจริง อย่ารายงานเมตริกเพียงค่าเดียว ควรจัดทำ แดชบอร์ดเมตริก ที่แสดงภาพรวมอย่างครบถ้วน สำหรับการจำแนก ให้ใช้ความแม่นยำ (เพื่อดูภาพรวม) ความแม่นยำและค่าเรียกคืน (เพื่อทำความเข้าใจประเภทของข้อผิดพลาด) ค่า F1 (เป็นสรุปแบบสมดุล) และ AUC (ไม่ขึ้นกับเกณฑ์) สำหรับการถดถอย ให้พิจารณา MAE, RMSE และ R^2 ร่วมกัน รวมการเปรียบเทียบกับค่าพื้นฐาน ด้วย เช่น DummyClassifier หรือ DummyRegressor ที่ใช้กลยุทธ์อย่างง่ายที่สุด (ทำนายคลาสส่วนใหญ่หรือค่าเฉลี่ยเสมอ) แบบจำลองจริงทุกแบบต้องทำได้ดีกว่าค่าพื้นฐานอย่างมีนัยสำคัญ ในทุกเมตริกที่เกี่ยวข้อง จึงจะถือว่ามีประโยชน์
from sklearn.metrics import (
accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
)
from sklearn.dummy import DummyClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
X, y = load_breast_cancer(return_X_y=True)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=42)
X_tr_s = StandardScaler().fit_transform(X_tr)
X_te_s = StandardScaler().fit(X_tr).transform(X_te)
for name, clf in [('Dummy', DummyClassifier(strategy='most_frequent')),
('LogReg', LogisticRegression(max_iter=1000))]:
clf.fit(X_tr_s, y_tr)
pred = clf.predict(X_te_s)
prob = clf.predict_proba(X_te_s)[:, 1]
print(f'\n{name}:')
print(f' Accuracy={accuracy_score(y_te,pred):.3f}, '
f'Precision={precision_score(y_te,pred):.3f}, '
f'Recall={recall_score(y_te,pred):.3f}, '
f'F1={f1_score(y_te,pred):.3f}, '
f'AUC={roc_auc_score(y_te,prob):.3f}')การปรับเทียบ: ค่าความน่าจะเป็นสื่อความหมายตามที่ระบุหรือไม่
แบบจำลองอาจมี AUC ที่ดีแต่มี การปรับเทียบ ที่ไม่ดี กล่าวคือ ค่าความน่าจะเป็นที่พยากรณ์ไม่ตรงกับความถี่จริง แบบจำลองที่ปรับเทียบได้ดีและระบุความน่าจะเป็น 80% ควรทำนายถูกต้อง 80% ของเวลา การปรับเทียบมีความสำคัญเมื่อมีการใช้ค่าความน่าจะเป็นโดยตรง (ไม่ใช่เพียงป้ายกำกับคลาส) ในระบบให้คะแนนความเสี่ยง และในไปป์ไลน์หลายขั้นตอนที่ผลลัพธ์ของแบบจำลองหนึ่งเป็นข้อมูลนำเข้าของอีกแบบจำลองหนึ่ง ใช้ CalibrationDisplay เพื่อพล็อตช่วงค่าความน่าจะเป็นที่พยากรณ์เทียบกับสัดส่วนผลบวกจริง ป่าสุ่มและต้นไม้ที่ได้รับการเพิ่มประสิทธิภาพมักปรับเทียบได้ไม่ดี ขณะที่การถดถอยโลจิสติกและ Naive Bayes มักทำได้ดีกว่า การปรับเทียบภายหลังด้วย CalibratedClassifierCV สามารถแก้ปัญหานี้ได้
from sklearn.calibration import CalibrationDisplay
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
X, y = load_breast_cancer(return_X_y=True)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=42)
fig, ax = plt.subplots(figsize=(8, 6))
for name, clf in [('LogReg', LogisticRegression(max_iter=1000)),
('RandomForest', RandomForestClassifier(n_estimators=100))]:
clf.fit(X_tr, y_tr)
CalibrationDisplay.from_estimator(clf, X_te, y_te, ax=ax, name=name, n_bins=10)
ax.set_title('Calibration Curves')
plt.show()กรอบการตัดสินใจสำหรับการเลือกเมตริก
ต่อไปนี้คือกรอบการตัดสินใจที่ครบถ้วน: ขั้นที่ 1: นี่เป็นการจำแนกหรือการถดถอย ขั้นที่ 2: สำหรับการจำแนก คลาสมีจำนวนสมดุลกันหรือไม่ หากไม่สมดุล ให้ใช้เส้นโค้ง AUC/F1/PR ขั้นที่ 3: ต้นทุนสัมพัทธ์ของ FP เทียบกับ FN เป็นเท่าใด ต้นทุน FP สูง → ความแม่นยำ ต้นทุน FN สูง → ค่าเรียกคืน ขั้นที่ 4: สำหรับการถดถอย ข้อผิดพลาดขึ้นอยู่กับสเกลหรือไม่ หากใช่ ให้ใช้ RMSE/MAE หากเปรียบเทียบข้ามปัญหา ให้ใช้ R^2 ขั้นที่ 5: ค่าความน่าจะเป็นจำเป็นต้องแม่นยำหรือไม่ ให้เพิ่มการประเมินการปรับเทียบ ขั้นที่ 6: กำหนดการแปลงเมตริกเป็น KPI ทางธุรกิจ จัดทำเอกสารกรอบนี้ไว้ในการ์ดแบบจำลองของทุกโครงการ
def select_metric(task, balanced, fp_cost_high, fn_cost_high, need_proba_cal):
if task == 'regression':
return 'MAE + RMSE + R^2 (report all three)'
# Classification:
if not balanced:
if fn_cost_high and fp_cost_high:
return 'F1 + AUC-PR (balance precision and recall)'
elif fn_cost_high:
return 'Recall + AUC-PR (minimise missed positives)'
elif fp_cost_high:
return 'Precision + AUC-ROC (minimise false alarms)'
else:
return 'Accuracy + F1 + AUC-ROC'
return 'AUC-ROC + F1'
print(select_metric('classification', False, False, True, False)) # Recall
print(select_metric('classification', True, True, True, False)) # Accuracy+F1
print(select_metric('regression', True, False, False, False)) # MAE+RMSE+R^2การจัดทำเอกสารเหตุผลในการเลือกเมตริก
แบบจำลองที่นำไปใช้งานทุกแบบควรมี การ์ดแบบจำลอง ซึ่งบันทึกเมตริกที่เลือก เหตุผล คะแนนค่าพื้นฐาน คะแนนของแบบจำลองที่นำไปใช้งาน และการแปลงเป็น KPI ทางธุรกิจ สิ่งนี้ช่วยสร้างความรับผิดชอบ เมื่อผู้มีส่วนได้ส่วนเสียทางธุรกิจถามว่า “แบบจำลองดีพอหรือยัง” คุณสามารถตอบได้ว่า “แบบจำลองตรวจจับการฉ้อโกงของเรามีค่าเรียกคืน 82% สำหรับธุรกรรมที่มีมูลค่าเกิน $1000 โดยมีอัตราผลบวกลวง 3% และช่วยป้องกันความเสียหายรายเดือนมูลค่า $2.3M เมื่อเทียบกับระบบที่ใช้กฎของเรา” นี่คือความแตกต่างระหว่างการทดลองเชิงวิชาการกับระบบ ML ที่ใช้งานจริง การจัดทำเอกสารเมตริกมีความสำคัญไม่แพ้ตัวแบบจำลองเอง
# Minimal model card template
model_card = {
'model_name': 'Fraud Detector v2.1',
'task': 'Binary classification (fraud / legitimate)',
'primary_metric': 'Recall at FPR=0.03',
'metric_rationale': 'Missing fraud (FN) costs $500 avg; false alarm (FP) costs $5 investigation',
'baseline': {'model': 'DummyClassifier(most_frequent)', 'recall': 0.0, 'fpr': 0.0},
'deployed_model': {'algorithm': 'XGBoost', 'recall': 0.82, 'fpr': 0.03},
'business_kpi': '$2.3M/month fraud prevented vs rule-based system',
'evaluation_date': '2026-06-20',
'training_data': 'Transactions 2024-01 to 2025-12, 5M samples'
}
for key, value in model_card.items():
print(f'{key}: {value}')ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด Machine Learning ด้วย Python จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า การเลือกเมตริกเป็นการตัดสินใจทางธุรกิจที่ขับเคลื่อนด้วยต้นทุนสัมพัทธ์ของผลบวกลวงและผลลบลวง ได้เรียนรู้ว่าเหตุการณ์จริงสามกรณี ได้แก่ การตรวจจับการฉ้อโกง การวินิจฉัยทางการแพทย์ และระบบแนะนำ ต้องใช้เมตริกหลักที่แตกต่างกัน และได้เข้าใจความสำคัญของ การบันทึกเหตุผลในการเลือกเมตริกและการเชื่อมโยงเมตริกนั้นเข้ากับ KPI ทางธุรกิจ บทเรียนนี้เป็นการจบหลักสูตรเมตริกการประเมินแบบจำลอง ต่อไปเราจะเริ่มเส้นทาง MIDLEVEL ด้วยป่าสุ่มและวิธีการแบบกลุ่ม
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Machine Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Machine Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ”
ผู้เรียนจะวิเคราะห์สถานการณ์จริงสามกรณี ได้แก่ การตรวจจับการฉ้อโกง การวินิจฉัยทางการแพทย์ และการประเมินราคาบ้าน พร้อมให้เหตุผลว่าตัวชี้วัดการประเมินใดเหมาะสมที่สุดสำหรับแต่ละกรณี คุณปฏิบัติ Machine Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Machine Learning Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Machine Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Machine Learning Academy นี้ได้ไหม
ได้ บทเรียน Machine Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวชี้วัดการจำแนก: Accuracy, Precision, Recall, F1
- เส้นโค้ง ROC และ AUC-ROC
- ตัวชี้วัดการถดถอย: MAE, MSE, RMSE และ R-Squared
- การเลือกตัวชี้วัดที่เหมาะสมสำหรับปัญหาทางธุรกิจ