Ini kode saya untuk metode pemilihan fitur dengan 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)
Tetapi setelah mendapatkan X baru (variabel dependen - X_new), Bagaimana saya tahu variabel mana yang dihapus dan variabel mana yang dipertimbangkan dalam variabel baru yang diperbarui ini? (yang satu dihapus atau yang tiga hadir dalam data.)
Alasan mendapatkan identifikasi ini adalah untuk menerapkan pemfilteran yang sama pada data uji baru.
feature-selection
python
scikit-learn
Vignesh Prajapati
sumber
sumber
iris.feature_names
feature_names
dalamiris
variabel? Ini bekerja dengan baik untuk saya.Atau, jika Anda menggunakan SelectFromModel untuk pemilihan fitur setelah menyesuaikan SVC Anda, Anda dapat menggunakan metode instance
get_support
. Ini mengembalikan array boolean memetakan pemilihan setiap fitur. Selanjutnya gabungkan ini dengan array nama fitur asli, dan kemudian filter pada status boolean untuk menghasilkan set nama fitur yang dipilih yang relevan.Semoga ini membantu pembaca masa depan yang juga berjuang untuk menemukan cara terbaik untuk mendapatkan nama fitur yang relevan setelah pemilihan fitur.
Contoh:
sumber
Berdasarkan solusi @chinnychinchin, saya biasanya melakukan:
yang mengembalikan sesuatu seperti:
sumber