Apakah ada alat untuk rekayasa fitur?

29

Khususnya apa yang saya cari adalah alat dengan beberapa fungsi, yang khusus untuk rekayasa fitur. Saya ingin dapat dengan mudah menghaluskan, memvisualisasikan, mengisi celah, dll. Sesuatu yang mirip dengan MS Excel, tetapi yang memiliki R sebagai bahasa yang mendasari bukannya VB.

John
sumber

Jawaban:

21

Pertanyaan yang sangat menarik (+1). Meskipun saya tidak mengetahui adanya alat perangkat lunak yang saat ini menawarkan fungsionalitas komprehensif untuk rekayasa fitur , pasti ada berbagai pilihan dalam hal itu. Saat ini, sejauh yang saya tahu, rekayasa fitur sebagian besar masih merupakan proses yang melelahkan dan manual (yaitu, lihat posting blog ini ). Berbicara tentang domain subjek rekayasa fitur, artikel yang sangat bagus ini oleh Jason Brownlee memberikan tinjauan yang agak komprehensif tentang topik tersebut.

Ben Lorica, Kepala Ilmuwan Data dan Direktur Strategi Konten untuk Data di O'Reilly Media Inc., telah menulis artikel yang sangat bagus , menggambarkan pendekatan, metode, alat, dan startup canggih (pada Juni 2014) bidang otomatisasi (atau, seperti yang ia katakan, perampingan ) rekayasa fitur.

Saya melihat sekilas beberapa startup yang dirujuk Ben dan sebuah produk oleh Skytree memang terlihat cukup mengesankan, terutama dalam hal subjek pertanyaan ini. Karena itu, beberapa klaim mereka terdengar sangat mencurigakan bagi saya (yaitu, "Skytree mempercepat metode pembelajaran mesin hingga 150x dibandingkan dengan opsi open source" ). Terus berbicara tentang ilmu data komersial dan penawaran pembelajaran mesin, saya harus menyebutkan solusi oleh Microsoft, khususnya Azure Machine Learning Studio mereka . Produk berbasis web ini cukup kuat dan elegan dan menawarkan beberapa fitur fitur fungsionalitas (FEF). Untuk contoh beberapa FEF sederhana, lihat video yang bagus ini .

Kembali ke pertanyaan, saya pikir bahwa pendekatan paling sederhana yang dapat diterapkan untuk mengotomatisasi rekayasa fitur adalah dengan menggunakan IDE yang sesuai . Karena Anda (saya juga) tertarik pada bahasa R sebagai backend sains data, saya sarankan untuk memeriksa, selain RStudio, IDE open source serupa lainnya, yang disebut RKWard . Salah satu keunggulan RKWard vs RStudio adalah mendukung plugin penulisan untuk IDE, sehingga memungkinkan para ilmuwan data mengotomatiskan rekayasa fitur dan merampingkan analisis data berbasis R mereka.

Akhirnya, di sisi lain dari spektrum solusi rekayasa fitur kita dapat menemukan beberapa proyek penelitian . Dua yang paling menonjol tampaknya adalah proyek Columbus Universitas Stanford , dijelaskan secara rinci dalam makalah penelitian yang sesuai , dan Brainwash , yang dijelaskan dalam makalah ini .

Aleksandr Blekh
sumber
5

Extretools adalah pustaka python yang baru dirilis untuk rekayasa fitur otomatis. Ini didasarkan pada algoritma yang disebut Sintesis Fitur Dalam yang awalnya dikembangkan pada 2015 MIT dan diuji pada kompetisi sains data publik di Kaggle.

Berikut adalah bagaimana ini cocok dengan proses sains data umum.

masukkan deskripsi gambar di sini

Tujuan perpustakaan adalah untuk tidak hanya membantu para ahli membangun model pembelajaran mesin yang lebih baik lebih cepat, tetapi untuk membuat proses ilmu data kurang menakutkan bagi orang yang mencoba belajar. Jika Anda memiliki data yang digerakkan oleh peristiwa atau hubungan, saya sangat menyarankan Anda memeriksanya!

Penafian: Saya adalah salah satu pengembang di proyek ini.

Max Kanter
sumber
2

Rekayasa Fitur adalah jantung dari Pembelajaran Mesin dan agak melelahkan dan memakan waktu. Ada berbagai upaya untuk mengotomatisasi rekayasa fitur dengan harapan dapat mengeluarkan manusia dari lingkaran. Salah satu implementasi spesifik yang melakukan ini untuk masalah klasifikasi adalah auto-sklearn . Ia menggunakan prosedur optimisasi yang disebut SMAC di bawah tenda untuk memilih rangkaian transformasi dan algoritma yang sesuai (dan parameter algoritma).

