Con trăn đường cong ROC mượt mà

Nhiều khi chúng ta có các biểu đồ đường được tạo từ danh sách dữ liệu khá phân tán khiến cho biểu đồ trông giống như các đường thẳng nối các dấu chấm hoặc khá dày đặc dẫn đến các điểm dữ liệu rất gần nhau và do đó biểu đồ trông lộn xộn.  

matplotlib. pyplot. plot[] theo mặc định tạo ra một đường cong bằng cách nối hai điểm liền kề trong dữ liệu với một đường thẳng và do đó matplotlib. pyplot. Hàm plot[] không tạo ra một đường cong mượt mà cho một phạm vi nhỏ các điểm dữ liệu

Thí dụ

con trăn




import numpy as np

import matplotlib.pyplot as plt

 

# Dataset

x= np.array[[1numpy as np0numpy as np2_______9numpy as np4numpy as np6numpy as np8import0import1import2 import3

import4= np.array[[import7import1import9import1numpy as np6import1matplotlib.pyplot as plt3import1matplotlib.pyplot as plt5import1matplotlib.pyplot as plt7import1matplotlib.pyplot as plt9import1numpy as np2 import3

 

# Dataset3

# Dataset4

# Dataset5# Dataset6# Dataset7

# Dataset8# Dataset9____47

x1____52# Dataset7

x4

đầu ra

Quan sát rằng cốt truyện không hề trơn tru vì dữ liệu cơ bản không theo một đường trơn tru. Để vẽ một đường cong trơn tru, trước tiên chúng ta khớp một đường cong spline với đường cong và sử dụng đường cong để tìm các giá trị y cho các giá trị x được phân tách bằng một khoảng cách cực nhỏ. Chúng ta có thể có được một đường cong mượt mà bằng cách vẽ những điểm đó với một khoảng cách rất nhỏ

Chúng ta có thể sử dụng các phương pháp sau để tạo đường cong mượt mà cho tập dữ liệu này

1. Đường cong Spline mượt mà với PyPlot

Nó vẽ một đường cong spline mượt mà bằng cách trước tiên xác định các hệ số của đường cong spline bằng cách sử dụng scipy. nội suy. make_interp_spline[]. Chúng tôi sử dụng các điểm dữ liệu đã cho để ước tính các hệ số cho đường cong spline, sau đó chúng tôi sử dụng các hệ số này để xác định giá trị y cho các giá trị x có khoảng cách rất gần nhau để làm cho đường cong có vẻ mượt mà. Ở đây chúng tôi sẽ sử dụng np. linspace[] trả về các mẫu cách đều nhau, được tính toán trong một khoảng thời gian xác định. Tham số tùy chọn num là số lượng mẫu cần tạo trong phạm vi bắt đầu và dừng. Giá trị mặc định là 50 và phải không âm. Chúng tôi muốn tham số này có giá trị đủ cao để tạo ra một đường cong mượt mà. Hãy lấy 500 mẫu cách đều nhau giữa các giá trị tối thiểu và tối đa dọc theo trục X để vẽ đường cong

cú pháp.  

cục mịch. linspace[bắt đầu, dừng, num = 50, điểm cuối = True, bước lùi = Sai, dtype = Không, trục = 0]

X_Y_Spline = scipy. nội suy. make_interp_spline[x, y]

Thí dụ

con trăn




import numpy as np

import numpy as np

x9 =0import =2

import matplotlib.pyplot as plt

 

# Dataset

x= np.array[[1import1numpy as np0import1numpy as np2import1numpy as np4import1numpy as np6import1numpy as np8import1import0import1import2import3

import4= np.array[[import7import1import9import1numpy as np6import1matplotlib.pyplot as plt3import1matplotlib.pyplot as plt5import1matplotlib.pyplot as plt7import1matplotlib.pyplot as plt9import1numpy as np2import3

 

numpy as np04= numpy as np06

 

numpy as np07

numpy as np08

numpy as np09= numpy as np11numpy as np12numpy as np13numpy as np14numpy as np15numpy as np16# Dataset7

numpy as np18= numpy as np20

 

# Dataset3

numpy as np22

# Dataset5numpy as np24# Dataset7

# Dataset8# Dataset9____47

x1____52# Dataset7

x4

đầu ra

2. Đường cong Spline sử dụng phép nội suy khối

Nó tạo ra một đường cong nội suy bậc ba bằng cách sử dụng scipy. nội suy. interp1d, sau đó chúng tôi sử dụng đường cong để xác định giá trị y cho các giá trị x cách đều nhau để có đường cong mượt mà. Ở đây chúng ta cũng sẽ sử dụng np. linspace[] trả về các mẫu cách đều nhau, được tính toán trong một khoảng thời gian xác định. Hãy lấy 500 mẫu cách đều nhau giữa các giá trị tối thiểu và tối đa dọc theo trục X để vẽ đường cong. Tùy thuộc vào độ cong mà bạn muốn đường cong, bạn có thể sửa đổi giá trị cho tham số thứ ba [num]

cú pháp

cục mịch. linspace[bắt đầu, dừng, num=50, điểm cuối=True, retstep=False, dtype=None, axis=0]

cube_interpolation_model=scipy. nội suy. interp1d[x,y,kind=”khối”]

Thí dụ

con trăn




import numpy as np

x9 =0import numpy as np38

import matplotlib.pyplot as plt

 

# Dataset

x=np.array[[1import1numpy as np0import1numpy as np2import1numpy as np4import1numpy as np6import1numpy as np8import1import0import1import2import3

import4=np.array[[import7import1import9import1numpy as np6import1matplotlib.pyplot as plt3import1matplotlib.pyplot as plt5import1matplotlib.pyplot as plt7import1matplotlib.pyplot as plt9import1numpy as np2import3

Đường cong ROC có thể thẳng không?

Đường cong ROC của bộ phân loại ngẫu nhiên . 0, 0. 0] vào góc trên cùng bên phải [1. 0, 1. 0] A classifier with the random performance level always shows a straight line from the origin [0.0, 0.0] to the top right corner [1.0, 1.0] . Hai khu vực được phân tách bởi đường cong ROC này biểu thị ước tính đơn giản về mức hiệu suất.

Tại sao đường cong ROC của tôi sắc nét?

Một "đường cong" ROC hoàn hảo sẽ được tạo hình với một đường cong sắc nét. Hiệu suất bạn có ở đó gần như là sự tách biệt hoàn hảo . Ngoài ra, có vẻ như bạn đang khan hiếm điểm tạo nên đường cong.

Làm cách nào để tính toán đường cong ROC trong Python?

Đường cong ROC và AUC trong Python . Giống như hàm roc_curve[], hàm AUC lấy cả kết quả thực [0,1] từ tập kiểm tra và xác suất dự đoán cho lớp 1. using the roc_auc_score[] function. Like the roc_curve[] function, the AUC function takes both the true outcomes [0,1] from the test set and the predicted probabilities for the 1 class.

Đường cong ROC tốt nhất là gì?

KIỂM TRA HOÀN HẢO . Diện tích dưới đường cong ROC của bài kiểm tra hoàn hảo là 1. passes through the upper left corner [~100 % sensitivity and 100 % specificity]. The area under the ROC curve of the perfect test is 1.

Chủ Đề