Вот мой код для выбора метода в Python:
from sklearn.svm import LinearSVC
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
X.shape
(150, 4)
X_new = LinearSVC(C=0.01, penalty="l1", dual=False).fit_transform(X, y)
X_new.shape
(150, 3)
Но после получения нового X (зависимая переменная - X_new), как узнать, какие переменные удалены и какие переменные рассматриваются в этой новой обновленной переменной? (какой из них удален или какие три присутствуют в данных.)
Причиной получения этой идентификации является применение такой же фильтрации к новым тестовым данным.
feature-selection
python
scikit-learn
Виньеш Праджапати
источник
источник
iris.feature_names
feature_names
вiris
переменной? Он отлично работает для меня.В качестве альтернативы, если вы используете SelectFromModel для выбора функции после подгонки вашего SVC, вы можете использовать метод экземпляра
get_support
. Это возвращает логический массив, отображающий выбор каждого объекта. Затем соедините его с исходным массивом имен объектов, а затем отфильтруйте по логическим состояниям, чтобы получить набор имен соответствующих выбранных объектов.Надеюсь, что это поможет будущим читателям, которые также изо всех сил пытались найти лучший способ получить соответствующие названия функций после выбора функций.
Пример:
источник
Основываясь на решении @chinnychinchin, я обычно делаю:
который возвращает что-то вроде:
источник