Вопрос новичка по исследованию образцов в Weka - PullRequest
1 голос
/ 16 сентября 2010

Я только что использовал Weka для обучения моего классификатора SVM под тегом "Классифицировать". Теперь я хочу дополнительно изучить, какие образцы данных неправильно классифицированы, мне нужно изучить их структуру, но я не знаю, где это можно посмотреть с помощью Weka. Может ли кто-нибудь помочь мне, пожалуйста? Заранее спасибо.

1 Ответ

3 голосов
/ 16 сентября 2010

Вы можете включить опцию из:

alt text

Вы получите следующие прогнозы экземпляра:

=== Predictions on test split ===

 inst#     actual   predicted  error prediction
   1   2:Iris-ver  2:Iris-ver         0.667 
  ...
  16   3:Iris-vir  2:Iris-ver   +     0.667 

EDIT

Как я объяснил в комментариях, вы можете использовать фильтр StratifiedRemoveFolds , чтобы вручную разбить данные и создать 10-кратную перекрестную проверку.

Этот Учебник для начинающих из вики Weka содержит несколько примеров того, как вызывать Weka из командной строки. Вот пример сценария bash:

#!/bin/bash

# I assume weka.jar is on the CLASSPATH

# 10-folds CV
for f in $(seq 1 10); do
    echo -n "."

    # create train/test set for fold=f
    java weka.filters.supervised.instance.StratifiedRemoveFolds -i iris.arff \
        -o iris-f$f-train.arff -c last -N 10 -F $f -V
    java weka.filters.supervised.instance.StratifiedRemoveFolds -i iris.arff \
        -o iris-f$f-test.arff -c last -N 10 -F $f

    # classify using SVM and store predictions of test set
    java weka.classifiers.functions.SMO -C 1.0 \
        -K "weka.classifiers.functions.supportVector.RBFKernel -G 0.01" \
        -t iris-f$f-train.arff -T iris-f$f-test.arff \
        -p 0 > f$f-pred.txt
        #-i > f$f-perf.txt
done
echo

Для каждого сгиба будут созданы два набора данных (поезд / тест), а также сохранены прогнозы в текстовом файле. Таким образом, вы можете сопоставить каждый индекс с фактическим экземпляром в наборе тестов.

Конечно, то же самое можно сделать в графическом интерфейсе, если вы предпочитаете (только немного более утомительно!)

...