gpt4 book ai didi

python - 使用具有不同 k 的 KNeighborsClassifier 在一张图中绘制所有 ROC 曲线

转载 作者:行者123 更新时间:2023-12-01 09:28:35 25 4
gpt4 key购买 nike

如何使用 KNeighborsClassifier 算法绘制多条 ROC 曲线?我想绘制不同 k 的 ROC 曲线。

这就是我所拥有的,但它会绘制不同的图形,我想将它们全部组合起来

k_range = range(1, 20)
for k in k_range:
knn = KNeighborsClassifier(n_neighbors=k)
model = knn.fit(X_train, Y_train)
y_predict_proba = model.predict_proba(X_test).tolist()
probabilities = np.array(y_predict_proba)[:, 1]
fpr, tpr, _ = roc_curve(Y_test, probabilities)
# roc_auc = (auc(fpr, tpr))

plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([-0.05, 1.05])
plt.ylim([-0.05, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend(loc="lower right")
plt.show()

最佳答案

我发现出了什么问题,以防有人想要这样做:

for k in k_range:
knn = KNeighborsClassifier(n_neighbors=k)
model = knn.fit(X_train, Y_train)
y_predict_proba = model.predict_proba(X_test).tolist()
probabilities = np.array(y_predict_proba)[:, 1]
fpr, tpr, _ = roc_curve(Y_test, probabilities)
roc_auc = auc(fpr, tpr)
color = ['blue', 'orange', 'red', 'green', 'coral',
'grey', 'indigo', 'gold', 'lime', 'olive',
'pink', 'navy', 'magenta', 'yellow', 'tomato',
'turquoise', 'yellowgreen', 'maroon', 'lightblue']
plt.plot(fpr, tpr, color=color[k - 1], lw=1, label='ROC (area = %f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([-0.05, 1.05])
plt.ylim([-0.05, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend(loc="lower right")
plt.show()

关于python - 使用具有不同 k 的 KNeighborsClassifier 在一张图中绘制所有 ROC 曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50143946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com