Apa metode / implementasi yang tersedia dalam R / Python untuk membuang / memilih fitur yang tidak penting / penting dalam data? Data saya tidak memiliki label (tidak diawasi).
Data memiliki ~ 100 fitur dengan tipe campuran. Beberapa numerik sedangkan yang lainnya biner (0/1).
r
feature-selection
python
pelajar
sumber
sumber
Jawaban:
Ini berumur satu tahun tetapi saya masih merasa itu relevan, jadi saya hanya ingin membagikan implementasi python saya dari Principal Feature Analysis (PFA) seperti yang diusulkan dalam makalah yang terkait dengan Charles dalam jawabannya.
Anda bisa menggunakannya seperti ini:
Ini benar-benar mengikuti algoritma yang dijelaskan dari artikel. Saya pikir metode ini menjanjikan, tapi jujur saya tidak berpikir itu pendekatan yang paling kuat untuk pemilihan fitur yang tidak diawasi. Saya akan memposting pembaruan jika saya menemukan sesuatu yang lebih baik.
sumber
fit
fungsi Anda melompati Langkah 1, dan melakukan PCA pada dataset asli .The SPARCL paket di R Melakukan jarang hirarkis dan jarang K-berarti clustering. Ini mungkin bermanfaat. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2930825/
sumber
Analisis Fitur Utama tampaknya menjadi solusi untuk pemilihan fitur yang tidak diawasi. Ini dijelaskan dalam makalah ini .
sumber
Saya telah menemukan sebuah tautan yang dapat berguna, itu adalah implementasi matlab, mereka dapat bekerja untuk Anda http://www.cad.zju.edu.cn/home/dengcai/Data/MCFS.html itu adalah pilihan fitur multicluster metode, Anda dapat menemukan dasar yang kuat tentang hal itu di makalah baru-baru ini. Beri tahu saya jika itu berhasil untuk Anda
sumber
Ada banyak opsi yang tersedia di
R
. Tempat yang bagus untuk melihat adalahcaret
paket yang menyediakan antarmuka yang bagus untuk banyak paket dan opsi lainnya. Anda dapat melihat situs webnya di sini . Ada banyak pilihan di luar sana, tetapi saya akan mengilustrasikannya.Berikut ini adalah contoh penggunaan filter sederhana menggunakan
R
dataset "mtcars" bawaan (ditunjukkan di bawah).Sekarang beberapa pengaturan kode (memuat paket, dll.):
Dan kita dapat menyesuaikan model sederhana untuk memilih variabel:
Melihat hasilnya, kita mendapatkan:
Akhirnya kita bisa plot variabel yang dipilih (dalam
fit1$optVariables
) terhadap hasil,mpg
:Menghasilkan grafik ini:
sumber
mpg
sebagai hasil. Apakah ada cara untuk menggunakan metode seperti ini dalam model yang tidak diawasi?The
nsprcomp
paket R menyediakan metode untuk jarang Principal Component Analysis, yang bisa sesuai dengan kebutuhan Anda.Misalnya, jika Anda yakin fitur Anda secara umum berkorelasi linier, dan ingin memilih lima teratas, Anda dapat menjalankan PCA yang jarang dengan maksimal lima fitur, dan membatasi ke komponen utama pertama:
Atau, jika Anda ingin menangkap fitur ortogonal dari fitur, Anda dapat memilih fitur teratas dari masing-masing dari lima PC teratas, membatasi setiap PC ke satu fitur:
Sebuah ansambel ini bisa bermanfaat juga; yaitu, fitur yang secara konsisten mencapai puncak di seluruh metode yang berbeda cenderung menjelaskan sejumlah besar variasi dalam ruang fitur. Setelah bermain-main dengan
nsprcomp
sedikit, sepertinya dua metode pertama menaikkan ~ 1/2 dari fitur yang sama ke atas. Yang mengatakan, mengoptimalkan proses ini mungkin merupakan upaya empiris.sumber