วิธีสร้างเส้นโค้งการเรียกคืนที่แม่นยำใน python
เมื่อใช้ แบบจำลองการจำแนกประเภท ในการเรียนรู้ของเครื่อง ตัวชี้วัดสองตัวที่เรามักใช้ในการประเมินคุณภาพของแบบจำลองคือความแม่นยำและการจดจำ
ความแม่นยำ : แก้ไขการคาดการณ์เชิงบวกโดยสัมพันธ์กับการคาดการณ์เชิงบวกทั้งหมด
มีการคำนวณดังนี้:
- ความแม่นยำ = ผลบวกที่แท้จริง / (ผลบวกจริง + ผลบวกลวง)
คำเตือน : การแก้ไขการคาดการณ์เชิงบวกเทียบกับผลบวกจริงทั้งหมด
มีการคำนวณดังนี้:
- คำเตือน = ผลบวกที่แท้จริง / (ผลบวกจริง + ผลลบเท็จ)
เพื่อให้เห็นภาพความแม่นยำและการเรียกคืนโมเดลบางรุ่น เราสามารถสร้าง เส้นโค้งการเรียกคืนที่แม่นยำ เส้นโค้งนี้แสดงข้อดีระหว่างความแม่นยำและการเรียกคืนสำหรับเกณฑ์ที่ต่างกัน

ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีสร้างเส้นโค้งการเรียกคืนที่แม่นยำสำหรับแบบจำลองการถดถอยโลจิสติกใน Python
ขั้นตอนที่ 1: นำเข้าแพ็คเกจ
ขั้นแรก เราจะนำเข้าแพ็คเกจที่จำเป็น:
from sklearn import datasets from sklearn. model_selection import train_test_split from sklearn. linear_model import LogisticRegression from sklearn. metrics import precision_recall_curve import matplotlib. pyplot as plt
ขั้นตอนที่ 2: ติดตั้งแบบจำลองการถดถอยโลจิสติก
ต่อไป เราจะสร้างชุดข้อมูลและปรับโมเดลการถดถอยโลจิสติกให้เหมาะสม:
#create dataset with 5 predictor variables
X, y = datasets. make_classification (n_samples= 1000 ,
n_features= 4 ,
n_informative= 3 ,
n_redundant= 1 ,
random_state= 0 )
#split dataset into training and testing set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= .3 , random_state= 0 )
#fit logistic regression model to dataset
classifier = LogisticRegression()
classify. fit (X_train, y_train)
#use logistic regression model to make predictions
y_score = classify. predict_proba (X_test)[:, 1 ]
ขั้นตอนที่ 3: สร้างเส้นโค้งการเรียกคืนที่แม่นยำ
ต่อไป เราจะคำนวณความแม่นยำและการเรียกคืนแบบจำลอง และสร้างเส้นโค้งการเรียกคืนที่แม่นยำ:
#calculate precision and recall
precision, recall, thresholds = precision_recall_curve(y_test, y_score)
#create precision recall curve
fig, ax = plt. subplots ()
ax. plot (recall, precision, color=' purple ')
#add axis labels to plot
ax. set_title (' Precision-Recall Curve ')
ax. set_ylabel (' Precision ')
ax. set_xlabel (' Recall ')
#displayplot
plt. show ()

แกน x แสดงการเรียกคืน และแกน y แสดงความแม่นยำสำหรับเกณฑ์ที่แตกต่างกัน
โปรดทราบว่าเมื่อการเรียกคืนเพิ่มขึ้น ความแม่นยำจะลดลง
นี่แสดงถึงการประนีประนอมระหว่างสองเมตริก หากต้องการเพิ่มการเรียกคืนโมเดลของเรา ความแม่นยำจะต้องลดลงและในทางกลับกัน
แหล่งข้อมูลเพิ่มเติม
วิธีการดำเนินการถดถอยโลจิสติกใน Python
วิธีสร้างเมทริกซ์ความสับสนใน Python
วิธีการตีความ ROC Curve (พร้อมตัวอย่าง)