Saya baru-baru ini mengalami masalah yang sama: Bagaimana mengelola mengekstraksi berbagai fitur dari dataset besar, tanpa mengetahui apa yang akan terjadi di depan. (Bahkan menghitung nilai rata-rata berulang kali akan menjadi mahal secara komputasi.) Lebih lanjut, bagaimana saya mengelola prediksi berdasarkan set fitur yang berbeda? Artinya, jika saya menambahkan fitur baru, bagaimana saya tahu model mana yang akan dilatih pada fitur baru? Itu bisa dengan cepat berubah menjadi kekacauan besar.
Solusi saya saat ini adalah untuk melacak semuanya di database NoSQL lokal (MongoDB). Sebagai contoh, saya mungkin memiliki koleksi features
, setiap entri yang memiliki nama, deskripsi tentang bagaimana fitur itu dihitung, file python yang menjalankan ekstraksi, dll.
Demikian juga, koleksi models
termasuk model yang dijalankan pada data. Setiap entri mungkin memiliki nama, daftar fitur yang digunakan untuk melatih model, parameter akhirnya, nilai prediksi pada set uji yang diadakan, metrik untuk bagaimana model dilakukan, dll.
Dari sudut pandang saya, ini memiliki sejumlah manfaat:
- Dengan menyimpan prediksi, saya dapat menggunakannya nanti dalam prediksi ensemble.
- Karena saya melacak fitur mana yang digunakan, saya tahu mana yang perlu dilatih ulang saat saya mengekstrak lebih banyak fitur.
- Dengan menyimpan deskripsi model, saya memastikan bahwa saya selalu tahu apa yang saya coba. Saya tidak pernah bertanya-tanya, "Apakah saya sudah mencoba LASSO dengan parameter regularisasi yang ditetapkan oleh CV pencarian jaringan?" Saya selalu dapat mencarinya, dan melihat seberapa suksesnya itu.
Dari pertanyaan Anda, sepertinya Anda bisa menyesuaikan pendekatan ini dengan alur kerja masalah Anda. Instal Mongo atau database pilihan lain, lalu simpan setiap percobaan, inputnya, hasilnya, dan apa pun yang ingin Anda lacak selama proyek berlangsung. Paling tidak ini lebih mudah untuk di-query daripada spreadsheet.