Daftar Periksa Proyek Pembelajaran Mesin

gambar



Dalam posting ini, saya mengumpulkan daftar periksa yang terus saya rujuk saat mengerjakan proyek pembelajaran mesin yang komprehensif.



Mengapa saya perlu daftar periksa?



Karena Anda harus berurusan dengan banyak elemen proyek (persiapan, pertanyaan, model, penyesuaian, dll.), Mudah kehilangan jejak. Ini akan memandu Anda melalui langkah-langkah selanjutnya dan mendorong Anda untuk memeriksa apakah setiap tugas berhasil diselesaikan atau tidak.



Terkadang kami mencoba menemukan titik awal, daftar periksa membantu Anda mengekstrak informasi (data) yang tepat dari sumber yang tepat untuk membangun hubungan dan mengungkap ide-ide korelasi.



Disarankan bahwa setiap bagian dari proyek harus melalui paradigma peninjauan.



Seperti yang dikatakan Atul Gawande dalam bukunya "The Checklist Manifesto",

ruang lingkup dan kompleksitas dari apa yang kita ketahui telah melampaui kemampuan individu kita untuk memberikan manfaat dengan benar, aman dan andal.

Jadi izinkan saya memandu Anda melalui daftar tindakan yang jelas dan singkat ini yang akan mengurangi beban kerja Anda dan meningkatkan hasil Anda ...

Daftar Periksa Proyek Pembelajaran Mesin



Berikut adalah 8 langkah yang harus Anda ikuti di hampir setiap proyek. Beberapa langkah dapat dilakukan secara bergantian.



1. Definisikan masalah dari perspektif tingkat tinggi



Ini untuk memahami dan merumuskan logika bisnis masalah. Ini akan memberi tahu Anda:



  • sifat masalah (terkontrol / tidak terkendali, klasifikasi / regresi),
  • jenis solusi yang dapat Anda kembangkan
  • metrik apa yang harus Anda gunakan untuk mengukur kinerja?
  • Apakah pembelajaran mesin merupakan pendekatan yang tepat untuk menyelesaikan masalah ini?
  • pendekatan manual untuk memecahkan masalah.
  • prasyarat yang melekat untuk masalah tersebut


2. Tentukan sumber data dan dapatkan data



Dalam kebanyakan kasus, langkah ini dapat dilakukan sebelum langkah pertama jika Anda memiliki data dan ingin mengidentifikasi pertanyaan (masalah) di sekitarnya untuk memanfaatkan input data dengan lebih baik.



Berdasarkan definisi masalah Anda, Anda perlu mengidentifikasi sumber data, yang dapat berupa basis data, gudang data, sensor, dan sebagainya. Untuk menyebarkan aplikasi ke produksi, langkah ini harus otomatis dengan mengembangkan jalur pipa data yang memungkinkan data yang masuk masuk ke sistem.



  • buat daftar sumber dan jumlah data yang Anda butuhkan.
  • periksa apakah lokasi akan menjadi masalah.
  • periksa apakah Anda diizinkan untuk menggunakan data untuk tujuan Anda atau tidak.
  • dapatkan data dan konversikan ke format yang bisa diterapkan.
  • periksa tipe data (teks, kategorikal, numerik, seri waktu, gambar)
  • pilih sampel untuk pengujian akhir.


3. Eksplorasi data awal



Pada tahap ini, Anda mempelajari semua fitur yang memengaruhi hasil / perkiraan / sasaran Anda. Jika Anda memiliki banyak data, coba langkah ini untuk membuat analisis Anda lebih mudah dikelola.



Langkah:



  • gunakan Notebook Jupyter karena menyediakan antarmuka yang sederhana dan intuitif untuk menjelajahi data.
  • tentukan variabel target
  • tentukan jenis fitur (kategorikal, numerik, teks, dll.)
  • menganalisis hubungan antar fitur.
  • tambahkan beberapa visualisasi data untuk dengan mudah menginterpretasikan dampak dari setiap fitur pada variabel target.
  • mendokumentasikan hasil penelitian Anda.


4. Analisis data eksplorasi untuk persiapan data



