Точность против F-меры
Прежде всего, когда вы используете метрику, вы должны знать, как ее использовать. Точность измеряет соотношение правильно классифицированных экземпляров по всем классам. Это означает, что если один класс встречается чаще, чем другой, то в результирующей точности явно преобладает точность доминирующего класса. В вашем случае, если построить Модель M, которая просто предсказывает «нейтральный» для каждого случая, результирующая точность будет
а с с =n e u t r a l( П е у т т л + р о с я т я v е + н е га т и в е )= 0,9188
Хорошо, но бесполезно.
Таким образом, добавление функций явно улучшило способность NB дифференцировать классы, но предсказывая «положительный» и «отрицательный», мы неправильно классифицируем нейтральные значения, и, следовательно, точность снижается (грубо говоря). Это поведение не зависит от NB.
Больше или меньше возможностей?
В общем, лучше использовать не больше функций, а правильные функции. Чем больше функций, тем лучше, поскольку алгоритм выбора функций имеет больше возможностей для поиска оптимального подмножества (я предлагаю изучить: выбор функций перекрестной проверки ). Когда дело доходит до NB, быстрый и надежный (но не оптимальный) подход заключается в использовании InformationGain (Ratio) для сортировки объектов в порядке убывания и выбора верхнего k.
Опять же, этот совет (кроме InformationGain) не зависит от алгоритма классификации.
РЕДАКТИРОВАТЬ 27.11.11
Было много путаницы в отношении смещения и дисперсии, чтобы выбрать правильное количество функций. Поэтому я рекомендую прочитать первые страницы этого урока: компромисс Bias-Variance . Ключевая сущность:
- Высокий уклон означает, что модель меньше оптимальной, т. Е. Погрешность теста высока (недостаточное соответствие, как выразилась Симона)
- Высокая дисперсия означает, что модель очень чувствительна к образцу, используемому для построения модели . Это означает, что ошибка в значительной степени зависит от используемого обучающего набора, и, следовательно, дисперсия ошибки (оцениваемая по различным сгибам перекрестной проверки) будет чрезвычайно отличаться. (переобучения)
Графики обучения, нанесенные на график, действительно указывают на смещение, так как на графике изображена ошибка. Однако то, что вы не видите это дисперсию, так как доверительный интервал ошибки не отображается вообще.
Пример: при выполнении трехкратной перекрестной проверки 6 раз (да, рекомендуется повторение с различным разделением данных, Кохави предлагает 6 повторений), вы получаете 18 значений. Я бы сейчас ожидал, что ...
- При небольшом количестве признаков средняя ошибка (смещение) будет ниже, однако дисперсия ошибки (из 18 значений) будет выше.
- при большом количестве признаков средняя ошибка (смещение) будет выше, но дисперсия ошибки (из 18 значений) ниже.
Такое поведение ошибки / смещения именно то, что мы видим на ваших графиках. Мы не можем сделать заявление о дисперсии. То, что кривые расположены близко друг к другу, может указывать на то, что набор тестов достаточно большой, чтобы показать те же характеристики, что и тренировочный набор, и, следовательно, что измеренная ошибка может быть надежной, но это так (по крайней мере, насколько я понял это) недостаточно сделать заявление о дисперсии (об ошибке!).
Добавляя все больше и больше обучающих примеров (сохраняя размер набора тестов фиксированным), я ожидаю, что дисперсия обоих подходов (небольшое и большое количество функций) уменьшится.
Да, и не забудьте рассчитать информационную базу для выбора функции, используя только данные из обучающей выборки! Можно использовать полные данные для выбора признаков, а затем выполнить разбиение данных и применить перекрестную проверку, но это приведет к переобучению. Я не знаю, что вы сделали, это просто предупреждение, которое никогда не следует забывать.