Python 3.x Getting ValueError:在尝试计算KNN分数时,没有足够的值来解包(预期值为6,实际值为5)
我正在尝试计算KNN模型选择算法的分数,在尝试计算f1_分数时,我得到了错误。这是我的密码: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
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请立即检查编辑