update-translations
parent
35dbfd7b5e
commit
397f5bf31c
@ -1,123 +1,125 @@
|
||||
# Teknik Pembelajaran Mesin
|
||||
|
||||
Proses membina, menggunakan, dan mengekalkan model pembelajaran mesin serta data yang digunakan adalah sangat berbeza daripada banyak aliran kerja pembangunan lain. Dalam pelajaran ini, kita akan menjelaskan proses tersebut dan menggariskan teknik utama yang perlu anda ketahui. Anda akan:
|
||||
Proses membina, menggunakan, dan menyelenggara model pembelajaran mesin dan data yang mereka gunakan adalah proses yang sangat berbeza daripada banyak aliran kerja pembangunan lain. Dalam pelajaran ini, kita akan menjelaskan proses ini, dan menggariskan teknik utama yang perlu anda ketahui. Anda akan:
|
||||
|
||||
- Memahami proses yang mendasari pembelajaran mesin pada tahap tinggi.
|
||||
- Meneroka konsep asas seperti 'model', 'ramalan', dan 'data latihan'.
|
||||
- Memahami proses yang menjadi asas pembelajaran mesin pada tahap tinggi.
|
||||
- Menerokai konsep asas seperti 'model', 'ramalan', dan 'data latihan'.
|
||||
|
||||
## [Kuiz pra-pelajaran](https://ff-quizzes.netlify.app/en/ml/)
|
||||
## [Kuiz pra-ceramah](https://ff-quizzes.netlify.app/en/ml/)
|
||||
|
||||
[](https://youtu.be/4NGM0U2ZSHU "ML untuk pemula - Teknik Pembelajaran Mesin")
|
||||
|
||||
> 🎥 Klik imej di atas untuk video pendek yang menerangkan pelajaran ini.
|
||||
> 🎥 Klik imej di atas untuk video ringkas yang menerangkan pelajaran ini.
|
||||
|
||||
## Pengenalan
|
||||
|
||||
Secara umum, seni mencipta proses pembelajaran mesin (ML) terdiri daripada beberapa langkah:
|
||||
Pada tahap tinggi, kemahiran mencipta proses pembelajaran mesin (ML) terdiri daripada beberapa langkah:
|
||||
|
||||
1. **Tentukan soalan**. Kebanyakan proses ML bermula dengan menanyakan soalan yang tidak dapat dijawab oleh program bersyarat atau enjin berasaskan peraturan yang mudah. Soalan-soalan ini sering berkisar pada ramalan berdasarkan koleksi data.
|
||||
2. **Kumpul dan sediakan data**. Untuk menjawab soalan anda, anda memerlukan data. Kualiti dan, kadangkala, kuantiti data anda akan menentukan sejauh mana anda dapat menjawab soalan awal anda. Memvisualkan data adalah aspek penting dalam fasa ini. Fasa ini juga termasuk membahagikan data kepada kumpulan latihan dan ujian untuk membina model.
|
||||
3. **Pilih kaedah latihan**. Bergantung pada soalan anda dan sifat data anda, anda perlu memilih cara untuk melatih model agar mencerminkan data anda dengan baik dan membuat ramalan yang tepat. Bahagian proses ML ini memerlukan kepakaran khusus dan, sering kali, sejumlah besar eksperimen.
|
||||
4. **Latih model**. Menggunakan data latihan anda, anda akan menggunakan pelbagai algoritma untuk melatih model agar mengenali pola dalam data. Model mungkin menggunakan berat dalaman yang boleh disesuaikan untuk memberi keutamaan kepada bahagian tertentu data berbanding yang lain untuk membina model yang lebih baik.
|
||||
5. **Nilai model**. Anda menggunakan data yang belum pernah dilihat sebelumnya (data ujian anda) daripada set yang dikumpulkan untuk melihat bagaimana prestasi model.
|
||||
6. **Penalaan parameter**. Berdasarkan prestasi model anda, anda boleh mengulangi proses menggunakan parameter atau pembolehubah yang berbeza yang mengawal tingkah laku algoritma yang digunakan untuk melatih model.
|
||||
7. **Ramalkan**. Gunakan input baru untuk menguji ketepatan model anda.
|
||||
1. **Tentukan soalan**. Kebanyakan proses ML bermula dengan mengajukan soalan yang tidak dapat dijawab oleh program kondisional mudah atau enjin berdasarkan peraturan. Soalan-soalan ini sering berkisar pada ramalan berdasarkan koleksi data.
|
||||
2. **Kumpul dan sediakan data**. Untuk dapat menjawab soalan anda, anda memerlukan data. Kualiti dan, kadang-kala, kuantiti data anda akan menentukan sejauh mana anda dapat menjawab soalan awal anda. Memvisualisasikan data adalah aspek penting dalam fasa ini. Fasa ini juga termasuk membahagikan data kepada kumpulan latihan dan ujian untuk membina model.
|
||||
3. **Pilih kaedah latihan**. Bergantung pada soalan anda dan sifat data anda, anda perlu memilih cara anda ingin melatih model agar dapat mencerminkan data anda dengan baik dan membuat ramalan yang tepat terhadapnya. Bahagian proses ML anda ini memerlukan kepakaran khusus dan, sering kali, sejumlah besar percubaan.
|
||||
4. **Latih model**. Menggunakan data latihan anda, anda akan menggunakan pelbagai algoritma untuk melatih model mengenal pasti corak dalam data tersebut. Model mungkin menggunakan berat dalaman yang boleh diselaraskan untuk mengutamakan bahagian data tertentu bagi membina model yang lebih baik.
|
||||
5. **Nilai model**. Anda menggunakan data yang belum pernah dilihat sebelum ini (data ujian anda) dari set data yang dikumpulkan untuk melihat bagaimana prestasi model.
|
||||
6. **Penghalusan parameter**. Berdasarkan prestasi model anda, anda boleh mengulangi proses menggunakan parameter yang berbeza, atau pembolehubah, yang mengawal tingkah laku algoritma yang digunakan untuk melatih model.
|
||||
7. **Buat Ramalan**. Gunakan input baru untuk menguji ketepatan model anda.
|
||||
|
||||
## Soalan yang perlu ditanya
|
||||
## Soalan yang Perlu Ditanya
|
||||
|
||||
Komputer sangat mahir dalam menemui pola tersembunyi dalam data. Kegunaan ini sangat membantu penyelidik yang mempunyai soalan tentang domain tertentu yang tidak dapat dijawab dengan mudah dengan mencipta enjin peraturan bersyarat. Sebagai contoh, dalam tugas aktuari, seorang saintis data mungkin dapat membina peraturan buatan tangan tentang kadar kematian perokok berbanding bukan perokok.
|
||||
Komputer sangat mahir dalam menemui corak tersembunyi dalam data. Kebolehan ini sangat membantu penyelidik yang mempunyai soalan tentang domain tertentu yang tidak dapat dijawab dengan mudah dengan membina enjin peraturan berasaskan kondisi. Sebagai contoh tugasan aktuari, seorang saintis data mungkin dapat membina peraturan buatan tangan mengenai kematian perokok vs bukan perokok.
|
||||
|
||||
Namun, apabila banyak pembolehubah lain dimasukkan ke dalam persamaan, model ML mungkin lebih efisien untuk meramalkan kadar kematian masa depan berdasarkan sejarah kesihatan masa lalu. Contoh yang lebih ceria mungkin membuat ramalan cuaca untuk bulan April di lokasi tertentu berdasarkan data yang merangkumi latitud, longitud, perubahan iklim, jarak ke laut, pola aliran jet, dan banyak lagi.
|
||||
Namun, apabila banyak pembolehubah lain dimasukkan ke dalam persamaan, model ML mungkin lebih cekap untuk meramalkan kadar kematian masa depan berdasarkan sejarah kesihatan lalu. Contoh yang lebih ceria mungkin membuat ramalan cuaca untuk bulan April di lokasi tertentu berdasarkan data yang termasuk latitud, longitud, perubahan iklim, kedekatan dengan lautan, corak aliran jet, dan banyak lagi.
|
||||
|
||||
✅ [Slide ini](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) tentang model cuaca menawarkan perspektif sejarah untuk menggunakan ML dalam analisis cuaca.
|
||||
✅ Dek slaid ini tentang model cuaca menawarkan perspektif sejarah untuk menggunakan ML dalam analisis cuaca.
|
||||
|
||||
## Tugas sebelum membina
|
||||
## Tugasan Pra-pembinaan
|
||||
|
||||
Sebelum memulakan pembinaan model anda, terdapat beberapa tugas yang perlu anda selesaikan. Untuk menguji soalan anda dan membentuk hipotesis berdasarkan ramalan model, anda perlu mengenal pasti dan mengkonfigurasi beberapa elemen.
|
||||
Sebelum mula membina model anda, terdapat beberapa tugasan yang perlu anda lengkapkan. Untuk menguji soalan anda dan membentuk hipotesis berdasarkan ramalan model, anda perlu mengenal pasti dan mengkonfigurasi beberapa elemen.
|
||||
|
||||
### Data
|
||||
|
||||
Untuk menjawab soalan anda dengan sebarang kepastian, anda memerlukan sejumlah data yang mencukupi dan jenis yang betul. Terdapat dua perkara yang perlu dilakukan pada tahap ini:
|
||||
Untuk dapat menjawab soalan anda dengan sedikit kepastian, anda memerlukan jumlah data yang banyak dan jenis yang betul. Ada dua perkara yang perlu anda lakukan pada tahap ini:
|
||||
|
||||
- **Kumpul data**. Mengambil kira pelajaran sebelumnya tentang keadilan dalam analisis data, kumpulkan data anda dengan berhati-hati. Sedar akan sumber data ini, sebarang bias yang mungkin ada, dan dokumentasikan asal usulnya.
|
||||
- **Sediakan data**. Terdapat beberapa langkah dalam proses penyediaan data. Anda mungkin perlu menggabungkan data dan menormalkannya jika ia berasal dari sumber yang pelbagai. Anda boleh meningkatkan kualiti dan kuantiti data melalui pelbagai kaedah seperti menukar string kepada nombor (seperti yang kita lakukan dalam [Pengelompokan](../../5-Clustering/1-Visualize/README.md)). Anda juga boleh menghasilkan data baru berdasarkan data asal (seperti yang kita lakukan dalam [Klasifikasi](../../4-Classification/1-Introduction/README.md)). Anda boleh membersihkan dan mengedit data (seperti yang akan kita lakukan sebelum pelajaran [Aplikasi Web](../../3-Web-App/README.md)). Akhirnya, anda mungkin juga perlu mengacak dan mencampurkannya, bergantung pada teknik latihan anda.
|
||||
- **Kumpul data**. Dengan mengambil kira pelajaran sebelumnya tentang keadilan dalam analisis data, kumpulkan data anda dengan berhati-hati. Sadarilah sumber data ini, sebarang bias yang wujud, dan dokumentasikan asal-usulnya.
|
||||
- **Sediakan data**. Terdapat beberapa langkah dalam proses penyediaan data. Anda mungkin perlu mengumpul data dan menormalkannya jika ia berasal dari sumber yang berbeza. Anda boleh meningkatkan kualiti dan kuantiti data melalui pelbagai kaedah seperti menukar rentetan kepada nombor (seperti dalam [Pengelompokan](../../5-Clustering/1-Visualize/README.md)). Anda mungkin juga menjana data baru berdasarkan data asal (seperti dalam [Klasifikasi](../../4-Classification/1-Introduction/README.md)). Anda boleh membersihkan dan mengedit data (seperti yang akan kita lakukan sebelum pelajaran [Aplikasi Web](../../3-Web-App/README.md)). Akhir sekali, anda mungkin juga perlu mengacak dan mengaduk data bergantung pada teknik latihan anda.
|
||||
|
||||
✅ Selepas mengumpul dan memproses data anda, luangkan masa untuk melihat sama ada bentuknya akan membolehkan anda menangani soalan yang dimaksudkan. Mungkin data tersebut tidak akan berfungsi dengan baik dalam tugas yang diberikan, seperti yang kita temui dalam pelajaran [Pengelompokan](../../5-Clustering/1-Visualize/README.md)!
|
||||
✅ Setelah mengumpul dan memproses data anda, luangkan masa untuk melihat jika bentuknya membolehkan anda menangani soalan yang dimaksudkan. Mungkin data tersebut tidak akan berfungsi dengan baik dalam tugasan anda, seperti yang kita temui dalam pelajaran [Pengelompokan](../../5-Clustering/1-Visualize/README.md)!
|
||||
|
||||
### Ciri dan Sasaran
|
||||
|
||||
[Ciri](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) adalah sifat yang boleh diukur daripada data anda. Dalam banyak set data, ia dinyatakan sebagai tajuk lajur seperti 'tarikh', 'saiz', atau 'warna'. Pembolehubah ciri anda, biasanya diwakili sebagai `X` dalam kod, mewakili pembolehubah input yang akan digunakan untuk melatih model.
|
||||
[Feature](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) adalah ciri yang boleh diukur dalam data anda. Dalam banyak set data, ia dinyatakan sebagai tajuk lajur seperti 'tarikh', 'saiz' atau 'warna'. Pembolehubah ciri anda, biasanya diwakili sebagai `X` dalam kod, mewakili pembolehubah input yang akan digunakan untuk melatih model.
|
||||
|
||||
Sasaran adalah perkara yang anda cuba ramalkan. Sasaran, biasanya diwakili sebagai `y` dalam kod, mewakili jawapan kepada soalan yang anda cuba tanyakan kepada data anda: pada bulan Disember, **warna** labu mana yang akan paling murah? Di San Francisco, kawasan kejiranan mana yang akan mempunyai **harga** hartanah terbaik? Kadangkala sasaran juga dirujuk sebagai atribut label.
|
||||
Sasaran ialah perkara yang anda cuba ramalkan. Sasaran, biasanya diwakili sebagai `y` dalam kod, adalah jawapan kepada soalan yang anda cuba tanyakan pada data anda: pada bulan Disember, labu warna apa yang akan paling murah? di San Francisco, kejiranan mana yang akan mempunyai harga hartanah terbaik? Kadang-kadang sasaran juga dirujuk sebagai atribut label.
|
||||
|
||||
### Memilih pembolehubah ciri anda
|
||||
|
||||
🎓 **Pemilihan Ciri dan Ekstraksi Ciri** Bagaimana anda tahu pembolehubah mana yang perlu dipilih semasa membina model? Anda mungkin akan melalui proses pemilihan ciri atau ekstraksi ciri untuk memilih pembolehubah yang betul untuk model yang paling berprestasi. Walau bagaimanapun, mereka tidak sama: "Ekstraksi ciri mencipta ciri baru daripada fungsi ciri asal, manakala pemilihan ciri mengembalikan subset ciri." ([sumber](https://wikipedia.org/wiki/Feature_selection))
|
||||
🎓 **Pemilihan Ciri dan Pengekstrakan Ciri** Bagaimana anda tahu pembolehubah mana untuk dipilih semasa membina model? Anda mungkin akan melalui proses pemilihan ciri atau pengekstrakan ciri untuk memilih pembolehubah yang sesuai bagi model yang paling berprestasi. Namun, kedua-duanya tidak sama: "Pengekstrakan ciri mencipta ciri baru dari fungsi ciri asal, manakala pemilihan ciri mengembalikan subset ciri." ([sumber](https://wikipedia.org/wiki/Feature_selection))
|
||||
|
||||
### Visualkan data anda
|
||||
### Visualisasikan data anda
|
||||
|
||||
Aspek penting dalam alat saintis data adalah kuasa untuk memvisualkan data menggunakan beberapa pustaka yang sangat baik seperti Seaborn atau MatPlotLib. Mewakili data anda secara visual mungkin membolehkan anda menemui korelasi tersembunyi yang boleh anda manfaatkan. Visualisasi anda juga mungkin membantu anda menemui bias atau data yang tidak seimbang (seperti yang kita temui dalam [Klasifikasi](../../4-Classification/2-Classifiers-1/README.md)).
|
||||
Aspek penting dalam set peralatan saintis data adalah keupayaan untuk memvisualisasikan data menggunakan beberapa perpustakaan cemerlang seperti Seaborn atau MatPlotLib. Mewakili data secara visual mungkin membolehkan anda menemui korelasi tersembunyi yang boleh anda manfaatkan. Visualisasi anda juga mungkin membantu mendedahkan bias atau data yang tidak seimbang (seperti yang kita temui dalam [Klasifikasi](../../4-Classification/2-Classifiers-1/README.md)).
|
||||
|
||||
### Bahagikan set data anda
|
||||
|
||||
Sebelum latihan, anda perlu membahagikan set data anda kepada dua atau lebih bahagian yang tidak sama saiz tetapi masih mewakili data dengan baik.
|
||||
Sebelum latihan, anda perlu membahagikan set data anda kepada dua atau lebih bahagian saiz tidak sama yang masih mewakili data dengan baik.
|
||||
|
||||
- **Latihan**. Bahagian set data ini digunakan untuk melatih model anda. Set ini membentuk sebahagian besar daripada set data asal.
|
||||
- **Ujian**. Set ujian adalah kumpulan data bebas, sering kali diambil daripada data asal, yang anda gunakan untuk mengesahkan prestasi model yang dibina.
|
||||
- **Pengesahan**. Set pengesahan adalah kumpulan contoh bebas yang lebih kecil yang anda gunakan untuk menala parameter hiper model, atau seni bina, untuk meningkatkan model. Bergantung pada saiz data anda dan soalan yang anda tanyakan, anda mungkin tidak perlu membina set ketiga ini (seperti yang kita perhatikan dalam [Ramalan Siri Masa](../../7-TimeSeries/1-Introduction/README.md)).
|
||||
- **Latihan**. Bahagian dataset ini digunakan untuk melatih model anda. Set ini mewakili sebahagian besar dataset asal.
|
||||
- **Ujian**. Set data ujian adalah kumpulan data bebas, yang sering dikumpulkan dari data asal, yang anda gunakan untuk mengesahkan prestasi model yang dibina.
|
||||
- **Pengesahan**. Set pengesahan adalah kumpulan kecil contoh bebas yang anda gunakan untuk melaras hiperaparameter model, atau seni bina, untuk memperbaiki model. Bergantung pada saiz data anda dan soalan yang anda ajukan, anda mungkin tidak perlu membina set ketiga ini (seperti yang kita catat dalam [Peramalan Siri Masa](../../7-TimeSeries/1-Introduction/README.md)).
|
||||
|
||||
## Membina model
|
||||
|
||||
Menggunakan data latihan anda, matlamat anda adalah untuk membina model, atau representasi statistik data anda, menggunakan pelbagai algoritma untuk **melatih**nya. Melatih model mendedahkannya kepada data dan membolehkan ia membuat andaian tentang pola yang ditemui, disahkan, dan diterima atau ditolak.
|
||||
Menggunakan data latihan anda, matlamat anda adalah membina model, atau representasi statistik data anda, menggunakan pelbagai algoritma untuk **melatih**nya. Melatih model mendedahkannya kepada data dan membolehkannya membuat andaian tentang corak yang dikesan, disahkan, dan diterima atau ditolak.
|
||||
|
||||
### Tentukan kaedah latihan
|
||||
|
||||
Bergantung pada soalan anda dan sifat data anda, anda akan memilih kaedah untuk melatihnya. Melalui [dokumentasi Scikit-learn](https://scikit-learn.org/stable/user_guide.html) - yang kita gunakan dalam kursus ini - anda boleh meneroka banyak cara untuk melatih model. Bergantung pada pengalaman anda, anda mungkin perlu mencuba beberapa kaedah yang berbeza untuk membina model terbaik. Anda mungkin akan melalui proses di mana saintis data menilai prestasi model dengan memberinya data yang belum dilihat, memeriksa ketepatan, bias, dan isu lain yang merosakkan kualiti, serta memilih kaedah latihan yang paling sesuai untuk tugas yang diberikan.
|
||||
Bergantung pada soalan anda dan sifat data anda, anda akan memilih kaedah untuk melatihnya. Dengan melayari dokumentasi [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) - yang kami gunakan dalam kursus ini - anda boleh menerokai banyak cara untuk melatih model. Bergantung pada pengalaman anda, anda mungkin perlu mencuba beberapa kaedah berbeza untuk membina model terbaik. Anda mungkin akan melalui proses di mana saintis data menilai prestasi model dengan memberikannya data yang belum dilihat, memeriksa ketepatan, bias, dan isu kualiti lain, serta memilih kaedah latihan yang paling sesuai untuk tugasan tersebut.
|
||||
|
||||
### Latih model
|
||||
|
||||
Dengan data latihan anda, anda bersedia untuk 'memasangkannya' untuk mencipta model. Anda akan perasan bahawa dalam banyak pustaka ML, anda akan menemui kod 'model.fit' - pada masa ini anda menghantar pembolehubah ciri anda sebagai array nilai (biasanya 'X') dan pembolehubah sasaran (biasanya 'y').
|
||||
Dilengkapi dengan data latihan, anda bersedia 'menyesuaikan' untuk mencipta model. Anda akan perasan bahawa dalam banyak perpustakaan ML anda akan menemui kod 'model.fit' - pada masa ini anda menghantar pembolehubah ciri anda sebagai satu tatasusunan nilai (biasanya 'X') dan pembolehubah sasaran (biasanya 'y').
|
||||
|
||||
### Nilai model
|
||||
|
||||
Setelah proses latihan selesai (ia boleh mengambil banyak iterasi, atau 'epoch', untuk melatih model besar), anda akan dapat menilai kualiti model dengan menggunakan data ujian untuk mengukur prestasinya. Data ini adalah subset daripada data asal yang belum dianalisis oleh model. Anda boleh mencetak jadual metrik tentang kualiti model anda.
|
||||
Setelah proses latihan selesai (ia boleh mengambil banyak iterasi, atau 'epoch', untuk melatih model besar), anda akan dapat menilai kualiti model dengan menggunakan data ujian untuk mengukur prestasinya. Data ini adalah subset daripada data asal yang model tidak pernah analisis sebelum ini. Anda boleh mencetak jadual metrik mengenai kualiti model anda.
|
||||
|
||||
🎓 **Pemasangan model**
|
||||
|
||||
Dalam konteks pembelajaran mesin, pemasangan model merujuk kepada ketepatan fungsi asas model semasa ia cuba menganalisis data yang tidak dikenali.
|
||||
Dalam konteks pembelajaran mesin, pemasangan model merujuk kepada ketepatan fungsi asas model ketika berusaha menganalisis data yang tidak dikenali olehnya.
|
||||
|
||||
🎓 **Underfitting** dan **overfitting** adalah masalah biasa yang merosakkan kualiti model, kerana model sama ada tidak cukup baik atau terlalu baik. Ini menyebabkan model membuat ramalan yang terlalu selaras atau terlalu longgar dengan data latihannya. Model yang terlalu sesuai meramalkan data latihan terlalu baik kerana ia telah mempelajari butiran dan bunyi data terlalu baik. Model yang kurang sesuai tidak tepat kerana ia tidak dapat menganalisis data latihannya atau data yang belum 'dilihat' dengan tepat.
|
||||
🎓 **Underfitting** dan **overfitting** adalah masalah biasa yang menurunkan kualiti model, kerana model tidak cukup sesuai atau terlalu sesuai. Ini menyebabkan model membuat ramalan yang sama ada terlalu rapat atau terlalu longgar dengan data latihannya. Model overfit meramalkan data latihan dengan baik kerana ia telah mempelajari butiran dan bunyi data terlalu baik. Model underfit tidak tepat kerana ia tidak dapat menganalisis dengan betul data latihannya maupun data yang belum pernah 'dilihat'.
|
||||
|
||||

|
||||

|
||||
> Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
|
||||
|
||||
## Penalaan parameter
|
||||
## Penghalusan Parameter
|
||||
|
||||
Setelah latihan awal anda selesai, perhatikan kualiti model dan pertimbangkan untuk meningkatkannya dengan menyesuaikan 'parameter hiper'nya. Baca lebih lanjut tentang proses ini [dalam dokumentasi](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott).
|
||||
Setelah latihan awal selesai, perhatikan kualiti model dan pertimbangkan untuk memperbaikinya dengan mengubah 'hiperparameter'. Baca lebih lanjut mengenai proses ini [dalam dokumentasi](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott).
|
||||
|
||||
## Ramalan
|
||||
|
||||
Ini adalah saat di mana anda boleh menggunakan data yang benar-benar baru untuk menguji ketepatan model anda. Dalam tetapan ML 'terapan', di mana anda membina aset web untuk menggunakan model dalam pengeluaran, proses ini mungkin melibatkan pengumpulan input pengguna (tekanan butang, sebagai contoh) untuk menetapkan pembolehubah dan menghantarnya kepada model untuk inferens, atau penilaian.
|
||||
Ini adalah saat di mana anda boleh menggunakan data baru sepenuhnya untuk menguji ketepatan model anda. Dalam tetapan ML 'terap', di mana anda membina aset web untuk menggunakan model dalam pengeluaran, proses ini mungkin melibatkan pengumpulan input pengguna (contohnya, tekan butang) untuk menetapkan pembolehubah dan menghantarnya ke model bagi inferens atau penilaian.
|
||||
|
||||
Dalam pelajaran ini, anda akan menemui cara menggunakan langkah-langkah ini untuk menyediakan, membina, menguji, menilai, dan meramalkan - semua gerakan seorang saintis data dan banyak lagi, semasa anda maju dalam perjalanan anda untuk menjadi jurutera ML 'full stack'.
|
||||
Dalam pelajaran-pelajaran ini, anda akan mengetahui bagaimana menggunakan langkah-langkah ini untuk menyediakan, membina, menguji, menilai, dan meramalkan - semua gerak kerja seorang saintis data dan lebih lagi, semasa anda melangkah dalam perjalanan anda untuk menjadi jurutera ML 'full stack'.
|
||||
|
||||
---
|
||||
|
||||
## 🚀Cabaran
|
||||
|
||||
Lukiskan carta alir yang mencerminkan langkah-langkah seorang pengamal ML. Di mana anda melihat diri anda sekarang dalam proses ini? Di mana anda meramalkan anda akan menghadapi kesukaran? Apa yang kelihatan mudah bagi anda?
|
||||
Lukis carta aliran yang mencerminkan langkah-langkah seorang pengamal ML. Di manakah anda melihat diri anda sekarang dalam proses ini? Di mana anda meramalkan anda akan menghadapi kesukaran? Apa yang kelihatan mudah bagi anda?
|
||||
|
||||
## [Kuiz selepas pelajaran](https://ff-quizzes.netlify.app/en/ml/)
|
||||
## [Kuiz pasca-ceramah](https://ff-quizzes.netlify.app/en/ml/)
|
||||
|
||||
## Ulasan & Kajian Kendiri
|
||||
## Ulasan & Pembelajaran Kendiri
|
||||
|
||||
Cari dalam talian untuk temu bual dengan saintis data yang membincangkan kerja harian mereka. Berikut adalah [satu](https://www.youtube.com/watch?v=Z3IjgbbCEfs).
|
||||
Cari secara dalam talian temubual dengan saintis data yang membincangkan kerja harian mereka. Ini adalah [satu](https://www.youtube.com/watch?v=Z3IjgbbCEfs).
|
||||
|
||||
## Tugasan
|
||||
|
||||
[Temu bual seorang saintis data](assignment.md)
|
||||
[Temubual seorang saintis data](assignment.md)
|
||||
|
||||
---
|
||||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
**Penafian**:
|
||||
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
|
||||
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab bagi sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
@ -1,123 +1,125 @@
|
||||
# Mga Teknik ng Machine Learning
|
||||
|
||||
Ang proseso ng pagbuo, paggamit, at pagpapanatili ng mga modelo ng machine learning at ang datos na ginagamit nito ay ibang-iba kumpara sa maraming iba pang mga workflow ng pag-develop. Sa araling ito, lilinawin natin ang proseso at ilalahad ang mga pangunahing teknik na kailangan mong malaman. Ikaw ay:
|
||||
Ang proseso ng paggawa, paggamit, at pagpapanatili ng mga modelo ng machine learning at ng data na ginagamit nila ay isang napakaibang proseso kumpara sa maraming iba pang mga daloy ng pag-unlad. Sa leksyong ito, bibigyang-katuwiran natin ang proseso, at ilalahad ang mga pangunahing teknik na kailangan mong malaman. Iyong gagawin:
|
||||
|
||||
- Mauunawaan ang mga proseso sa likod ng machine learning sa mataas na antas.
|
||||
- Susuriin ang mga pangunahing konsepto tulad ng 'mga modelo', 'mga prediksyon', at 'training data'.
|
||||
- Maunawaan ang mga prosesong nagpapailalim sa machine learning sa mataas na antas.
|
||||
- Tuklasin ang mga pangunahing konsepto tulad ng 'mga modelo', 'mga hula', at 'pagsasanay ng data'.
|
||||
|
||||
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
|
||||
|
||||
[](https://youtu.be/4NGM0U2ZSHU "ML para sa mga baguhan - Mga Teknik ng Machine Learning")
|
||||
[](https://youtu.be/4NGM0U2ZSHU "ML for beginners - Techniques of Machine Learning")
|
||||
|
||||
> 🎥 I-click ang imahe sa itaas para sa isang maikling video na tumatalakay sa araling ito.
|
||||
> 🎥 I-click ang larawan sa itaas para sa isang maikling video na ginagabayan ang lektyong ito.
|
||||
|
||||
## Panimula
|
||||
|
||||
Sa mataas na antas, ang sining ng paglikha ng mga proseso ng machine learning (ML) ay binubuo ng ilang mga hakbang:
|
||||
|
||||
1. **Magpasya sa tanong**. Karamihan sa mga proseso ng ML ay nagsisimula sa pagtatanong ng tanong na hindi masagot ng simpleng conditional program o rules-based engine. Ang mga tanong na ito ay madalas na umiikot sa mga prediksyon batay sa koleksyon ng datos.
|
||||
2. **Kolektahin at ihanda ang datos**. Upang masagot ang iyong tanong, kailangan mo ng datos. Ang kalidad at, minsan, dami ng iyong datos ang magtatakda kung gaano kahusay mong masasagot ang iyong tanong. Ang pag-visualize ng datos ay mahalagang aspeto ng yugtong ito. Kasama rin dito ang paghahati ng datos sa training at testing group upang makabuo ng modelo.
|
||||
3. **Pumili ng paraan ng training**. Depende sa iyong tanong at sa likas na katangian ng iyong datos, kailangan mong pumili kung paano mo gustong i-train ang modelo upang pinakamahusay na maipakita ang datos at makagawa ng tumpak na prediksyon. Ang bahaging ito ng proseso ng ML ay nangangailangan ng tiyak na kadalubhasaan at, madalas, maraming eksperimento.
|
||||
4. **I-train ang modelo**. Gamit ang iyong training data, gagamit ka ng iba't ibang algorithm upang i-train ang modelo na makilala ang mga pattern sa datos. Ang modelo ay maaaring gumamit ng internal weights na maaaring i-adjust upang bigyang-priyoridad ang ilang bahagi ng datos kaysa sa iba upang makabuo ng mas mahusay na modelo.
|
||||
5. **Suriin ang modelo**. Gagamit ka ng datos na hindi pa nakikita (ang iyong testing data) mula sa nakolektang set upang makita kung paano gumagana ang modelo.
|
||||
6. **Parameter tuning**. Batay sa performance ng iyong modelo, maaari mong ulitin ang proseso gamit ang iba't ibang parameter o variable na kumokontrol sa pag-uugali ng mga algorithm na ginamit upang i-train ang modelo.
|
||||
7. **Mag-predict**. Gumamit ng bagong inputs upang subukan ang katumpakan ng iyong modelo.
|
||||
1. **Magpasya sa tanong**. Karamihan sa mga proseso ng ML ay nagsisimula sa pagtatanong ng isang tanong na hindi masasagot ng simpleng programang de-kondisyunal o ng mga patakarang batay-sa-patakarang makina. Madalas na ang mga tanong na ito ay nakatuon sa mga hula batay sa isang koleksyon ng data.
|
||||
2. **Kolektahin at ihanda ang data**. Para masagot mo ang iyong tanong, kailangan mo ng data. Ang kalidad at, minsan, dami ng iyong data ang magtatakda kung gaano kaayos mong masasagot ang iyong paunang tanong. Ang pag-visualize ng data ay isang mahalagang bahagi ng yugtong ito. Kabilang din sa yugtong ito ang paghati ng data sa isang pangkat ng pagsasanay at pagsusulit upang makabuo ng modelo.
|
||||
3. **Pumili ng paraan ng pagsasanay**. Depende sa iyong tanong at sa katangian ng iyong data, kailangan mong piliin kung paano mo nais sanayin ang modelo upang pinakamahusay na maipakita ang iyong data at makagawa ng tumpak na mga hula laban dito. Ito ang bahagi ng iyong proseso ng ML na nangangailangan ng espesipikong kadalubhasaan at, madalas, ng maraming eksperimento.
|
||||
4. **Sanayin ang modelo**. Gamit ang iyong data sa pagsasanay, gagamitin mo ang iba't ibang mga algorithm upang sanayin ang modelo na kilalanin ang mga pattern sa data. Maaaring gamitin ng modelo ang mga panloob na bigat na maaaring ayusin upang bigyang-pansin ang ilang bahagi ng data kaysa sa iba para makabuo ng mas mahusay na modelo.
|
||||
5. **Suriin ang modelo**. Gagamitin mo ang data na hindi pa nasilipan dati (ang iyong testing data) mula sa iyong koleksyon upang makita kung paano gumagana ang modelo.
|
||||
6. **Parameter tuning**. Batay sa pagganap ng modelo mo, maaari mong ulitin ang proseso gamit ang ibang mga parameter, o mga baryabol, na kumokontrol sa kilos ng mga algorithm na ginamit sa pagsasanay ng modelo.
|
||||
7. **Mangguhula**. Gamitin ang mga bagong input para subukan ang katumpakan ng iyong modelo.
|
||||
|
||||
## Anong tanong ang dapat itanong
|
||||
|
||||
Ang mga computer ay partikular na mahusay sa pagtuklas ng mga nakatagong pattern sa datos. Ang kakayahang ito ay napakahalaga para sa mga mananaliksik na may mga tanong tungkol sa isang partikular na larangan na hindi madaling masagot sa pamamagitan ng paggawa ng conditionally-based rules engine. Halimbawa, sa isang actuarial na gawain, maaaring makagawa ang isang data scientist ng mga handcrafted rules tungkol sa mortality ng mga naninigarilyo kumpara sa mga hindi naninigarilyo.
|
||||
Sanay ang mga computer sa pagtuklas ng mga nakatagong pattern sa data. Ang kapaki-pakinabang na ito ay napaka-kapaki-pakinabang para sa mga mananaliksik na may mga tanong tungkol sa isang tiyak na larangan na hindi madaling masagot sa pamamagitan ng paggawa ng kondisyonal na rules engine. Halimbawa, sa isang actuarial na gawain, maaaring makagawa ang isang data scientist ng mga gawang-kamay na mga patakaran tungkol sa mortalidad ng mga naninigarilyo kumpara sa hindi naninigarilyo.
|
||||
|
||||
Kapag maraming iba pang variable ang isinama sa equation, gayunpaman, maaaring mas epektibo ang isang ML model sa pag-predict ng mga future mortality rates batay sa nakaraang health history. Isang mas masayang halimbawa ay ang paggawa ng mga prediksyon sa panahon para sa buwan ng Abril sa isang partikular na lokasyon batay sa datos na kinabibilangan ng latitude, longitude, climate change, proximity sa dagat, mga pattern ng jet stream, at iba pa.
|
||||
Gayunpaman, kapag maraming iba pang mga baryabol ang isinama sa ekwasyon, maaaring mas maging epektibo ang isang ML model upang mahulaan ang mga hinaharap na rate ng mortalidad batay sa nakaraang kasaysayan ng kalusugan. Isang mas masiglang halimbawa ay ang paggawa ng mga prediksyon sa panahon para sa buwan ng Abril sa isang tiyak na lokasyon, batay sa data na kinabibilangan ng latitude, longitude, pagbabago ng klima, kalapitan sa dagat, mga pattern ng jet stream, at iba pa.
|
||||
|
||||
✅ Ang [slide deck](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) na ito tungkol sa mga weather models ay nagbibigay ng historical na perspektibo sa paggamit ng ML sa pagsusuri ng panahon.
|
||||
✅ Ang [slide deck](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) tungkol sa mga modelo ng panahon ay nag-aalok ng pangkasaysayang pananaw para sa paggamit ng ML sa pagsusuri ng panahon.
|
||||
|
||||
## Mga Gawain Bago Magbuo
|
||||
## Mga gawain bago magtayo
|
||||
|
||||
Bago simulan ang pagbuo ng iyong modelo, may ilang mga gawain na kailangan mong tapusin. Upang masubukan ang iyong tanong at bumuo ng hypothesis batay sa mga prediksyon ng modelo, kailangan mong tukuyin at i-configure ang ilang elemento.
|
||||
Bago magsimula na bumuo ng iyong modelo, may ilang mga gawain na kailangan mong tapusin. Para subukan ang iyong tanong at bumuo ng hipotesis batay sa mga hulang ginawa ng modelo, kailangan mong tukuyin at i-configure ang ilang mga elemento.
|
||||
|
||||
### Datos
|
||||
### Data
|
||||
|
||||
Upang masagot ang iyong tanong nang may katiyakan, kailangan mo ng sapat na dami ng datos na may tamang uri. May dalawang bagay na kailangan mong gawin sa puntong ito:
|
||||
Para masagot ang iyong tanong nang may katiyakan, kailangan mo ng sapat na dami ng tamang uri ng data. May dalawang bagay na kailangan mong gawin sa puntong ito:
|
||||
|
||||
- **Kolektahin ang datos**. Tandaan ang nakaraang aralin tungkol sa fairness sa data analysis, kolektahin ang iyong datos nang maingat. Maging aware sa mga pinagmulan ng datos na ito, anumang inherent biases na maaaring mayroon ito, at i-dokumento ang pinagmulan nito.
|
||||
- **Ihanda ang datos**. May ilang hakbang sa proseso ng paghahanda ng datos. Maaaring kailanganin mong pagsamahin ang datos at i-normalize ito kung ito ay galing sa iba't ibang pinagmulan. Maaari mong pagandahin ang kalidad at dami ng datos sa pamamagitan ng iba't ibang paraan tulad ng pag-convert ng strings sa numbers (tulad ng ginagawa natin sa [Clustering](../../5-Clustering/1-Visualize/README.md)). Maaari ka ring bumuo ng bagong datos batay sa orihinal (tulad ng ginagawa natin sa [Classification](../../4-Classification/1-Introduction/README.md)). Maaari mong linisin at i-edit ang datos (tulad ng gagawin natin bago ang [Web App](../../3-Web-App/README.md) na aralin). Sa huli, maaaring kailanganin mo ring i-randomize at i-shuffle ito, depende sa iyong training techniques.
|
||||
- **Kolektahin ang data**. Isinasaalang-alang ang nakaraang leksyon tungkol sa pagiging patas sa pagsusuri ng data, kolektahin ang iyong data nang maingat. Maging maingat sa mga pinagkuhanan ng data, anumang likas na pagkiling na maaaring mayroon ito, at idokumento ang pinagmulan nito.
|
||||
- **Ihanda ang data**. Mayroong ilang mga hakbang sa proseso ng paghahanda ng data. Maaaring kailanganin mong pag-isa-isaing muli ang data at i-normalize ito kung galing ito sa iba't ibang pinagmulan. Maaari mong pagandahin ang kalidad at dami ng data sa pamamagitan ng iba't ibang paraan tulad ng pag-convert ng mga string sa numero (tulad ng ginagawa natin sa [Clustering](../../5-Clustering/1-Visualize/README.md)). Maaari ka ring lumikha ng bagong data, batay sa orihinal (tulad ng ginagawa natin sa [Classification](../../4-Classification/1-Introduction/README.md)). Maaari mo ring linisin at i-edit ang data (tulad ng gagawin natin bago ang leksyon sa [Web App](../../3-Web-App/README.md)). Panghuli, maaaring kailanganin mo ring i-randomize at i-shuffle ito, depende sa iyong mga teknik sa pagsasanay.
|
||||
|
||||
✅ Pagkatapos kolektahin at iproseso ang iyong datos, maglaan ng sandali upang tingnan kung ang hugis nito ay magpapahintulot sa iyo na tugunan ang iyong nilalayong tanong. Maaaring ang datos ay hindi mag-perform nang maayos sa iyong ibinigay na gawain, tulad ng natuklasan natin sa aming [Clustering](../../5-Clustering/1-Visualize/README.md) na mga aralin!
|
||||
✅ Matapos kolektahin at iproseso ang iyong data, maglaan ng sandali upang tingnan kung ang hugis nito ay magbibigay-daan upang masagot ang iyong nais na tanong. Maaaring mangyari na hindi gagana nang maayos ang data sa iyong ibinigay na gawain, tulad ng nadiskubre natin sa mga aralin sa [Clustering](../../5-Clustering/1-Visualize/README.md)!
|
||||
|
||||
### Mga Feature at Target
|
||||
### Mga Katangian at Target
|
||||
|
||||
Ang [feature](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) ay isang masusukat na katangian ng iyong datos. Sa maraming datasets, ito ay ipinapahayag bilang isang column heading tulad ng 'date', 'size', o 'color'. Ang iyong feature variable, karaniwang kinakatawan bilang `X` sa code, ay kumakatawan sa input variable na gagamitin upang i-train ang modelo.
|
||||
Ang isang [feature](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) ay isang nasusukat na katangian ng iyong data. Sa maraming dataset, ito ay ipinapahayag bilang isang ulo ng kolum tulad ng 'date', 'size', o 'color'. Ang iyong feature variable, karaniwang kinakatawan bilang `X` sa code, ay kumakatawan sa input variable na gagamitin upang sanayin ang modelo.
|
||||
|
||||
Ang target ay ang bagay na sinusubukan mong i-predict. Ang target, karaniwang kinakatawan bilang `y` sa code, ay kumakatawan sa sagot sa tanong na sinusubukan mong itanong sa iyong datos: sa Disyembre, anong **kulay** ng mga kalabasa ang magiging pinakamura? Sa San Francisco, anong mga kapitbahayan ang magkakaroon ng pinakamagandang presyo ng **real estate**? Minsan ang target ay tinutukoy din bilang label attribute.
|
||||
Ang target ay isang bagay na sinusubukan mong hulaan. Ang target, karaniwang kinakatawan bilang `y` sa code, ay kumakatawan sa sagot sa tanong na sinusubukan mong itanong sa iyong data: sa Disyembre, anong **kulay** ng mga kalabasa ang magiging pinakamura? Sa San Francisco, anong mga kapitbahayan ang magkakaroon ng pinakamahusay na presyo sa real estate? Minsan tinutukoy din ang target bilang isang label attribute.
|
||||
|
||||
### Pagpili ng iyong feature variable
|
||||
|
||||
🎓 **Feature Selection at Feature Extraction** Paano mo malalaman kung aling variable ang pipiliin kapag bumubuo ng modelo? Malamang na dadaan ka sa proseso ng feature selection o feature extraction upang piliin ang tamang mga variable para sa pinaka-performant na modelo. Hindi sila pareho: "Ang feature extraction ay lumilikha ng mga bagong feature mula sa mga function ng orihinal na mga feature, samantalang ang feature selection ay nagbabalik ng subset ng mga feature." ([source](https://wikipedia.org/wiki/Feature_selection))
|
||||
🎓 **Feature Selection and Feature Extraction** Paano mo malalaman kung aling variable ang pipiliin kapag bumubuo ng modelo? Marahil ay daraan ka sa proseso ng feature selection o feature extraction upang piliin ang tamang mga variable para sa pinakaepektibong modelo. Hindi sila pareho: "Ang Feature extraction ay lumilikha ng mga bagong feature mula sa mga function ng orihinal na feature, samantalang ang feature selection ay nagbabalik ng isang subset ng mga feature." ([pinagmulan](https://wikipedia.org/wiki/Feature_selection))
|
||||
|
||||
### I-visualize ang iyong datos
|
||||
### I-visualize ang iyong data
|
||||
|
||||
Isang mahalagang aspeto ng toolkit ng data scientist ay ang kakayahang i-visualize ang datos gamit ang ilang magagaling na libraries tulad ng Seaborn o MatPlotLib. Ang pag-representa ng iyong datos nang biswal ay maaaring magbigay-daan sa iyo upang matuklasan ang mga nakatagong correlation na maaari mong magamit. Ang iyong mga visualization ay maaari ring makatulong sa iyo na matuklasan ang bias o hindi balanseng datos (tulad ng natuklasan natin sa [Classification](../../4-Classification/2-Classifiers-1/README.md)).
|
||||
Isang mahalagang aspeto ng toolkit ng data scientist ay ang kapangyarihan na i-visualize ang data gamit ang ilang mga mahusay na library tulad ng Seaborn o MatPlotLib. Ang paglalarawan ng iyong data sa pamamagitan ng visual ay maaaring magbigay-daan sa iyong matuklasan ang mga nakatagong kaugnayan na maaari mong gamitin. Maaaring makatulong din ang iyong mga visualization upang matuklasan ang pagkiling o hindi balanseng data (tulad ng nadiskubre natin sa [Classification](../../4-Classification/2-Classifiers-1/README.md)).
|
||||
|
||||
### Hatiin ang iyong dataset
|
||||
|
||||
Bago mag-training, kailangan mong hatiin ang iyong dataset sa dalawa o higit pang bahagi na may hindi pantay na laki ngunit mahusay na kumakatawan sa datos.
|
||||
Bago ang pagsasanay, kailangan mong hatiin ang iyong dataset sa dalawa o higit pang mga bahagi na hindi pantay ang laki ngunit mahusay na kumakatawan sa data.
|
||||
|
||||
- **Training**. Ang bahaging ito ng dataset ay ginagamit upang i-fit ang iyong modelo para i-train ito. Ang set na ito ay bumubuo ng karamihan ng orihinal na dataset.
|
||||
- **Testing**. Ang test dataset ay isang independiyenteng grupo ng datos, madalas na kinukuha mula sa orihinal na datos, na ginagamit mo upang kumpirmahin ang performance ng nabuo na modelo.
|
||||
- **Validating**. Ang validation set ay isang mas maliit na independiyenteng grupo ng mga halimbawa na ginagamit mo upang i-tune ang hyperparameters o architecture ng modelo upang mapabuti ito. Depende sa laki ng iyong datos at sa tanong na iyong tinatanong, maaaring hindi mo kailangan bumuo ng pangatlong set (tulad ng nabanggit natin sa [Time Series Forecasting](../../7-TimeSeries/1-Introduction/README.md)).
|
||||
- **Training**. Ang bahaging ito ng dataset ang itinutugma sa iyong modelo upang sanayin ito. Ang set na ito ang bumubuo ng karamihan ng orihinal na dataset.
|
||||
- **Testing**. Ang test dataset ay isang independiyenteng pangkat ng data, madalas na kinuha mula sa orihinal na data, na ginagamit mo upang kumpirmahin ang pagganap ng nabuo na modelo.
|
||||
- **Validating**. Ang validation set ay isang mas maliit na independiyenteng pangkat ng mga halimbawa na ginagamit mo upang i-tune ang mga hyperparameter o arkitektura ng modelo upang mapabuti ito. Depende sa laki ng iyong data at ang tanong na iyong tinatanong, maaaring hindi mo kailangang bumuo ng ikatlong set na ito (tulad ng napansin natin sa [Time Series Forecasting](../../7-TimeSeries/1-Introduction/README.md)).
|
||||
|
||||
## Pagbuo ng Modelo
|
||||
## Pagtatayo ng modelo
|
||||
|
||||
Gamit ang iyong training data, ang layunin mo ay bumuo ng modelo, o isang statistical na representasyon ng iyong datos, gamit ang iba't ibang algorithm upang **i-train** ito. Ang pag-train ng modelo ay inilalantad ito sa datos at nagbibigay-daan dito upang gumawa ng mga assumption tungkol sa mga pattern na natuklasan, na-validate, at tinanggap o tinanggihan.
|
||||
Gamit ang iyong training data, ang layunin mo ay bumuo ng modelo, o estadistikang representasyon ng iyong data, gamit ang iba't ibang mga algorithm upang **sanayin** ito. Ang pagsasanay ng isang modelo ay nagpapakita nito sa data at pinapayagan itong gumawa ng mga palagay tungkol sa mga natukoy nitong pattern, sinusuri, at tinatanggap o tinatanggihan.
|
||||
|
||||
### Magpasya sa paraan ng training
|
||||
### Magpasya sa paraan ng pagsasanay
|
||||
|
||||
Depende sa iyong tanong at sa likas na katangian ng iyong datos, pipili ka ng paraan upang i-train ito. Sa pamamagitan ng pagdaan sa [Scikit-learn's documentation](https://scikit-learn.org/stable/user_guide.html) - na ginagamit natin sa kursong ito - maaari mong tuklasin ang maraming paraan upang i-train ang modelo. Depende sa iyong karanasan, maaaring kailanganin mong subukan ang ilang iba't ibang paraan upang makabuo ng pinakamahusay na modelo. Malamang na dadaan ka sa proseso kung saan ang mga data scientist ay sinusuri ang performance ng modelo sa pamamagitan ng pagpapakain dito ng unseen data, pag-check ng accuracy, bias, at iba pang mga isyung nakakasira ng kalidad, at pagpili ng pinaka-angkop na paraan ng training para sa gawain.
|
||||
Depende sa iyong tanong at sa katangian ng iyong data, pipili ka ng paraan upang sanayin ito. Sa pagsunod sa [Scikit-learn's documentation](https://scikit-learn.org/stable/user_guide.html) - na ginagamit natin sa kursong ito - maaari mong tuklasin ang maraming paraan sa pagsasanay ng modelo. Depende sa iyong karanasan, maaaring kailanganin mong subukan ang iba't ibang mga paraan upang mabuo ang pinakamahusay na modelo. Malamang na dadaan ka sa isang proseso kung saan sinusuri ng mga data scientist ang pagganap ng modelo sa pamamagitan ng pagsuplay dito ng mga hindi pa nakikitang data, sinusuri ang katumpakan, pagkiling, at iba pang mga isyu na nagpapababa ng kalidad, at pinipili ang pinakaangkop na paraan ng pagsasanay para sa gawain.
|
||||
|
||||
### I-train ang modelo
|
||||
### Sanayin ang modelo
|
||||
|
||||
Gamit ang iyong training data, handa ka nang 'i-fit' ito upang lumikha ng modelo. Mapapansin mo na sa maraming ML libraries, makikita mo ang code na 'model.fit' - sa oras na ito mo ipapadala ang iyong feature variable bilang isang array ng mga halaga (karaniwang 'X') at isang target variable (karaniwang 'y').
|
||||
Hawakan ang iyong training data, handa ka nang 'i-fit' ito upang lumikha ng modelo. Mapapansin mo na sa maraming ML libraries ay makikita mo ang code na 'model.fit' - dito mo ipapasa ang iyong feature variable bilang array ng mga halaga (karaniwang 'X') at ang target variable (karaniwang 'y').
|
||||
|
||||
### Suriin ang modelo
|
||||
|
||||
Kapag natapos na ang proseso ng training (maaari itong tumagal ng maraming iterations, o 'epochs', upang i-train ang malaking modelo), magagawa mong suriin ang kalidad ng modelo sa pamamagitan ng paggamit ng test data upang sukatin ang performance nito. Ang datos na ito ay isang subset ng orihinal na datos na hindi pa nasuri ng modelo. Maaari kang mag-print ng isang table ng metrics tungkol sa kalidad ng iyong modelo.
|
||||
Kapag natapos na ang proseso ng pagsasanay (maaaring tumagal ito ng maraming pag-ulit, o 'epochs', upang masanay ang isang malaking modelo), magagawa mong suriin ang kalidad ng modelo gamit ang test data upang sukatin ang pagganap nito. Ang data na ito ay isang bahagi ng orihinal na data na hindi pa nasuri ng modelo. Maaari kang mag-print ng talaan ng mga sukatan tungkol sa kalidad ng iyong modelo.
|
||||
|
||||
🎓 **Model fitting**
|
||||
|
||||
Sa konteksto ng machine learning, ang model fitting ay tumutukoy sa katumpakan ng underlying function ng modelo habang sinusubukan nitong suriin ang datos na hindi nito pamilyar.
|
||||
Sa konteksto ng machine learning, ang model fitting ay tumutukoy sa katumpakan ng pundasyong function ng modelo habang sinusubukan nitong suriin ang data na hindi nito alam.
|
||||
|
||||
🎓 Ang **Underfitting** at **Overfitting** ay mga karaniwang problema na nakakasira sa kalidad ng modelo, kung saan ang modelo ay hindi sapat na mahusay o masyadong mahusay. Nagdudulot ito ng modelo na gumawa ng mga prediksyon na masyadong malapit o masyadong maluwag na nakahanay sa training data nito. Ang overfit na modelo ay masyadong mahusay sa pag-predict ng training data dahil natutunan nito ang mga detalye at ingay ng datos nang sobra. Ang underfit na modelo ay hindi tumpak dahil hindi nito maayos na masuri ang training data nito o ang datos na hindi pa nito 'nakikita'.
|
||||
🎓 Karaniwan ang mga problemang **underfitting** at **overfitting** na nagpapababa sa kalidad ng modelo, sapagkat ang modelo ay hindi sapat ang fit o sobra-sobra ang fit. Nagiging sanhi ito upang gumawa ang modelo ng mga hula nang masyadong malapit o masyadong malaya sa data ng pagsasanay. Ang overfit na modelo ay naghuhula nang napakahusay sa data ng pagsasanay dahil natutunan nito nang mabuti ang mga detalye at ingay ng data. Ang underfit na modelo ay hindi tumpak dahil hindi nito kayang suriin nang tumpak ang data ng pagsasanay o ang data na hindi pa nito 'nakikita'.
|
||||
|
||||

|
||||

|
||||
> Infographic ni [Jen Looper](https://twitter.com/jenlooper)
|
||||
|
||||
## Parameter tuning
|
||||
|
||||
Kapag natapos na ang iyong initial training, obserbahan ang kalidad ng modelo at isaalang-alang ang pagpapabuti nito sa pamamagitan ng pag-tweak ng 'hyperparameters' nito. Magbasa pa tungkol sa proseso [sa dokumentasyon](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott).
|
||||
Kapag natapos na ang iyong paunang pagsasanay, obserbahan ang kalidad ng modelo at isaalang-alang na pagandahin ito sa pamamagitan ng pag-aayos ng mga 'hyperparameter'. Basahin pa tungkol sa proseso [sa dokumentasyon](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott).
|
||||
|
||||
## Prediksyon
|
||||
## Prediction
|
||||
|
||||
Ito ang sandali kung saan maaari mong gamitin ang ganap na bagong datos upang subukan ang katumpakan ng iyong modelo. Sa isang 'applied' ML setting, kung saan bumubuo ka ng mga web asset upang gamitin ang modelo sa production, maaaring kasangkot sa prosesong ito ang pagkolekta ng user input (halimbawa, isang pindot ng button) upang magtakda ng variable at ipadala ito sa modelo para sa inference o pagsusuri.
|
||||
Ito na ang sandali kung saan maaari mong gamitin ang ganap na bagong data upang subukan ang katumpakan ng iyong modelo. Sa isang 'applied' na setting ng ML, kung saan bumubuo ka ng mga web asset upang gamitin ang modelo sa produksyon, maaaring kasama sa prosesong ito ang pangangalap ng input mula sa user (isang pagpindot ng button, halimbawa) upang itakda ang variable at ipadala ito sa modelo para sa inference o pagsusuri.
|
||||
|
||||
Sa mga araling ito, matutuklasan mo kung paano gamitin ang mga hakbang na ito upang maghanda, bumuo, mag-test, mag-evaluate, at mag-predict - lahat ng mga galaw ng isang data scientist at higit pa, habang ikaw ay umuusad sa iyong paglalakbay upang maging isang 'full stack' ML engineer.
|
||||
Sa mga araling ito, matutuklasan mo kung paano gamitin ang mga hakbang na ito upang ihanda, bumuo, subukan, suriin, at manghula — lahat ng mga galaw ng isang data scientist at higit pa, habang nagpapatuloy ka sa iyong paglalakbay upang maging isang 'full stack' ML engineer.
|
||||
|
||||
---
|
||||
|
||||
## 🚀Hamunin
|
||||
|
||||
Gumuhit ng flow chart na nagpapakita ng mga hakbang ng isang ML practitioner. Nasaan ka ngayon sa proseso? Saan mo inaasahan na mahihirapan ka? Ano ang tila madali para sa iyo?
|
||||
Gumuhit ng flow chart na nagpapakita ng mga hakbang ng isang ML practitioner. Saan mo nakikita ang iyong sarili ngayon sa proseso? Saan mo inaasahan na mahihirapan? Ano ang tila madali para sa iyo?
|
||||
|
||||
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
|
||||
|
||||
## Review at Pag-aaral sa Sarili
|
||||
## Repaso at Sariling Pag-aaral
|
||||
|
||||
Maghanap online ng mga panayam sa mga data scientist na nag-uusap tungkol sa kanilang pang-araw-araw na trabaho. Narito ang [isa](https://www.youtube.com/watch?v=Z3IjgbbCEfs).
|
||||
Maghanap online ng mga panayam sa mga data scientist na nagsasalaysay ng kanilang araw-araw na gawain. Narito ang [isa](https://www.youtube.com/watch?v=Z3IjgbbCEfs).
|
||||
|
||||
## Takdang Aralin
|
||||
|
||||
[Magpanayam ng isang data scientist](assignment.md)
|
||||
[Interview a data scientist](assignment.md)
|
||||
|
||||
---
|
||||
|
||||
**Paunawa**:
|
||||
Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
**Pagtanggi**:
|
||||
Ang dokumentong ito ay isinalin gamit ang serbisyo ng AI translation na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't nagsusumikap kami para sa katumpakan, pakatandaan na ang awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o di-katumpakan. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na nagmumula sa paggamit ng pagsasaling ito.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
Loading…
Reference in new issue