Auc Là Gì – Các Thông Số Dược Động Học Ứng Dụng Trên Lâm Sàng

4. True/False Positive/Negative 5. Precision và Recall 5.4. Precision-recall cho bài toán phân lớp nhiều lớp Bạn cũng luôn có thể tải về tổng thể toàn bộ tổng thể và toàn diện source code phía dưới dạng Jupyter Notebook tại đây. Bài Viết: Auc là gì

1. Bình chọn

Khi gây dựng một loại hình Machine Learning, tổng thể tất cả chúng ta cần một phép nhận định và đánh giá và đánh giá và nhận định để xem loại hình cần sử dụng có khả năng không và để so sánh khả năng của khá nhiều loại hình. Trong content nội dung bài viết này, tôi sẽ reviews những phương pháp nhận định và đánh giá và đánh giá và nhận định những loại hình classification. Hiệu năng của một loại hình thường được nhận định và đánh giá và đánh giá và nhận định phụ thuộc tập dữ liệu kiểm thử (test data). Cụ thể chi tiết, giả sử đầu ra của loại hình khi đầu vào là tập kiểm thử được miêu tả bởi vector y_pred – là vector dự đoán đầu ra với mỗi phần tử là class được dự đoán của một điểm dữ liệu trong tập kiểm thử. Ta cần so sánh giữa vector dự đoán y_pred này với vector class thật của dữ liệu, được miêu tả bởi vector y_true. Ví dụ với bài toán có 3 lớp dữ liệu được gán nhãn là 0, 1, 2. Trong bài toán trong thực tế, những class rất có công dụng có nhãn ngẫu nhiên, không nhất thiết là số, và không nhất thiết khởi nguồn từ 0. Tổng thể toàn bộ tất cả chúng ta hãy tạm giả sử những class được đánh số từ 0 đến C-một trong các điều kiện có C lớp dữ liệu. Có 10 điểm dữ liệu trong tập kiểm thử với những nhãn thực sự được miêu tả bởi y_true = . Giả sử bộ phân lớp tổng thể tất cả chúng ta đang cần nhận định và đánh giá và đánh giá và nhận định dự đoán nhãn cho những tính chất này là y_pred = . Có rất nhiều phương pháp thức nhận định và đánh giá và đánh giá và nhận định một loại hình phân lớp. Tuỳ vào những bài toán rất dị mà tổng thể tất cả chúng ta cần sử dụng những phương pháp rất dị. Các chiêu trò hay được dùng là: accuracy score, confusion matrix, ROC curve, Area Under the Curve, Precision và Recall, F1 score, Top R error, etc. Trong Phần 1 này, tôi sẽ màn trình diễn về accuracy score, confusion matrix, ROC curve, và Area Under the Curve. Các chiêu trò còn lại sẽ tiến hành triển khai màn trình diễn trong Phần 2.

2. Accuracy

Phương thức thức dễ dàng và đơn giản đơn giản và hay được dùng nổi trội là accuracy (độ chính xác). Phương thức thức nhận định và đánh giá và đánh giá và nhận định này dễ dàng và đơn giản đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng và tổng số điểm trong tập dữ liệu kiểm thử. Trong ví dụ này, ta rất có công dụng đếm được có 6 điểm dữ liệu được dự đoán đúng trên tổng số 10 điểm. Vậy ta Tóm lại độ chính xác của loại hình là 0.6 (hay 60%). Cảnh báo nhắc nhở rằng đó đó chính là bài toán với chỉ 3 class, nên độ chính xác nhỏ nhất đã là khoảng tầm chừng 1/3, khi tổng thể toàn bộ tổng thể và toàn diện những điểm được dự đoán là thuộc vào một trong những class nào đấy. from __future__ import print_functionimport numpy as np def acc(y_true, y_pred): correct = np.sum(y_true == y_pred) return float(correct)/y_true.shapey_true = np.array()y_pred = np.array()print(“accuracy = “, acc(y_true, y_pred))

3. Confusion matrix

