Вопрос или проблема
Я преобразовал все числовые целевые переменные датасета MNIST в категориальные переменные. Таким образом, 0
стало ноль
и так далее. Затем я попробовал следующую модель на этом наборе данных:
from sklearn.linear_model import SGDClassifier
from sklearn.multiclass import OneVsRestClassifier
sgd_clf = OneVsRestClassifier(SGDClassifier(random_state=42))
sgd_clf.fit(X_train, y_train)
Когда я пробую sgd_clf.predict(X_test)
, я получаю массив категориальных значений. Я хочу понять, как оценить мою модель, поскольку confusion_matrix
не работает на этом.
Вы могли бы преобразовать свои категориальные выводы обратно в их числовые эквиваленты, а затем использовать матрицу ошибок и обычное
.
Ответ или решение
Оценка модели с категориальными переменными
Вы преобразовали числовые целевые переменные датасета MNIST в категориальные, изменив, например, 0
на zero
и т.д. После этого вы применили модель:
from sklearn.linear_model import SGDClassifier
from sklearn.multiclass import OneVsRestClassifier
sgd_clf = OneVsRestClassifier(SGDClassifier(random_state=42))
sgd_clf.fit(X_train, y_train)
После выполнения sgd_clf.predict(X_test)
вы получаете массив категориальных значений. Возникает вопрос: как оценить такую модель, если confusion_matrix
не работает с категориальными значениями?
Шаги по оценке модели с категориальными переменными
- Обратное преобразование в числовые значения: Преобразуйте предсказанные категориальные значения обратно в числовые, чтобы иметь возможность использовать метрики, такие как матрица ошибок. Например, создайте словарь маппинга для обратного преобразования:
{'zero': 0, 'one': 1, ...}
. - Использование стандартных метрик: После преобразования категориальных значений в числовые вы можете использовать
confusion_matrix
,accuracy_score
,precision_score
,recall_score
и другие популярные метрики из библиотекиsklearn
для оценки точности и эффективности вашей модели. - Сравнительный анализ: Проведите сравнительный анализ вашей модели после конверсии с базовой моделью на числовых переменных, чтобы выявить, было ли изменение переменных уместным. Это поможет вам определить, добавила ли конвертация в категориальные переменные какую-либо дополнительную ценность.
Зачем использовать категориальные переменные?
Использование категориальных переменных может улучшить восприятие данных, особенно в случаях, когда числовые значения не несут полезной информации. Однако, в случае цифровых изображений, как в MNIST, это может быть избыточным шагом. Главной задачей остается определение того, как различные представления данных влияют на качество и интерпретируемость модели.
Подводя итог, чтобы оценить модель с категориальными переменными в контексте вашего конкретного случая, ключевым шагом будет преобразование предсказаний обратно в числовую форму, чтобы вы могли использовать все преимущества традиционных метрик оценки.