Пошук оптимального набору функцій може бути досить обчислювально дорогим. Основні категорії доступних рішень можна згрупувати у два набори: або прив’язати до конкретного класифікатора (обгортки), або просте ранжування ознак на основі якогось критерію (методи фільтрації).
Виходячи з ваших вимог (швидкий / непараметричний / нелінійний), ймовірно, вам потрібні кандидати з методів Filter. Прикладів, описаних у літературі, є досить багато . Наприклад, інформаційний приріст - який оцінює значення атрибуту, вимірюючи приріст інформації стосовно класу; або Кореляція, яка оцінює значення атрибута на основі співвідношення між атрибутом і класом.
Методи обгортки прив'язуються до класифікатора і можуть закінчуватись кращим набором функцій для цікавого класифікатора. В силу свого характеру (повне тренування / тестування в кожній ітерації) вони не можуть вважатися швидкими або непараметричними, однак вони можуть мати справу з нелінійними співвідношеннями ознак (ваша третя вимога). Прикладом може бути рекурсивне усунення функцій, яке базується на SVM, таким чином, націлене на максимальне збільшення запасу між класами та може мати справу з нелінійними відношеннями функцій (використовуючи нелінійне ядро).