Saatnya mengambil pelajaran dari langkah sebelumnya dengan mendefinisikan fungsi untuk transformasi data, pembersihan, pemilihan fitur / desain, dan penskalaan.



  • Menulis fungsi untuk mentransformasikan data dan mengotomatiskan proses untuk paket data yang akan datang.
  • Menulis fungsi untuk membersihkan data (memasukkan nilai-nilai yang hilang dan menangani outlier)
  • Menulis fungsi untuk memilih dan merancang fitur - menghapus fitur yang berlebihan, format transformasi objek, dan transformasi matematis lainnya.
  • Fitur penskalaan - standarisasi fitur.


5. Kembangkan model dasar dan kemudian jelajahi model lain untuk memilih yang terbaik



Buat model yang sangat mendasar yang harus dijadikan dasar untuk semua model pembelajaran mesin kompleks lainnya. Daftar langkah-langkah:



  • Latih beberapa model yang umum digunakan seperti model naif bayes, model regresi linier, SVM, dll., Menggunakan parameter default.
  • Ukur dan bandingkan kinerja masing-masing model dengan model dasar dan dengan yang lainnya.
  • Gunakan validasi silang N-lipat untuk setiap model dan hitung rata-rata dan standar deviasi dari metrik kinerja N-lipat.
  • Jelajahi fitur yang memiliki dampak terbesar pada sasaran.
  • Menganalisis jenis kesalahan yang dibuat model saat memprediksi.
  • Fungsi desain berbeda.
  • Ulangi langkah-langkah di atas beberapa kali (dengan coba-coba) untuk memastikan kami menggunakan fungsi yang benar dalam format yang benar.
  • Pilih model teratas berdasarkan metrik kinerja mereka.


6. Sempurnakan model Anda dari daftar dan periksa metode ensemble



Ini harus menjadi salah satu langkah penting saat Anda semakin dekat dengan keputusan akhir Anda. Poin-poin penting harus mencakup:



  • Tuning Hyperparameter menggunakan validasi silang.
  • Gunakan teknik pencarian otomatis seperti pencarian acak atau pencarian kisi untuk menemukan konfigurasi terbaik untuk model teratas Anda.
  • Uji rangkaian metode seperti penggolong suara, dll.
  • Uji model dengan data sebanyak mungkin.
  • Setelah menyelesaikan pekerjaan, gunakan sampel uji yang kami sisihkan di awal untuk memeriksa apakah cocok atau tidak.


7. Dokumentasikan kode Anda dan komunikasikan solusi Anda



Proses komunikasi beragam. Anda perlu mengingat semua pemangku kepentingan yang ada dan potensial. Oleh karena itu, poin utama meliputi:



  • Dokumentasikan kode Anda serta pendekatan Anda terhadap keseluruhan proyek.
  • Buat dasbor seperti voila atau presentasi wawasan dengan visual yang jelas.
  • Tulis blog / laporan tentang bagaimana Anda menganalisis fitur, menguji berbagai transformasi, dll. Jelaskan kurva pembelajaran Anda (kegagalan dan metode yang berhasil)
  • Selesai dengan hasil utama dan volume mendatang (jika ada)


8. Sebarkan model Anda ke produksi, pemantauan



Jika proyek Anda memerlukan pengujian penempatan pada data nyata, Anda harus membuat aplikasi web atau REST API untuk digunakan di semua platform (web, Android, iOS). Poin-poin penting (akan bervariasi berdasarkan proyek) meliputi:



  • Simpan model terakhir yang sudah Anda latih ke file h5 atau acar.
  • Sajikan model Anda dengan layanan web, Anda dapat menggunakan Flask untuk mengembangkan layanan web ini.
  • Hubungkan sumber input dan atur pipa ETL.
  • Kelola dependensi dengan pipenv, buruh pelabuhan / Kubernetes (berdasarkan persyaratan penskalaan)
  • Anda dapat menggunakan AWS, Azure, atau Google Cloud Platform untuk menyebarkan layanan Anda.
  • Lakukan pemantauan kinerja pada data nyata atau hanya agar orang menggunakan model Anda dengan data mereka.


Catatan. Daftar periksa dapat disesuaikan tergantung pada kompleksitas proyek Anda.



gambar



Pelajari detail cara mendapatkan profesi yang dicari dari awal atau Tingkatkan keterampilan dan gaji dengan menyelesaikan kursus online berbayar SkillFactory:






Baca lebih lajut






All Articles