Я использую RBF-ядро libsvm для задачи классификации. Мой набор данных содержит около 700 векторов, довольно несбалансированный, примерно на 20% положительный: 80% отрицательный.
Я использую несколько алгоритмов оценки характеристик, таких как boruta или fselect.py из libsvm, для построения списка оценки ранжированных объектов, затем выберитенекоторые основные функции из этого списка.
Я использую 10-кратное резюме (примерно 20 раз) для SVM-параметров поиска C & G. Ошибка, оцененная по значению площади под кривой (AUC) для кривой ROC.
Проблема заключается в том, что, когда я беру больше функций, значение AUC становится достаточно высоким (чем больше функций, тем больше значение AUC, больше чем0.95), но в какой-то момент ошибка теста увеличилась, т. Е. Она перегружена большим количеством функций!
Оптимальное количество функций находится где-то посередине (в моем случае около 30).
Увеличениеколичество повторений или сгибов в CV не очень помогает
Как этого избежать? Я ожидаю, что правильно реализованное резюме всегда дает хорошие результаты регуляризации относительно количества функций, т. Е. Оно должно давать небольшие значения AUC с большим количеством функций.