Phương thức thức tính cần sử dụng accuracy như ở trên chỉ cho tổng thể tất cả chúng ta biết được bao nhiêu Phần Trăm lượng dữ liệu được phân loại đúng mà hoàn toàn không dẫn ra được cụ thể chi tiết chi tiết cụ thể mỗi loại được phân loại thế nào, lớp nào được phân loại đúng kinh hồn bạt vía nhất, và dữ liệu thuộc lớp nào thường bị phân loại nhầm vào lớp khác. Để rất có công dụng nhận định và đánh giá và đánh giá và nhận định được những Chi phí này, tổng thể tất cả chúng ta cần sử dụng một ma trận được gọi là confusion matrix. Về cơ bản, confusion matrix dấu hiệu có bao nhiêu điểm dữ liệu thực sự thuộc vào một trong những class, và được dự đoán là rơi vào hoàn cảnh tình thế một class. Để gia công rõ hơn, hãy xem bảng tiếp trong tương lai: Total: 10 | Predicted | Predicted | Predicted | | as: 0 | as: 1 | as: 2 | ———–|———–|———–|———–|— True: 0 | 2 | 1 | 1 | 4 ———–|———–|———–|———–|— True: 1 | 1 | 2 | 0 | 3 ———–|———–|———–|———–|— True: 2 | 0 | 1 | 2 | 3 ———–|———–|———–|———–|— Có tổng cộng 10 điểm dữ liệu. Tổng thể toàn bộ tất cả chúng ta xét ma trận tạo bởi những Chi phí tại vùng 3×3 trung tâm của bảng. Ma trận thu được được gọi là confusion matrix. Nó là 1 trong trong số những ma trận vuông với kích cỡ mỗi chiều bằng số lượng lớp dữ liệu. Ngân sách tại hàng thứ i, cột thứ j là số lượng điểm lẽ ra thuộc vào class i nhưng lại được dự đoán là thuộc vào class j. Như vậy, nhìn vào hàng thứ nhất (0), ta rất có công dụng thấy cảm thấy được rằng trong số bốn điểm thực sự thuộc lớp 0, chỉ có hai điểm được phân loại đúng, hai điểm còn lại bị phân loại nhầm vào lớp 1 và lớp 2. Xem Ngay: 2018 Là Năm Con Gì – Năm Và Mệnh Gì Chú ý: Có một số trong những tài liệu định nghĩa ngược lại, tức Chi phí tại cột thứ i, hàng thứ j là số lượng điểm lẽ ra thuộc vào class i nhưng lại được dự đoán là thuộc vào class j. Khi ấy ta sẽ tiến hành triển khai confusion matrix là ma trận chuyển vị của confusion matrix như cách thức thức tôi đang làm. Tôi chọn cách thức thức này vì đây đó đó chính là cách thức thức thư viện sklearn cần sử dụng. Chúng ta có thể suy ra ngay rằng tổng những thành lớp bên trong toàn ma trận này đó đó chính là số điểm trong tập kiểm thử. Các phần tử trê tuyến phố chéo của ma trận là số điểm được phân loại đúng của mỗi lớp dữ liệu. Từ đây rất có công dụng suy ra accuracy chính bằng tổng những phần tử trê tuyến phố chéo chia cho tổng những phần tử của toàn ma trận. Đoạn code tiếp trong tương lai miêu tả cách thức thức tính confusion matrix: def my_confusion_matrix(y_true, y_pred): N = np.unique(y_true).shape # number of classes cm = np.zeros((N, N)) for n in range(y_true.shape): cm, y_pred> += 1 return cm cnf_matrix = my_confusion_matrix(y_true, y_pred)print(“Confusion matrix:”)print(cnf_matrix)print(“nAccuracy:”, np.diagonal(cnf_matrix).sum()/cnf_matrix.sum()) Phương thức thức màn trình diễn trên đây của confusion matrix còn được gọi là unnormalized confusion matrix, tức ma confusion matrix chưa chuẩn hoá. Để chiếm hữu cái nhìn rất rõ hơn, ta rất có công dụng dùng normalized confuion matrix, tức confusion matrix được chuẩn hoá. Để chiếm hữu normalized confusion matrix, ta lấy mỗi hàng của unnormalized confusion matrix sẽ tiến hành triển khai chia cho tổng những thành phần bên trên hàng đó. Như vậy, ta có Bình chọn rằng tổng những thành phần bên trên một hàng của normalized confusion matrix luôn bằng 1. Vấn đề đó thường không đúng trên mỗi cột. Phía dưới đó đó chính là cách thức thức tính normalized confusion matrix: normalized_confusion_matrix = cnf_matrix/cnf_matrix.sum(axis = 1, keepdims = True)print(“nConfusion matrix (with normalizatrion:)”)print(normalized_confusion_matrix) import matplotlib.pyplot as pltimport itertoolsdef plot_confusion_matrix(cm, classes, normalize=False, title=”Confusion matrix”, cmap=plt.cm.Blues): “”” This function prints và plots the confusion matrix. Normalization can be applied by setting `normalize=True`. “”” if normalize: cm = cm.astype(“float”) / cm.sum(axis=1, keepdims = True) plt.imshow(cm, interpolation=”nearest”, cmap=cmap) plt.title(title) plt.colorbar() tick_marks = np.arange(len(classes)) plt.xticks(tick_marks, classes, rotation=45) plt.yticks(tick_marks, classes) fmt = “.2f” if normalize else “d” thresh = cm.max() / 2. for i, j in itertools.product(range(cm.shape), range(cm.shape)): plt.text(j, i, format(cm, fmt), horizontalalignment=”center”, color=”white” if cm > thresh else “black”) plt.tight_layout() plt.ylabel(“True label”) plt.xlabel(“Predicted label”)# Plot non-normalized confusion matrixclass_names = plt.figure()plot_confusion_matrix(cnf_matrix, classes=class_names, title=”Confusion matrix, without normalization”)# Plot normalized confusion matrixplt.figure()plot_confusion_matrix(cnf_matrix, classes=class_names, normalize=True, title=”Normalized confusion matrix”)plt.show()

