У меня есть набор данных, содержащий 1000 функций, я хочу выполнить выбор функции с помощью модуля RFECV в sklearn с ключевыми параметрами ниже:
- линейное ядро SVM
- step = 1
- 10 кратное резюме.
Когда я впервые установил RFECV, он возвращает мне лучшие характеристики - около 30.
Затем я использовал базу данных для этих 30 функций и снова выполнил RFECV, на этот раз я получил результат, что 20 функций являются лучшими.
Так что мне трудно понять, что:
- Если лучшее число может быть 20, то почему в первый раз я установил RFECV, я получил лучшее число 30 вместо 20?
Я его прогуглил, но, похоже, никто не выполняет RFECV несколько раз. Спасибо за вашу помощь.
Код, который я использовал для RFECV
svm=SVC(kernel="linear",C=1)
rfecv = RFECV(estimator=svm, step=1, cv=10, scoring="accuracy", verbose=True)
rfecv.fit(features,label)
print("The best num of features: %d" % rfecv.n_features_)