首页 > 解决方案 > 如何在 python 中使用验证数据训练 knn 模型

问题描述

所以我有 (Xa, Ya): data training (Xv Yv): data_validation (Xt, Yt): data_test 所以我想应用具有不同邻居值(1 到 25)的 knn 在同一张图中绘制分类错误对于数据训练和 data_validation,我发现的唯一解决方案是使用交叉验证,但我寻找另一种没有交叉验证的解决方案

标签: pythonmachine-learningknn

解决方案


这可能是一个非常简单的示例来设计可能的修改:

import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier

for i in range(1,26):
    cls = KNeighborsClassifier(n_neighbors=i)
    cls.fit(Xa, ya)
    y_probs = cls.predict_proba(Xv)
    fpr, tpr, _ = roc_curve(yv, y_probs[:,1])
    plt.plot(fpr, tpr)
plt.show()

推荐阅读