**

Với những bài toán với tương đối nhiều lớp dữ liệu, cách thức thức màn trình diễn bằng màu này rất hữu ích. Các ô màu đậm dấu hiệu những Chi phí cao. Một loại hình tốt nhất có thể sẽ cho một confusion matrix có những phần tử trê tuyến phố chéo chính có Chi phí to, những phần tử còn lại có Chi phí nhỏ dại dại. Nói cách thức thức khác, khi màn trình diễn bằng màu sắc, đường chéo có màu càng đậm nếu như với phần còn lại sẽ càng tốt nhất có thể. Từ hai hình trên ta thấy cảm thấy rằng confusion matrix đã chuẩn hoá mang nhiều thông tin hơn. Sự rất dị được thấy cảm thấy ở ô trên cùng bên trái. Lớp dữ liệu 0 được phân loại không quá tốt nhất có thể nhưng trong unnormalized confusion matrix, nó vẫn vẫn đang còn màu đậm như hai ô còn lại trê tuyến phố chéo chính.

4. True/False Positive/Negative

4.1. True/False Positive/Negative

Phương thức thức nhận định và đánh giá và đánh giá và nhận định này thường được dùng cho những bài toán phân lớp có hai lớp dữ liệu. Cụ thể chi tiết hơn, trong hai lớp dữ liệu này còn tồn tại một lớp nghiêm trọng hơn lớp kia và rất cần được được dự đoán chính xác. Ví dụ, trong bài toán khẳng định có bệnh ung thư hay không thì việc không làm nên sót (miss) quan trọng hơn là vấn đề chẩn đoán nhầm cõi âm binh thành dương tính. Trong bài toán khẳng định có mìn sâu sâu dưới lòng đất hay không thì việc bỏ sót nghiêm trọng hơn việc báo động nhầm rất nhiều. Hay trong bài toán lọc email rác thì việc cho nhầm email quan trọng vào thùng rác nghiêm trọng hơn việc khẳng định một email rác là email thường. Một trong những bài toán này, người ta thường định nghĩa lớp dữ liệu quan trọng hơn rất cần được được khẳng định đúng đắn là lớp Positive (P.-dương tính), lớp còn lại được gọi là Negative (N-cõi âm binh). Ta định nghĩa True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) phụ thuộc confusion matrix chưa chuẩn hoá như sau: | Predicted | Predicted | | as Positive | as Negative |——————|———————|———————| Actual: Positive | True Positive (TP) | False Negative (FN) |——————|———————|———————| Actual: Negative | False Positive (FP) | True Negative (TN) |——————|———————|———————| Người ta thường xem xét TPR, FNR, FPR, TNR (R – Rate) phụ thuộc normalized confusion matrix như sau: | Predicted | Predicted | | as Positive | as Negative |——————|——————–|——————–| Actual: Positive | TPR = TP/(TP + FN) | FNR = FN/(TP + FN) |——————|——————–|——————–| Actual: Negative | FPR = FP/(FP + TN) | TNR = TN/(FP + TN) |——————|——————–|——————–| False Positive Rate còn được gọi là False Alarm Rate (tỉ lệ báo động nhầm), False Negative Rate còn được gọi là Miss Detection Rate (tỉ lệ bỏ sót). Trong bài toán dò mìn, thà báo nhầm còn hơn bỏ sót, nghĩa là ta rất có công dụng đồng ý thuận tình False Alarm Rate cao để đã đạt được Miss Detection Rate thấp. Chú ý:: Việc biết một cột của confusion matrix này sẽ suy ra được cột còn lại vì tổng những hàng luôn bằng 1 và chỉ có hai lớp dữ liệu.

Xem Ngay:  Vật Lý Kỹ Thuật Là Gì

4.2. Receiver Operating Characteristic curve

