Я пытаюсь показать путаницу матрицы для предсказанных тестовых данных (двоичная текстовая классификация).Но я не могу получить y_pred
, чтобы соответствовать y_test
после выполнения model.predict()
.
Сначала давайте посмотрим на тестовые / истинные данные:
y_test = (y_test > 0.5)
print(y_test)
print(type(y_test))
Вывод:
2 False
17 True
18 True
...
4980 True
4986 False
4990 True
pandas.core.series.Series
Отсутствующие индексы содержатся в обучающем наборе.
Вот что происходит, когда мы прогнозируем на основе данных испытаний:
y_pred = model.predict(data_test)
y_pred = (y_pred > 0.5)
print(y_pred)
print(type(y_pred))
Вывод:
[[ True]
[ True]
[ True]
[False]
...
[ True]
[ True]
[ True]]
numpy.ndarray
Тест / Истинные данные:
y_test = (y_test > 0.5)
print(y_test)
Вывод:
2 False
17 True
18 True
...
4980 True
4986 False
4990 True
В конечном счете, я собираюсь создать матрицу путаницы, но данные не совпадают с форматом.
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
Что вы порекомендуете?
Попытки пока:
y_test_np = y_test.values
Выход:
[False True True ... True False True]
Ближе, но, похоже, мне нужно, чтобы каждый элемент также был массивом (например, [[ True] [False] [ True]]
).Как я могу выровнять массивы?