【问题标题】:Plot all ROC curves in one figure using KNeighborsClassifier with different k使用具有不同 k 的 KNeighborsClassifier 在一个图中绘制所有 ROC 曲线
【发布时间】:2018-05-03 06:22:45
【问题描述】:

如何使用算法 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()

【问题讨论】:

    标签: python roc


    【解决方案1】:

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

    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()
    

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 2019-11-19
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 2020-01-25
      • 2020-08-15
      • 2019-02-05
      • 2018-12-26
      相关资源
      最近更新 更多