Метафильтрованный классификатор и вручную отфильтрованные классификаторы дают разные результаты - PullRequest
3 голосов
/ 16 декабря 2011

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

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

Спасибо

edit: Вот часть вывода 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 Ответ

2 голосов
/ 17 декабря 2011

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

...