首页 > 解决方案 > 打印数组的对应值

问题描述

我正在尝试打印提供最高准确度的 SVM 模型的度数。我不能使用max (degree_matrix_name),因为那只会给我测试的最高学位数。

x_axis_knn_array = []
y_axis_knn_array = []
from sklearn.neighbors import KNeighborsClassifier
import matplotlib as matplotlib 
import matplotlib.pyplot as plt
for b in range (6, 71):
    knnClassObj = KNeighborsClassifier(n_neighbors=b, p=2, metric='minkowski')
    knnClassObj.fit(X_train, y_train)
    knn_y_pred = knnClassObj.predict(X_test)
    y_axis_knn_array.append(metrics.accuracy_score(y_test, knn_y_pred) * 100)
    x_axis_knn_array.append(b)
print("The highest accuracy is", max(y_axis_knn_array), "%", "at", #**[I WANT TO HAVE THE NUMBER OF DEGREES CORRESPONDING TO max_y_axis_knn_array HERE]**)

标签: pythonscikit-learn

解决方案


您可以使用精度数组中最大精度的位置来索引 x_axis_knn_array

x_axis_knn_array[y_axis_knn_array.index(max(y_axis_knn_array))]

推荐阅读