Я новичок в weka, и у меня есть проблема с моим проектом классификации, использующим его.Большая разница в точности между перекрестной проверкой и тестированием с помощью тестового набора в weka? это нормально?
У меня есть набор данных поезда с 1000 экземплярами и один из 200 для тестирования. Проблема в том, что когда я пытаюсь проверить производительность некоторых алгоритмов (например, randomforest), число, заданное перекрестной проверкой и набором тестов, действительно отличается.
Вот пример с перекрестной проверкой
=== Run information ===
Scheme:weka.classifiers.trees.RandomForest -I 100 -K 0 -S 1
Relation: testData-weka.filters.unsupervised.attribute.StringToWordVector-R1-W10000000-prune-rate-1.0-T-I-N0-L-stemmerweka.core.stemmers.IteratedLovinsStemmer-M1-O-tokenizerweka.core.tokenizers.WordTokenizer -delimiters " \r\n\t.,;:\"\'()?!--+-í+*&#$\\/=<>[]_`@"-weka.filters.supervised.attribute.AttributeSelection-Eweka.attributeSelection.InfoGainAttributeEval-Sweka.attributeSelection.Ranker -T 0.0 -N -1
Instances: 1000
Attributes: 276
[list of attributes omitted]
Test mode:10-fold cross-validation
=== Classifier model (full training set) ===
Random forest of 100 trees, each constructed while considering 9 random features.
Out of bag error: 0.269
Time taken to build model: 4.9 seconds
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances 740 74 %
Incorrectly Classified Instances 260 26 %
Kappa statistic 0.5674
Mean absolute error 0.2554
Root mean squared error 0.3552
Relative absolute error 60.623 %
Root relative squared error 77.4053 %
Total Number of Instances 1000
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.479 0.083 0.723 0.479 0.576 0.795 I
0.941 0.352 0.707 0.941 0.808 0.894 E
0.673 0.023 0.889 0.673 0.766 0.964 R
Weighted Avg. 0.74 0.198 0.751 0.74 0.727 0.878
=== Confusion Matrix ===
a b c <-- classified as
149 148 14 | a = I
24 447 4 | b = E
33 37 144 | c = R
72,5%, это что-то ...
Но теперь, если я пытаюсь с моим тестовым набором 200 экземпляров ...
=== Run information ===
Scheme:weka.classifiers.trees.RandomForest -I 100 -K 0 -S 1
Relation: testData-weka.filters.unsupervised.attribute.StringToWordVector-R1-W10000000-prune-rate-1.0-T-I-N0-L-stemmerweka.core.stemmers.IteratedLovinsStemmer-M1-O-tokenizerweka.core.tokenizers.WordTokenizer -delimiters " \r\n\t.,;:\"\'()?!--+-í+*&#$\\/=<>[]_`@"-weka.filters.supervised.attribute.AttributeSelection-Eweka.attributeSelection.InfoGainAttributeEval-Sweka.attributeSelection.Ranker -T 0.0 -N -1
Instances: 1000
Attributes: 276
[list of attributes omitted]
Test mode:user supplied test set: size unknown (reading incrementally)
=== Classifier model (full training set) ===
Random forest of 100 trees, each constructed while considering 9 random features.
Out of bag error: 0.269
Time taken to build model: 4.72 seconds
=== Evaluation on test set ===
=== Summary ===
Correctly Classified Instances 86 43 %
Incorrectly Classified Instances 114 57 %
Kappa statistic 0.2061
Mean absolute error 0.3829
Root mean squared error 0.4868
Relative absolute error 84.8628 %
Root relative squared error 99.2642 %
Total Number of Instances 200
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.17 0.071 0.652 0.17 0.27 0.596 I
0.941 0.711 0.312 0.941 0.468 0.796 E
0.377 0 1 0.377 0.548 0.958 R
Weighted Avg. 0.43 0.213 0.671 0.43 0.405 0.758
=== Confusion Matrix ===
a b c <-- classified as
15 73 0 | a = I
3 48 0 | b = E
5 33 23 | c = R
43% ... очевидно, что-то на самом деле не так, я использовал пакет фильтрации с помощью теста набор
Что я делаю неправильно? Я вручную классифицировал тест и набор поездов, используя те же критерии, поэтому я нахожу странным, что различия.
Я думаю, что я получил концепцию за резюме, но, возможно, я ошибаюсь.
Благодаря
Какая ваша обучающая ошибка? –
извините, но ... как я могу узнать ошибку обучения с weka (gui)? – Thal
Выберите * use training set * option –