Pembukuan menjalankan dan hasil percobaan

11

Saya seorang peneliti dan saya suka menguji solusi yang layak, jadi saya cenderung menjalankan banyak eksperimen. Misalnya, jika saya menghitung skor kesamaan antara dokumen, saya mungkin ingin mencoba banyak langkah. Bahkan, untuk setiap ukuran saya mungkin perlu melakukan beberapa kali pengujian untuk menguji efek dari beberapa parameter.

Sejauh ini, saya telah melacak input yang berjalan dan hasilnya dengan menuliskan hasilnya ke dalam file dengan sebanyak mungkin info tentang input tersebut. Masalahnya adalah bahwa kadang-kadang mengambil hasil tertentu menjadi tantangan, bahkan jika saya mencoba menambahkan info input ke nama file. Saya mencoba menggunakan spreadsheet dengan tautan ke hasil tetapi ini tidak membuat perbedaan besar.

Alat / proses apa yang Anda gunakan untuk pembukuan percobaan?

kebijaksanaan mesin
sumber
1
Saya ingin menambahkan tag praktik terbaik tetapi saya tidak bisa karena saya tidak memiliki 150 poin reputasi. Sejujurnya, saya tidak mengerti bagaimana pendatang baru dapat secara efektif menjadi kontributor situs dengan semua aturan tersebut. Saya melihat banyak pertanyaan yang saya tahu jawabannya, tetapi saya tidak bisa menjawab atau bahkan memilih jawaban jika sudah ada.
machine-wisdom
Saya pikir ini lebih merupakan pertanyaan pemrograman generik, jadi StackOverflow mungkin lebih baik. Anda dapat memasukkan cuplikan dari apa yang Anda coba lakukan, dan mengapa lambat, dan minta pengoptimalan yang disarankan.
Sean Owen
Sebenarnya saya pikir opendata.stackexchange.com akan lebih cocok.
Emre
1
Saya baru-baru ini melihat sekilas pasar untuk produk yang akan membantu dengan itu, dan saya ingin berbagi temuan saya. Ada dua produk SAAS yang dapat membantu tim Ilmu Data untuk berbagi analisis yang dilakukan dengan Python dan R. Mereka berdua memiliki notebook IPython seperti IDE, dan mereka berdua membangun banyak fitur untuk menjalankan dan berbagi pekerjaan. Saya menemukan keduanya hampir identik: [Domino Data Lab] [1] dan [Sense.io] [2] [1]: dominodatalab.com [2]: sense.io
machine-wisdom
Ada juga lingkungan Pembelajaran Mesin untuk Hadoop, yang melacak jejak Pekerjaan; [h2o.ai] [3]. Ini tidak dimaksudkan untuk menjadi alat untuk merampingkan pekerjaan tim data, tetapi dengan beberapa konvensi penamaan yang hati-hati dapat banyak membantu. Yang ini paling cocok dengan [3]: h2o.ai
machine-wisdom

Jawaban:

5

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 modelstermasuk 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.

Sean Easter
sumber
saya ingin mengungguli tapi saya tidak diizinkan.
mesin-kebijaksanaan