Trong một số trong những bài toán, việc tăng hay giảm FNR, FPR rất có công dụng được tiến hành triển khai tiến hành triển khai bằng vấn đề thay đổi một ngưỡng (threshold) nào đấy. Lấy ví dụ khi ta cần sử dụng thuật toán Logistic Regression, đầu ra của loại hình rất có công dụng là những lớp cứng 0 hay là 1 trong những, hoặc cũng luôn có thể là những Chi phí dấu hiệu Phần Trăm để dữ liệu đầu vào thuộc vào lớp 1. Khi cần sử dụng thư viện sklearn Logistic Regression, ta rất có công dụng lấy được những Chi phí xác xuất này bằng phương thức thức predict_proba(). Mặc định, ngưỡng được cần sử dụng là 0.5, tức là 1 trong trong số những điểm dữ liệu x sẽ tiến hành triển khai dự đoán rơi vào hoàn cảnh tình thế lớp 1 nếu Chi phí predict_proba(x) to thêm 0.5 và ngược lại. Nếu bây giờ ta coi lớp một là lớp Positive, lớp 0 là lớp Negative, thắc mắc hiện ra là làm thế nào để tăng mức độ báo nhầm (FPR) để giảm mức độ bỏ sót (FNR)? Chú ý rằng tăng FNR đồng nghĩa tương quan đối sánh với việc giảm TPR vì tổng của chúng luôn bằng 1. Một kỹ thuật dễ dàng và đơn giản đơn giản là ta thay Chi phí threshold từ 0.5 xuống một số trong những bé hơn. Ví dụ điển hình nổi bật nếu tìm threshold = 0.3, thì mọi điểm được dự đoán có Phần Trăm đầu ra to thêm 0.3 sẽ tiến hành triển khai dự đoán là thuộc lớp Positive. Nói cách thức thức khác, tỉ lệ những điểm được phân loại là Positive sẽ gia tăng, kéo theo cả False Positive Rate và True Positive Rate cùng gia tăng (cột thứ nhất trong ma trận gia tăng). Từ đây suy ra cả FNR và TNR đều giảm. Ngược lại, nếu ta muốn bỏ sót còn hơn báo nhầm, dĩ nhiên là ở tầm mức độ nào đấy, như bài toán khẳng định email rác ví dụ điển hình nổi bật, ta cần tăng threshold lên một số trong những to thêm 0.5. Khi ấy, phần lớn những điểm dữ liệu sẽ tiến hành triển khai dự đoán thuộc lớp 0, tức Negative, và cả TNF và FNR đều gia tăng, tức TPR và FPR sụt giảm. Như vậy, ứng với mỗi Chi phí của threshold, ta sẽ thu được một cặp (FPR, TPR). Biểu diễn những điểm (FPR, TPR) trên đồ thị khi thay đổi threshold từ 0 tới 1 ta sẽ thu được một đường được gọi là Receiver Operating Characteristic curve hay ROC curve. (Chú ý rằng khoảng tầm chừng Chi phí của threshold không nhất thiết từ 0 tới một trong các những bài toán tổng quát. Khoảng tầm chừng Chi phí này rất cần được được đảm bảo an toàn tin cậy có điều kiện TPR/FPR nhận Chi phí lớn số 1 hay nhỏ nhất mà chúng rất có công dụng đã đạt được). Xem Ngay: đột Quỵ Là Gì Trong tương lai là 1 trong trong số những ví dụ với hai lớp dữ liệu. Lớp thứ nhất là lớp Negative có 20 điểm dữ liệu, 30 điểm còn lại thuộc lớp Positive. Giả sử loại hình đang xét cho những đầu ra của dữ liệu (Phần Trăm) được lưu ở biến scores. # generate simulated datan0, n1 = 20, 30score0 = np.random.rand(n0)/2label0 = np.zeros(n0, dtype = int)score1 = np.random.rand(n1)/2 + .2label1 = np.ones(n1, dtype = int)scores = np.concatenate((score0, score1))y_true = np.concatenate((label0, label1))print(“True labels:”)print(y_true)print(“nScores:”)print(scores) Nhìn toàn diện, những điểm thuộc lớp 1 có score cao không dừng lại ở đó. Thư viện sklearn sẽ giúp đỡ tổng thể tất cả chúng ta tính những thresholds y cũng tương tự FPR và TPR tương ứng: from sklearn.metrics import roc_curve, aucfpr, tpr, thresholds = roc_curve(y_true, scores, pos_label = 1)print(“Thresholds:”)print(thresholds) Thể Loại: Chia sẻ trình bày Kiến Thức Cộng Đồng

Xem Ngay:  Ansys Là Gì - Hiểu Chi Tiết Về Ansys Mechanical Để Học Cho Đúng

Bài Viết: Auc Là Gì – Các Thông Số Dược Động Học Ứng Dụng Trên Lâm Sàng Thể Loại: LÀ GÌ Nguồn Blog là gì: https://hethongbokhoe.com Auc Là Gì – Các Thông Số Dược Động Học Ứng Dụng Trên Lâm Sàng

Leave a Reply

Your email address will not be published.