Python 3.x Getting ValueError:在尝试计算KNN分数时,没有足够的值来解包(预期值为6,实际值为5)

Python 3.x Getting ValueError:在尝试计算KNN分数时,没有足够的值来解包(预期值为6,实际值为5),python-3.x,machine-learning,Python 3.x,Machine Learning,我正在尝试计算KNN模型选择算法的分数,在尝试计算f1_分数时,我得到了错误。这是我的密码: def print_report(y_actual, y_pred, thresh): auc = roc_auc_score(y_actual, y_pred) #Calculates Area Under Curve (AUC) score. accuracy = accuracy_score(y_actual, (y_pred > t

我正在尝试计算KNN模型选择算法的分数,在尝试计算f1_分数时,我得到了错误。这是我的密码:

def print_report(y_actual, y_pred, thresh):

    auc = roc_auc_score(y_actual, y_pred)                     #Calculates Area Under Curve (AUC) score.
    accuracy = accuracy_score(y_actual, (y_pred > thresh))    #Calculates total accuracy of model.
    recall = recall_score(y_actual, (y_pred > thresh))        #Calculates recall score.
    precision = precision_score(y_actual, (y_pred > thresh))  #Calculates precision score.
    specificity = calc_specificity(y_actual, y_pred, thresh)  #Calls functions where specificity is calculated.
    f1 = f1_score(y_actual, (y_pred > thresh))                #Calculates f1_score.
    print('AUC:%.3f'%auc)
    print('accuracy:%.3f'%accuracy)
    print('recall:%.3f'%recall)
    print('precision:%.3f'%precision)
    print('specificity:%.3f'%specificity)
    print('prevalence:%.3f'%calc_prevalence(y_actual))
    print('f1 score:%.3f'%f1)
    print(' ')
    return auc, accuracy, recall, precision, specificity, f1
下一部分:

import warnings
warnings.filterwarnings('ignore')
from sklearn.neighbors import KNeighborsClassifier
knn=KNeighborsClassifier(n_neighbors = 120)
knn.fit(X_train_tf, y_train)

y_train_preds = knn.predict_proba(X_train_tf)[:,1]
y_valid_preds = knn.predict_proba(X_valid_tf)[:,1]

print('KNN')
print('Training:')
knn_train_auc, knn_train_accuracy, knn_train_recall, \
    knn_train_precision, knn_train_specificity, knn_train_f1 = print_report(y_train,y_train_preds, thresh)
print('Validation:')
knn_valid_auc, knn_valid_accuracy, knn_valid_recall, \
    knn_valid_precision, knn_valid_specificity, knn_train_f1 = print_report(y_valid,y_valid_preds, thresh)
此处发生错误:

knn_train_precision, knn_train_specificity, knn_train_f1 = print_report(y_train,y_train_preds, thresh)

我只能计算我的训练数据集的分数,不能进行验证。非常感谢您的帮助。

请发布准确的错误及其所在的行。@Kalpit请立即检查编辑