Perhatikan bahwa Trifacta menawarkan alat yang sangat mudah digunakan untuk transformasi data. Ini memiliki GUI yang sangat intuitif yang memungkinkan untuk mengatur transformasi / fitur peta teknik. Ada juga versi uji coba gratis yang dapat digunakan untuk masalah berukuran wajar.

Nitesh
sumber
2

Scikit-learn baru-baru ini merilis transformer baru yang menangani banyak aspek rekayasa fitur. Sebagai contoh:

  1. Anda dapat melakukan beberapa teknik imputasi data yang hilang dengan SimpleImputer( http://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html ), termasuk imputasi nilai rata-rata, rata-rata dan sewenang-wenang dalam variabel numerik dan kategorikal .

  2. Anda dapat melakukan imputasi multivarian menggunakan beberapa penduga, seperti Bayes, hutan acak, dan lainnya (setara dengan R's MICE, Amelia dan MissForest) dengan IterativeImputer( https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer .html # sklearn.impute.IterativeImputer )

  3. Anda dapat melakukan satu pengkodean populer dengan OneHotEncoder()dari Scikit-learn

  4. Anda dapat menyandikan variabel kategori dengan angka dengan LabelEncoder.

  5. Anda dapat melakukan transformasi variabel Yeo-Johnson dengan PowerTransformer( http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PowerTransformer.html )

  6. Anda dapat melakukan diskresi dengan KBinsDiscretiser( https://scikit-learn.org/stable/auto_examples/preprocessing/plot_discretization.html )

Ada potensi transformer rekayasa fitur lainnya di Scikit-belajar dan pengembang memperbarui perpustakaan secara teratur.

Sebagai alternatif dari perpustakaan Scikit-learn yang terkenal, ada perpustakaan open source baru yang baru saja dirilis bernama engine-feature . Dengan engine fitur Anda dapat:

  1. Apakah berarti, median, sewenang-wenang, ujung ekor dan imputasi acak dalam variabel numerik dan kategoris
  2. Apakah berbagai jenis pengkodean kategorikal, termasuk satu panas, bilangan bulat, ordinal, pengodean rata-rata dan bobot bukti.
  3. Lakukan berbagai transformasi variabel termasuk log, timbal balik, exp, dan kotak cox
  4. Berbagai jenis diskritisasi termasuk frekuensi yang sama, jarak yang sama dan berbasis pohon
  5. Penanganan outlier.

Lebih detail dalam repo dan dokumen github ( https://feature-engine.readthedocs.io/en/latest/ )

Penafian: Saya membuat engine fitur dan membuatnya open source.

Paket python open source lain memungkinkan berbagai jenis pengkodean variabel kategori: https://contrib.scikit-learn.org/categorical-encoding/

Akhirnya, alat Fitur adalah pustaka sumber terbuka yang bagus untuk data transaksional.

Sole G
sumber
1

Anda harus mempertimbangkan memeriksa platform Azure Machine Learning . Ini online dan Anda dapat menggunakannya dengan akun gratis.

Azure ML memberi Anda alur kerja dengan menggunakan modul dalam antarmuka pengguna grafis. Banyak dari mereka yang terkait dengan Data Munging dan Anda dapat dengan mudah membersihkan data Anda. Jika ada sesuatu yang tidak dapat Anda lakukan di GUI, maka Anda bisa menambahkan modul yang memungkinkan Anda menjalankan skrip R atau Python khusus untuk memanipulasi data Anda.

Bagian yang bagus dari itu, adalah bahwa Anda dapat dengan mudah memvisualisasikan data Anda kapan saja dan memeriksa statistik sederhana seperti dataframe.describe()R.

Tasos
sumber
1

Pembelajaran Mesin Amazon adalah alat, yang saya gunakan untuk rekayasa fitur beberapa kali.

Karena layanan Amazon AWS telah menunjukkan banyak janji dan standar, saya pasti akan mengandalkan Amazon ML, dengan prospek dan janji-janji untuk membuat alur kerja para ilmuwan data lebih sederhana. Tetapi sampai sekarang, masih kecil.

Tapi, ketika Anda meminta alat untuk rekayasa fitur, jadi ini adalah salah satunya.

Beberapa FAQ tentang / untuk menggunakan Amazon ML.

Dawny33
sumber