Pemilihan fitur vs ekstraksi fitur. Yang harus digunakan kapan?

16

Ekstraksi fitur dan pemilihan fitur pada dasarnya mengurangi dimensi data, tetapi ekstraksi fitur juga membuat data lebih dapat dipisahkan, jika saya benar.

Teknik mana yang lebih disukai daripada yang lain dan kapan?

Saya berpikir, karena pemilihan fitur tidak mengubah data asli dan sifat-sifatnya, saya berasumsi bahwa Anda akan menggunakan pemilihan fitur ketika penting bahwa fitur yang Anda latih tidak berubah. Tapi saya tidak bisa membayangkan mengapa Anda menginginkan sesuatu seperti ini ..

Sid
sumber

Jawaban:

18

Menambahkan ke Jawaban yang diberikan oleh Toros,

Ketiga (lihat di bawah ini peluru) tiga sangat mirip tetapi dengan perbedaan halus - :( ringkas dan mudah diingat)

  • ekstraksi fitur dan rekayasa fitur : transformasi data mentah menjadi fitur yang cocok untuk pemodelan;

  • transformasi fitur : transformasi data untuk meningkatkan akurasi algoritma;

  • pemilihan fitur : menghapus fitur yang tidak perlu.

Hanya untuk menambahkan Contoh yang sama,

Ekstraksi dan Rekayasa Fitur (kami dapat mengekstraksi sesuatu dari mereka)

  • Teks (ngram, word2vec, tf-idf dll)
  • Gambar (CNN'S, teks, q & a)
  • Data geospasial (lat, panjang dll)
  • Tanggal dan waktu (hari, bulan, minggu, tahun, berbasis bergulir)
  • Rangkaian waktu, web, dll
  • Teknik Pengurangan Dimensi (PCA, SVD, Eigen-Faces dll)
  • Mungkin kita bisa menggunakan Clustering juga (DBSCAN dll)
  • .....(Dan banyak lagi)

Transformasi fitur (mengubahnya menjadi masuk akal)

  • Normalisasi dan distribusi berubah (Penskalaan)
  • Interaksi
  • Mengisi nilai-nilai yang hilang (pengisian median dll)
  • .....(Dan banyak lagi)

Pemilihan fitur (membangun model Anda pada fitur yang dipilih ini)

  • Pendekatan statistik
  • Seleksi dengan pemodelan
  • Pencarian kotak
  • Validasi silang
  • .....(Dan banyak lagi)

Semoga ini membantu...

Lihat tautan yang dibagikan oleh orang lain. Mereka Cukup Bagus ...

Aditya
sumber
cara yang bagus untuk menjawab +1 untuk itu.
Toros91
Kudos kepada komunitas ini .. Belajar banyak dari itu ..
Aditya
1
Benar pria itu, saya sudah menjadi anggota sejak Oktober 2017. Saya telah belajar banyak hal. Semoga sama untuk Anda juga. Saya sudah membaca jawaban Anda, mereka baik. BBW maaf untuk hal yang telah Anda lalui pada SO. Saya tidak bisa melihat semuanya tetapi ketika Neil Slater berkata baik bahwa Anda tetap tenang sampai akhir. Teruskan! Kami masih memiliki jalan panjang. :)
Toros91
Apa urutan di mana ini harus diproses? Selain pembersihan data dan pemisahan data. Yang mana dari 5 adalah langkah pertama?
technazi
Pemisahan data dilakukan di bagian paling akhir ketika Anda memastikan bahwa data siap dikirim untuk Pemodelan ... Dan juga tidak ada pemesanan untuk hal-hal yang disebutkan di atas karena mereka tumpang tindih beberapa kali (ekstraksi fitur, rekayasa fitur, Transformasi fitur.) Tetapi Pemilihan Fitur pasti dilakukan setelah membagi data ke dalam kereta sebagai validasi asalkan Anda menggunakan metrik model Anda atau sesuatu yang setara pada dataset validasi (untuk mengukur kinerjanya) untuk Validasi Silang atau sesuatu yang setara, Anda dapat memulai secara iteratif menjatuhkan kolom dan melihat imp colsorimp
Aditya
5

Seperti yang dikatakan Aditya, ada 3 istilah terkait fitur yang terkadang membingungkan satu sama lain. Saya akan mencoba dan memberikan penjelasan ringkasan kepada mereka masing-masing:

  • Ekstraksi fitur: Pembuatan fitur dari data yang dalam format yang sulit dianalisis secara langsung / tidak dapat dibandingkan secara langsung (misalnya gambar, rangkaian waktu, dll.) Dalam contoh rangkaian waktu, beberapa fitur sederhana dapat digunakan untuk contoh: panjang deret waktu, periode, nilai rata-rata, std, dll.
  • Transformasi fitur: Transformasi fitur yang ada untuk membuat yang baru berdasarkan yang lama. Teknik yang sangat populer digunakan untuk pengurangan dimensi adalah Principal Component Analysis (pca) yang menggunakan beberapa transformasi ortogonal untuk menghasilkan seperangkat variabel yang tidak berkorelasi linier berdasarkan set variabel awal.
  • Pemilihan fitur: Pemilihan fitur dengan "kepentingan" / pengaruh tertinggi pada variabel target, dari serangkaian fitur yang ada. Ini dapat dilakukan dengan berbagai teknik: misalnya Regresi Linier, Pohon Keputusan, perhitungan bobot "penting" (misalnya skor Fisher, ReliefF)

