Сообщение об ошибке говорит вам, что не так: ни одна из 10 функций не удовлетворяет требованию к отклонениям. Следовательно, для подгонки ваших данных не осталось никаких функций.
Поскольку вы забыли включить фактический пример, мы не можем многое сделать для дальнейшей диагностики или ремонта.
Да, вы можете получить пустой результат, но вы должны поймать исключение, которое, по-видимому, не задокументировано напрямую. Если вы выдаете VarianceThreshold
проблему без решения - в том, что ни одна особенность не оказывает требуемого threshold
влияния на метки, - тогда она выдает ValueError
полученное вами исключение.
Вы преобразуете это как и любая другая подобная проблема, с обработчиком исключений:
from sklearn.feature_selection import VarianceThreshold
try:
sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
sel.fit(X)
except ValueError:
print("No feature is strong enough to keep")
sel = []
Решает ли это вашу проблему? Я нашел два примера, которые были похоронены в функциях; в этих случаях обработчик исключений функции просто использовал return 0
для любого исключения.