#python #tensorflow #keras #classification
#python #тензорный поток #keras #классификация
Вопрос:
Я работаю над проблемой, используя DNN. Есть 2 входные переменные (обе категориальные) и 1 целевая переменная (двоичная). Точность тестовых данных составляет 99,95%. Я выполнил перекрестную проверку (10 раз), и точность составляет 99,96 ( — 0,05).
В моих результатах я вижу как точность, так и отзыв 1.0. Я прикрепил изображение матрицы путаницы и отчета о классификации здесь.
Q1. Нормально ли такое поведение?
Q2. когда я снова запускаю ту же модель с теми же параметрами, я каждый раз получаю разную матрицу путаницы, однако точность всегда близка к 99.
Комментарии:
1. Я не уверен, в чем именно заключается ваш вопрос. Если ваша программа верна, результаты должны быть верными. Ваши матрицы путаницы не совсем идеальны, но они достаточно близки, чтобы показатели становились единым целым при печати с двухзначной точностью. Нормально, что результаты меняются при каждом запуске, поскольку, если вы не исправите случайное начальное значение, инициализация веса и порядок обучения, как правило, будут отличаться.
Ответ №1:
Во-первых, у вас нет точности и отзыва в чистом виде 1,00; это всего лишь сообщенная цифра, которая округлена до двух знаков после запятой. Как вы уже заявили, точность вашего теста и точность перекрестной проверки значительно превышают 99,5%, пороговое значение для округления до 1,00. Вы получите это каждый раз, когда частота ошибок в вашем эксперименте будет ниже одной части в 2000 году.
Возникает вопрос о том, разумно ли для обученной модели иметь такую высокую точность: да, это так. Потенциальная точность зависит от возможности разделения информации в наборе данных: возможно ли вообще выделить разделяемое пространство для заданных данных? Поскольку выходные данные являются (детерминированной) функцией входных данных, ваша модель может достигать 100% точности. У вас просто есть набор данных, в котором это (почти) возможно.
Это понятно?
Комментарии:
1. Спасибо за объяснение. Но как насчет переменной матрицы путаницы. Матрицы путаницы меняются каждый раз, когда я запускаю модель, иногда количество FN велико, а иногда и FT велико. это потому, что я каждый раз перетасовываю набор данных перед запуском модели?
2. Да, цифры меняются, потому что вы используете другие данные. Простое представление одних и тех же наблюдений в другом порядке изменит процесс обучения. Другая инициализация модели изменит процесс обучения.