Метафильтрованный классификатор и вручную отфильтрованные классификаторы дают разные результаты

Я получаю противоречивые результаты с двумя методами, которые, по моему мнению, должны давать одинаковый результат. Может ли кто-то указать, в чем различия, потому что я не могу обдумать это:S

Я работаю над Drexel_Stats.arff. Я использую 1-NN классификатор с 10-кратной перекрестной проверкой. Без какой-либо предварительной обработки это матрица путаницы, которую я получаю:

  a  b   <-- classified as
 14  3 |  a = Win
  5  1 |  b = Loss

Чтобы получить лучшие результаты, я использовал:

 weka.attributeSelection.InfoGainAttributeEval
 weka.attributeSelection.Ranker -T -1.0 -N 5

чтобы получить 5 самых отличительных особенностей набора данных. Затем я вручную избавился от всех других функций и перезапустил свой 1-NN, и я получил следующие результаты:

  a  b   <-- classified as
 16  1 |  a = Win
  1  5 |  b = Loss

Вот где это сбивает с толку (по крайней мере, мне). Я попытался использовать метафильтрованный классификатор, чтобы избавить от необходимости вручную отбрасывать функции. Вот что я использовал (скопировано из GUI):

 weka.classifiers.meta.FilteredClassifier
-F "weka.filters.supervised.attribute.AttributeSelection
-E \"weka.attributeSelection.InfoGainAttributeEval \"
-S \"weka.attributeSelection.Ranker -T -1.0 -N 5\""
-W weka.classifiers.lazy.IB1 -D

Я понимаю, что это автоматизация предыдущей операции, но на самом деле результаты, которые я получаю в этот раз, разные:

  a  b   <-- classified as
 15  2 |  a = Win
  4  2 |  b = Loss

Что я не так понял?

Спасибо

редактировать: вот часть вывода WEKA:

    === Attribute Selection on all input data ===

Search Method:
    Attribute ranking.

Attribute Evaluator (supervised, Class (nominal): 39 Outcome):
    Information Gain Ranking Filter

Ranked attributes:
 0.828    1 Opponent
 0.469   38 Opp_Steals
 0.42    24 Opp_Field_Goal_Pct
 0.331   15 Def_Rebounds
 0.306   28 Opp_Free_Throws_Made

Selected attributes: 1,38,24,15,28 : 5


Header of reduced data:
@relation 'Basketball_Statistics-weka.filters.unsupervised.attribute.Remove-V-R1,38,24,15,28,39'

@attribute Opponent {Florida_Gulf_Coast,Vermont,Penn,Rider,Toledo,Saint_Joseph,Fairleigh_Dickinson,Villanova,Syracuse,Temple,George_Mason,Georgia_State,UNC_Wilmington,James_Madison,Hofstra,Old_Dominion,Northeastern,Delaware,VCU,Towson}
@attribute Opp_Steals numeric
@attribute Opp_Field_Goal_Pct numeric
@attribute Def_Rebounds numeric
@attribute Opp_Free_Throws_Made numeric
@attribute Outcome {Win,Loss}

@data

Являются ли эти одинаковые признаки выбранными в каждом из этапов перекрестной проверки? Можно ли выбирать разные функции в зависимости от разделения экземпляров?

1 ответ

Решение

Ваш первый ("глобальный") выбор объектов использовал все точки данных, включая все метки, т.е. у него был доступ к информации о классе, к которой у вас не было бы доступа во время перекрестной проверки. Поэтому ваш первый подход ошибочен, что приводит к слишком хорошей оценке ошибок. Ваш второй подход правильный. Он работает хуже, потому что он, скорее всего, не выбирает те же пять функций для каждого из десяти прогонов во время перекрестной проверки. Бернхард

Другие вопросы по тегам