【问题标题】:Print labels of the nearest neighbours from scikit KNeighborsClassifier?从 scikit KNeighborsClassifier 打印最近邻居的标签?
【发布时间】:2018-07-19 02:27:16
【问题描述】:

我正在使用 KNeighborsClassifier 算法来训练我的数据,如下所示:

knn_clf = neighbors.KNeighborsClassifier(n_neighbors=3, 
algorithm="ball_tree", weights='distance')

我从以下位置获取数据的最近 3 个邻居:

closest_distances = knn_clf.kneighbors(faces_encodings, n_neighbors=3)
print(closest_distances) #printouts: (array([[0.1123 , 0.29189484, 0.312]]

我想将这 3 个最近邻居的距离与标签联系起来。有任何想法吗 ?

我的训练数据:X:[0.1,0.2,0.3,0.4,0.5] y:[一、二、三、四、五]。如果我给出预测(0.2),我如何将找到的距离的标签链接为二、三、四?

谢谢,

【问题讨论】:

    标签: python machine-learning scikit-learn knn


    【解决方案1】:

    您不应该像您那样将knn_clf.kneighbors 分配给单个变量closest_distanceskneighbors方法returns two variables

    返回:

    dist : 数组

    表示点长度的数组,仅在 return_distance=True 时出现

    ind : 数组

    人口矩阵中最近点的索引。

    所以,你应该给

    closest_distances, indices = knn_clf.kneighbors(faces_encodings, n_neighbors=3)
    

    indices 变量将包含所需的索引。

    【讨论】:

    • 谢谢 :) 我没看到它也返回索引
    猜你喜欢
    • 2018-09-06
    • 1970-01-01
    • 2021-11-04
    • 2020-06-11
    • 2016-09-19
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多