Цель RFECV
состоит в том, чтобы выбрать оптимальное количество функций, чтобы выполнить перекрестную проверку по количеству выбранных функций.
В вашем случае он выбран, чтобы сохранить 5 функций.
Затем модель переоборудуется на весь набор данных, пока не останется только 5 функций.
Они не удалены, поэтому они не ранжируются в RFE.
Вы можете получить рейтинг для всех функций, просто запустив RFE
from sklearn.datasets import make_friedman1
from sklearn.feature_selection import RFE
from sklearn.svm import SVR
X, y = make_friedman1(n_samples=50, n_features=10, random_state=0)
estimator = SVR(kernel="linear")
selector = RFE(estimator, step=1, n_features_to_select=1)
selector = selector.fit(X, y)
selector.ranking_
массив ([4, 3, 5, 1, 2, 10, 8, 7, 6, 9])
Вы можете спросить себя, почему ранжирование из перекрестной проверки не сохраняется, что вычисляет ранжирование для всех функций. Однако для каждого разделения в перекрестной проверке функции могли быть ранжированы по-разному.
Таким образом, RFECV может вернуть 5 разных рейтингов, и вы можете сравнить их. Это не интерфейс, хотя (но это также легко сделать с помощью RFE и сделать резюме самостоятельно).
С другой стороны, это может быть не лучшим способом для вычисления влияния признаков и непосредственного рассмотрения коэффициентов, или, возможно, важность перестановки может быть более информативной.