Jika satu-satunya hal yang ingin Anda capai adalah pengurangan dimensi dalam dataset yang ada, Anda dapat menggunakan transformasi fitur atau metode pemilihan fitur. Tetapi jika Anda perlu mengetahui interpretasi fisik dari fitur yang Anda identifikasi sebagai "penting" atau Anda mencoba membatasi jumlah data yang perlu dikumpulkan untuk analisis Anda (Anda memerlukan semua set fitur awal untuk transformasi fitur), maka hanya pemilihan fitur yang dapat bekerja.

Anda dapat menemukan detail lebih lanjut tentang Pemilihan Fitur dan Pengurangan Dimensi pada tautan berikut:

missrg
sumber
4

Saya pikir mereka adalah 2 hal yang berbeda,

Mari kita mulai dengan Pemilihan Fitur :

Teknik ini digunakan untuk memilih fitur yang menjelaskan sebagian besar variabel target (memiliki korelasi dengan variabel target). Tes ini dijalankan tepat sebelum model diterapkan pada data.

Untuk menjelaskannya dengan lebih baik, mari kita ambil contoh: ada 10 fitur dan 1 variabel target, 9 fitur menjelaskan 90% dari variabel target dan 10 fitur bersama-sama menjelaskan 91% dari variabel target. Jadi variabel 1 tidak membuat banyak perbedaan sehingga Anda cenderung untuk menghapus itu sebelum pemodelan (Ini subjektif untuk bisnis juga). Saya juga bisa disebut sebagai Predictor Pentingnya.

Sekarang mari kita bicara tentang Ekstraksi Fitur ,

Yang digunakan dalam Unsupervised Learning, ekstraksi kontur dalam gambar, ekstraksi Bi-gram dari teks, ekstraksi fonem dari rekaman teks yang diucapkan. Ketika Anda tidak tahu apa-apa tentang data seperti tidak ada kamus data, terlalu banyak fitur yang berarti data tidak dalam format yang dapat dimengerti. Kemudian Anda mencoba menerapkan teknik ini untuk mendapatkan beberapa fitur yang menjelaskan sebagian besar data. Ekstraksi fitur melibatkan transformasi fitur, yang sering kali tidak dapat dibalik karena beberapa informasi hilang dalam proses pengurangan dimensi.

Anda dapat menerapkan Ekstraksi Fitur pada data yang diberikan untuk mengekstrak fitur dan kemudian menerapkan Pemilihan Fitur sehubungan dengan Variabel Target untuk memilih subset yang dapat membantu dalam membuat model yang baik dengan hasil yang baik.

Anda dapat melihat Link-1 ini , Link-2 untuk pemahaman yang lebih baik.

kita dapat mengimplementasikannya dalam R, Python, SPSS.

beri tahu saya jika perlu klarifikasi lagi.

Toros91
sumber
3

Keduanya sangat berbeda: Pemilihan Fitur memang mengurangi dimensi, tetapi ekstraksi fitur menambah dimensi yang dihitung dari fitur lain.

Untuk data panel atau time series, seseorang biasanya memiliki variabel datetime, dan seseorang tidak ingin melatih variabel dependen pada tanggal itu sendiri karena mereka tidak terjadi di masa depan. Jadi, Anda harus menghilangkan datetime: penghapusan fitur.

Di sisi lain, hari kerja / akhir pekan mungkin sangat relevan, jadi kita perlu menghitung status hari kerja dari datetime: ekstraksi fitur.

vinnief
sumber
0

Bagian penting dari keberhasilan proyek Pembelajaran Mesin datang dengan serangkaian fitur yang bagus untuk dilatih. Proses ini, yang disebut rekayasa fitur, melibatkan:

• Pemilihan fitur: memilih fitur yang paling berguna untuk dilatih di antara fitur yang ada.
• Ekstraksi fitur: menggabungkan fitur yang ada untuk menghasilkan yang lebih berguna (seperti yang kita lihat sebelumnya, algoritma pengurangan dimensi dapat membantu).
• Membuat fitur baru dengan mengumpulkan data baru

Mengutip: "A Hands on Machine Learning dengan SciKit-Learn, Keras & Tensorflow - Aurelien Geron"

Aditya
sumber