Я хочу рассчитать и напечатать показатели auc_score, f_score и других, используя scickit learn в python? Я делаю НЛП, в начале моего набора список слов, я векторизовать их, чтобы сделать некоторые предсказания. Мои y_predi имеют значение true или false, мне нужно преобразовать их в значения (0 и 1)
Мой код:
#Vectorization
x_test_vect = pipe_vect.transform(x_test)
#Create predictive set
y_pred = model.predict_proba(x_test_vect)
#Calculate treshold
fpr, tpr, thresholds = roc_curve(y_test, y_pred[:, 1])
spr = np.array(tpr) + (1 - np.array(fpr))
threshold = thresholds[np.argmax(spr)]
y_predi = [y >= threshold for y in y_pred[:, 1]]
#Calculate AUC score
AUC = roc_auc_score(y_test, y_predi[:, 1])
Мой отпечаток:
y_pred [[0.89882979 0.10117021]
[0.87 0.13 ]
[0.65 0.35 ]
[0.94122287 0.05877713]
[0.50868421 0.49131579]
[0.97847458 0.02152542]
[0.99 0.01 ]
[0.21 0.79 ]
[0.94 0.06 ]
[0.94604348 0.05395652]]
y_test [1 0 0 0 1 0 0 1 0 0]
y_predi [False, False, True, False, True, False, False, True, False, False]
threshold 0.2407608695652174
ошибка:
AUC = roc_auc_score(y_test, y_predi[:, 1])
TypeError: list indices must be integers or slices, not tuple