chore(i18n): sync translations with latest source changes (chunk 1/1, 21 changes)

update-translations
localizeflow[bot] 1 week ago
parent 8d274c104d
commit 688a592c6b

@ -30,8 +30,8 @@
"language_code": "id"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-05T19:34:25+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T09:33:33+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "id"
},
@ -90,8 +90,8 @@
"language_code": "id"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T18:41:01+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T09:34:28+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "id"
},
@ -186,8 +186,8 @@
"language_code": "id"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T19:56:49+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T09:34:46+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "id"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "id"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:31:45+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "id"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-05T19:58:01+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "id"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:31:52+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "id"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T19:54:34+00:00",
@ -540,8 +552,8 @@
"language_code": "id"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:41:37+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T09:33:27+00:00",
"source_file": "README.md",
"language_code": "id"
},

@ -1,16 +1,18 @@
# Jelajahi Responsible AI Toolbox
# Jelajahi Kotak Alat AI Bertanggung Jawab
## Instruksi
Dalam pelajaran ini, Anda telah mempelajari tentang Responsible AI Toolbox, sebuah "proyek sumber terbuka yang digerakkan oleh komunitas untuk membantu ilmuwan data menganalisis dan meningkatkan sistem AI." Untuk tugas ini, jelajahi salah satu [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) dari RAI Toolbox dan laporkan temuan Anda dalam bentuk makalah atau presentasi.
Dalam pelajaran ini Anda mempelajari tentang Kotak Alat AI Bertanggung Jawab, sebuah "proyek sumber terbuka yang digerakkan oleh komunitas untuk membantu ilmuwan data menganalisis dan meningkatkan sistem AI." Untuk tugas ini, jelajahi salah satu [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) dari RAI Toolbox dan laporkan temuan Anda dalam sebuah makalah atau presentasi.
## Rubrik
| Kriteria | Unggul | Memadai | Perlu Peningkatan |
| -------- | ------- | -------- | ----------------- |
| | Makalah atau presentasi PowerPoint disajikan yang membahas sistem Fairlearn, notebook yang dijalankan, dan kesimpulan yang diambil dari menjalankannya | Makalah disajikan tanpa kesimpulan | Tidak ada makalah yang disajikan |
| Kriteria | Teladan | Memadai | Perlu Perbaikan |
| -------- | ------- | ------- | --------------- |
| | Sebuah makalah atau presentasi powerpoint disajikan yang membahas sistem Fairlearn, notebook yang dijalankan, dan kesimpulan yang diambil dari menjalankannya | Sebuah makalah disajikan tanpa kesimpulan | Tidak ada makalah yang disajikan |
---
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Pernyataan Penyangkalan**:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk ketepatan, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,101 +1,113 @@
# Membangun Model Regresi Menggunakan Scikit-learn: Empat Cara Regresi
# Membangun model regresi menggunakan Scikit-learn: regresi dengan empat cara
![Infografik regresi linear vs polinomial](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
> Infografik oleh [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Kuis Pra-Pelajaran](https://ff-quizzes.netlify.app/en/ml/)
## Catatan Pemula
> ### [Pelajaran ini tersedia dalam R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Pengantar
Regresi linear digunakan ketika kita ingin memprediksi **nilai numerik** (misalnya, harga rumah, suhu, atau penjualan).
Ini bekerja dengan menemukan garis lurus yang paling mewakili hubungan antara fitur input dan output.
Sejauh ini, Anda telah mempelajari apa itu regresi dengan data sampel yang diambil dari dataset harga labu yang akan kita gunakan sepanjang pelajaran ini. Anda juga telah memvisualisasikannya menggunakan Matplotlib.
Dalam pelajaran ini, kita fokus pada pemahaman konsep sebelum mengeksplorasi teknik regresi yang lebih canggih.
![Infografis regresi linear vs polinomial](../../../../translated_images/id/linear-polynomial.5523c7cb6576ccab.webp)
> Infografis oleh [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Kuis Pra-kuliah](https://ff-quizzes.netlify.app/en/ml/)
Sekarang Anda siap untuk mendalami regresi dalam pembelajaran mesin. Sementara visualisasi memungkinkan Anda memahami data, kekuatan sebenarnya dari Pembelajaran Mesin berasal dari _melatih model_. Model dilatih pada data historis untuk secara otomatis menangkap ketergantungan data, dan memungkinkan Anda memprediksi hasil untuk data baru yang belum pernah dilihat oleh model sebelumnya.
> ### [Pelajaran ini tersedia dalam Bahasa R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Pendahuluan
Dalam pelajaran ini, Anda akan mempelajari lebih lanjut tentang dua jenis regresi: _regresi linear dasar_ dan _regresi polinomial_, bersama dengan beberapa matematika yang mendasari teknik-teknik ini. Model-model tersebut akan memungkinkan kita memprediksi harga labu berdasarkan berbagai data input.
Sejauh ini Anda telah menjelajahi apa itu regresi dengan data contoh yang diambil dari dataset harga labu yang akan kita gunakan sepanjang pelajaran ini. Anda juga telah memvisualisasikannya menggunakan Matplotlib.
Sekarang Anda siap untuk menggali lebih dalam regresi untuk ML. Visualisasi memungkinkan Anda memahami data, tetapi kekuatan nyata dari Pembelajaran Mesin datang dari _pelatihan model_. Model dilatih pada data historis untuk secara otomatis menangkap ketergantungan data, dan memungkinkan Anda memprediksi hasil untuk data baru, yang belum pernah dilihat model sebelumnya.
Dalam pelajaran ini, Anda akan belajar lebih banyak tentang dua jenis regresi: _regresi linear dasar_ dan _regresi polinomial_, beserta sebagian matematika yang mendasari teknik-teknik ini. Model-model tersebut akan memungkinkan kita memprediksi harga labu tergantung pada data input yang berbeda.
[![ML untuk pemula - Memahami Regresi Linear](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML untuk pemula - Memahami Regresi Linear")
> 🎥 Klik gambar di atas untuk video singkat tentang regresi linear.
> Sepanjang kurikulum ini, kami mengasumsikan pengetahuan matematika yang minimal, dan berusaha membuatnya dapat diakses oleh siswa dari bidang lain, jadi perhatikan catatan, 🧮 penjelasan, diagram, dan alat pembelajaran lainnya untuk membantu pemahaman.
> Sepanjang kurikulum ini, kami mengasumsikan pengetahuan matematika minimal, dan berusaha membuatnya dapat diakses bagi siswa dari bidang lain, jadi perhatikan catatan, 🧮 catatan khusus, diagram, dan alat pembelajaran lain untuk membantu pemahaman.
### Prasyarat
Pada titik ini, Anda seharusnya sudah familiar dengan struktur data labu yang sedang kita analisis. Anda dapat menemukannya sudah dimuat dan dibersihkan di file _notebook.ipynb_ pelajaran ini. Dalam file tersebut, harga labu ditampilkan per bushel dalam kerangka data baru. Pastikan Anda dapat menjalankan notebook ini di kernel Visual Studio Code.
Anda seharusnya sudah familiar dengan struktur data labu yang sedang kita periksa. Data tersebut sudah dimuat dan dibersihkan sebelumnya dalam file _notebook.ipynb_ pelajaran ini. Dalam file tersebut, harga labu ditampilkan per bushel dalam sebuah data frame baru. Pastikan Anda dapat menjalankan notebook ini di kernel Visual Studio Code.
### Persiapan
Sebagai pengingat, Anda memuat data ini untuk mengajukan pertanyaan tentangnya.
- Kapan waktu terbaik untuk membeli labu?
- Berapa harga yang bisa saya harapkan untuk satu kotak labu mini?
- Haruskah saya membelinya dalam keranjang setengah bushel atau dalam kotak bushel 1 1/9?
- Harga berapa yang bisa saya harapkan untuk sekotak labu mini?
- Haruskah saya membelinya dalam keranjang setengah bushel atau kotak 1 1/9 bushel?
Mari kita terus menggali data ini.
Dalam pelajaran sebelumnya, Anda membuat kerangka data Pandas dan mengisinya dengan sebagian dari dataset asli, menstandarkan harga berdasarkan bushel. Namun, dengan melakukan itu, Anda hanya dapat mengumpulkan sekitar 400 titik data dan hanya untuk bulan-bulan musim gugur.
Dalam pelajaran sebelumnya, Anda telah membuat sebuah data frame Pandas dan mengisinya dengan sebagian dataset asli, menstandarisasi harga berdasarkan bushel. Namun dengan cara itu, Anda hanya dapat mengumpulkan sekitar 400 data dan hanya untuk bulan-bulan musim gugur.
Lihat data yang telah dimuat sebelumnya di notebook yang menyertai pelajaran ini. Data telah dimuat sebelumnya dan plot sebar awal telah dibuat untuk menunjukkan data bulan. Mungkin kita bisa mendapatkan sedikit lebih banyak detail tentang sifat data dengan membersihkannya lebih lanjut.
Lihatlah data yang sudah dimuat dalam notebook pelajaran ini. Data sudah dimuat dan sebuah scatterplot awal telah dibuat untuk menunjukkan data bulan. Mungkin kita bisa mendapatkan detail lebih lanjut tentang sifat data dengan membersihkannya lebih lanjut.
## Garis Regresi Linear
## Garis regresi linear
Seperti yang Anda pelajari di Pelajaran 1, tujuan dari latihan regresi linear adalah untuk dapat membuat garis untuk:
Seperti yang Anda pelajari di Pelajaran 1, tujuan latihan regresi linear adalah untuk memplot sebuah garis guna:
- **Menunjukkan hubungan variabel**. Menunjukkan hubungan antara variabel
- **Membuat prediksi**. Membuat prediksi yang akurat tentang di mana titik data baru akan berada dalam hubungan dengan garis tersebut.
- **Membuat prediksi**. Membuat prediksi yang akurat tentang di mana titik data baru jatuh dalam hubungan dengan garis tersebut.
Biasanya **Regresi Kuadrat Terkecil** digunakan untuk menggambar garis seperti ini. Istilah "Kuadrat Terkecil" merujuk pada proses meminimalkan total kesalahan dalam model kita. Untuk setiap titik data, kita mengukur jarak vertikal (disebut residual) antara titik sebenarnya dan garis regresi kita.
Jarak ini dikuadratkan karena dua alasan utama:
Biasanya, **Regresi Kuadrat Terkecil** digunakan untuk menggambar jenis garis ini. Istilah 'kuadrat terkecil' berarti bahwa semua titik data di sekitar garis regresi dikuadratkan dan kemudian dijumlahkan. Idealnya, jumlah akhir itu sekecil mungkin, karena kita menginginkan jumlah kesalahan yang rendah, atau `kuadrat terkecil`.
1. **Magnitudo, bukan Arah:** Kita ingin memperlakukan kesalahan -5 sama dengan kesalahan +5. Mengkuadratkan membuat semua nilai menjadi positif.
Kami melakukan ini karena kami ingin memodelkan garis yang memiliki jarak kumulatif terkecil dari semua titik data kami. Kami juga mengkuadratkan istilah sebelum menjumlahkannya karena kami lebih peduli dengan besarnya daripada arahnya.
2. **Memberi Bobot pada Outlier:** Mengkuadratkan memberikan bobot lebih pada kesalahan besar, memaksa garis tetap dekat dengan titik yang jauh.
> **🧮 Tunjukkan matematikanya**
Kemudian kita menjumlahkan semua nilai kuadrat ini. Tujuan kita adalah menemukan garis tertentu di mana jumlah akhir ini paling kecil (nilai terkecil mungkin)—itulah sebabnya dinamakan "Kuadrat Terkecil".
> **🧮 Tunjukkan matematika**
>
> Garis ini, yang disebut _garis terbaik_, dapat diekspresikan dengan [persamaan](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Garis ini, yang disebut _garis terbaik_ dapat diekspresikan dengan [persamaan](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` adalah 'variabel penjelas'. `Y` adalah 'variabel dependen'. Kemiringan garis adalah `b` dan `a` adalah titik potong sumbu y, yang mengacu pada nilai `Y` ketika `X = 0`.
> `X` adalah 'variabel penjelas'. `Y` adalah 'variabel tergantung'. Kemiringan garis adalah `b` dan `a` adalah intercept-y, yang merujuk pada nilai `Y` ketika `X = 0`.
>
>![menghitung kemiringan](../../../../2-Regression/3-Linear/images/slope.png)
>![menghitung kemiringan](../../../../translated_images/id/slope.f3c9d5910ddbfcf9.webp)
>
> Pertama, hitung kemiringan `b`. Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
> Pertama, hitung kemiringan `b`. Infografis oleh [Jen Looper](https://twitter.com/jenlooper)
>
> Dengan kata lain, dan merujuk pada pertanyaan asli data labu kita: "memprediksi harga labu per bushel berdasarkan bulan", `X` akan merujuk pada harga dan `Y` akan merujuk pada bulan penjualan.
> Dengan kata lain, dan mengacu pada pertanyaan asli data labu kita: "memprediksi harga labu per bushel berdasarkan bulan", `X` merujuk pada harga dan `Y` merujuk pada bulan penjualan.
>
>![lengkapi persamaan](../../../../2-Regression/3-Linear/images/calculation.png)
>![melengkapi persamaan](../../../../translated_images/id/calculation.a209813050a1ddb1.webp)
>
> Hitung nilai Y. Jika Anda membayar sekitar $4, itu pasti bulan April! Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
> Hitung nilai Y. Jika Anda membayar sekitar $4, pasti bulan April! Infografis oleh [Jen Looper](https://twitter.com/jenlooper)
>
> Matematika yang menghitung garis harus menunjukkan kemiringan garis, yang juga bergantung pada titik potong, atau di mana `Y` berada ketika `X = 0`.
> Matematika yang menghitung garis harus menunjukkan kemiringan garis, yang juga bergantung pada intercept, atau di mana posisi `Y` saat `X = 0`.
>
> Anda dapat mengamati metode perhitungan untuk nilai-nilai ini di situs web [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Juga kunjungi [Kalkulator Kuadrat Terkecil](https://www.mathsisfun.com/data/least-squares-calculator.html) untuk melihat bagaimana nilai angka memengaruhi garis.
> Anda bisa melihat metode perhitungan nilai ini di situs web [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Juga kunjungi [Kalkulator kuadrat terkecil ini](https://www.mathsisfun.com/data/least-squares-calculator.html) untuk melihat bagaimana nilai angka mempengaruhi garis.
## Korelasi
Satu istilah lagi yang perlu dipahami adalah **Koefisien Korelasi** antara variabel X dan Y yang diberikan. Menggunakan plot sebar, Anda dapat dengan cepat memvisualisasikan koefisien ini. Plot dengan titik data yang tersebar dalam garis rapi memiliki korelasi tinggi, tetapi plot dengan titik data yang tersebar di mana-mana antara X dan Y memiliki korelasi rendah.
Satu istilah lagi yang harus dipahami adalah **Koefisien Korelasi** antara variabel X dan Y yang diberikan. Dengan scatterplot, Anda dapat dengan cepat memvisualisasikan koefisien ini. Plot dengan titik data yang tersebar dalam garis rapi memiliki korelasi tinggi, tetapi plot dengan titik data tersebar di mana-mana antara X dan Y memiliki korelasi rendah.
Model regresi linear yang baik adalah model yang memiliki Koefisien Korelasi tinggi (lebih dekat ke 1 daripada 0) menggunakan metode Regresi Kuadrat Terkecil dengan garis regresi.
Model regresi linear yang baik adalah yang memiliki Koefisien Korelasi tinggi (lebih dekat ke 1 daripada 0) menggunakan metode Regresi Kuadrat Terkecil dengan garis regresi.
✅ Jalankan notebook yang menyertai pelajaran ini dan lihat plot sebar Bulan ke Harga. Apakah data yang menghubungkan Bulan ke Harga untuk penjualan labu tampaknya memiliki korelasi tinggi atau rendah, menurut interpretasi visual Anda terhadap plot sebar? Apakah itu berubah jika Anda menggunakan ukuran yang lebih rinci daripada `Bulan`, misalnya *hari dalam setahun* (yaitu jumlah hari sejak awal tahun)?
✅ Jalankan notebook yang menyertai pelajaran ini dan lihat scatterplot Bulan ke Harga. Apakah data yang mengaitkan Bulan ke Harga untuk penjualan labu tampak memiliki korelasi tinggi atau rendah menurut interpretasi visual Anda dari scatterplot? Apakah itu berubah jika Anda menggunakan ukuran yang lebih rinci daripada `Bulan`, misalnya *hari dalam tahun* (yaitu jumlah hari sejak awal tahun)?
Dalam kode di bawah ini, kita akan mengasumsikan bahwa kita telah membersihkan data, dan memperoleh kerangka data yang disebut `new_pumpkins`, mirip dengan berikut ini:
Dalam kode berikut, kita akan mengasumsikan bahwa kita telah membersihkan data, dan memperoleh data frame bernama `new_pumpkins`, serupa dengan berikut:
ID | Bulan | HariDalamTahun | Jenis | Kota | Paket | Harga Rendah | Harga Tinggi | Harga
---|-------|----------------|-------|------|-------|--------------|--------------|------
70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
ID | Bulan | HariDalamTahun | Varietas | Kota | Kemasan | Harga Terendah | Harga Tertinggi | Harga
---|-------|-------------|----------|------|---------|----------------|-----------------|--------
70 | 9 | 267 | PIE TYPE | BALTIMORE | Karton 1 1/9 bushel | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | PIE TYPE | BALTIMORE | Karton 1 1/9 bushel | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | PIE TYPE | BALTIMORE | Karton 1 1/9 bushel | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | PIE TYPE | BALTIMORE | Karton 1 1/9 bushel | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | Karton 1 1/9 bushel | 15.0 | 15.0 | 13.636364
> Kode untuk membersihkan data tersedia di [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Kami telah melakukan langkah-langkah pembersihan yang sama seperti pada pelajaran sebelumnya, dan telah menghitung kolom `HariDalamTahun` menggunakan ekspresi berikut:
> Kode untuk membersihkan data tersedia di [`notebook.ipynb`](notebook.ipynb). Kami telah melakukan langkah pembersihan yang sama seperti pelajaran sebelumnya, dan telah menghitung kolom `DayOfYear` menggunakan ekspresi berikut:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Sekarang setelah Anda memahami matematika di balik regresi linear, mari kita buat model Regresi untuk melihat apakah kita dapat memprediksi paket labu mana yang akan memiliki harga labu terbaik. Seseorang yang membeli labu untuk kebun labu liburan mungkin menginginkan informasi ini untuk dapat mengoptimalkan pembelian paket labu untuk kebun tersebut.
Sekarang setelah Anda memahami matematika di balik regresi linear, mari kita buat model Regresi untuk melihat apakah kita bisa memprediksi paket labu mana yang akan memiliki harga labu terbaik. Seseorang yang membeli labu untuk patch labu liburan mungkin ingin informasi ini agar bisa mengoptimalkan pembelian paket labu untuk patch tersebut.
## Mencari Korelasi
@ -103,13 +115,13 @@ Sekarang setelah Anda memahami matematika di balik regresi linear, mari kita bua
> 🎥 Klik gambar di atas untuk video singkat tentang korelasi.
Dari pelajaran sebelumnya, Anda mungkin telah melihat bahwa harga rata-rata untuk berbagai bulan terlihat seperti ini:
Dari pelajaran sebelumnya Anda mungkin sudah melihat bahwa harga rata-rata untuk bulan yang berbeda tampak seperti ini:
<img alt="Harga rata-rata berdasarkan bulan" src="../../../../translated_images/id/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Harga rata-rata per bulan" src="../../../../translated_images/id/barchart.a833ea9194346d76.webp" width="50%"/>
Ini menunjukkan bahwa seharusnya ada beberapa korelasi, dan kita dapat mencoba melatih model regresi linear untuk memprediksi hubungan antara `Bulan` dan `Harga`, atau antara `HariDalamTahun` dan `Harga`. Berikut adalah plot sebar yang menunjukkan hubungan yang terakhir:
Ini menunjukkan bahwa seharusnya ada beberapa korelasi, dan kita dapat mencoba melatih model regresi linear untuk memprediksi hubungan antara `Month` dan `Price`, atau antara `DayOfYear` dan `Price`. Berikut adalah scatter plot yang menunjukkan hubungan kedua:
<img alt="Plot sebar Harga vs. Hari dalam Tahun" src="../../../../translated_images/id/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Scatter plot Harga vs Hari Dalam Tahun" src="../../../../translated_images/id/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Mari kita lihat apakah ada korelasi menggunakan fungsi `corr`:
@ -118,7 +130,7 @@ print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Tampaknya korelasi cukup kecil, -0.15 berdasarkan `Bulan` dan -0.17 berdasarkan `HariDalamTahun`, tetapi mungkin ada hubungan penting lainnya. Tampaknya ada kelompok harga yang berbeda yang sesuai dengan berbagai jenis labu. Untuk mengonfirmasi hipotesis ini, mari kita plot setiap kategori labu menggunakan warna yang berbeda. Dengan meneruskan parameter `ax` ke fungsi plot sebar, kita dapat memplot semua titik pada grafik yang sama:
Terlihat bahwa korelasi cukup kecil, -0.15 berdasarkan `Month` dan -0.17 berdasarkan `DayOfMonth`, tetapi mungkin ada hubungan penting lainnya. Tampak seperti ada kelompok harga yang berbeda yang berhubungan dengan varietas labu yang berbeda. Untuk mengonfirmasi hipotesis ini, mari plot setiap kategori labu dengan warna berbeda. Dengan memberikan parameter `ax` ke fungsi plot `scatter` kita dapat menggambar semua titik dalam satu grafik:
```python
ax=None
@ -128,34 +140,34 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
```
<img alt="Plot sebar Harga vs. Hari dalam Tahun" src="../../../../translated_images/id/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Scatter plot Harga vs Hari Dalam Tahun dengan warna" src="../../../../translated_images/id/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Penyelidikan kami menunjukkan bahwa jenis labu memiliki pengaruh lebih besar pada harga keseluruhan daripada tanggal penjualan sebenarnya. Kita dapat melihat ini dengan grafik batang:
Investigasi kami menunjukkan bahwa varietas memiliki efek lebih besar pada harga keseluruhan dibandingkan tanggal penjualan sebenarnya. Kita dapat melihat ini dengan grafik batang:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Grafik batang harga vs jenis labu" src="../../../../translated_images/id/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Grafik batang harga vs varietas" src="../../../../translated_images/id/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Mari kita fokus untuk sementara hanya pada satu jenis labu, yaitu 'pie type', dan lihat apa pengaruh tanggal terhadap harga:
Mari kita fokus untuk sementara hanya pada satu varietas labu, 'pie type', dan lihat apa efek tanggal terhadap harga:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Plot sebar Harga vs. Hari dalam Tahun" src="../../../../translated_images/id/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Scatter plot Harga vs Hari Dalam Tahun untuk varietas pie" src="../../../../translated_images/id/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Jika kita sekarang menghitung korelasi antara `Harga` dan `HariDalamTahun` menggunakan fungsi `corr`, kita akan mendapatkan sesuatu seperti `-0.27` - yang berarti bahwa melatih model prediktif masuk akal.
Jika sekarang kita hitung korelasi antara `Price` dan `DayOfYear` menggunakan fungsi `corr`, akan didapat nilai sekitar `-0.27`—yang berarti pelatihan model prediktif masuk akal.
> Sebelum melatih model regresi linear, penting untuk memastikan bahwa data kita bersih. Regresi linear tidak bekerja dengan baik dengan nilai yang hilang, sehingga masuk akal untuk menghapus semua sel kosong:
> Sebelum melatih model regresi linear, penting untuk memastikan bahwa data kita bersih. Regresi linear tidak bekerja dengan baik dengan nilai yang hilang, jadi masuk akal untuk menghapus semua sel kosong:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Pendekatan lain adalah mengisi nilai kosong tersebut dengan nilai rata-rata dari kolom yang sesuai.
Pendekatan lain adalah mengisi nilai kosong tersebut dengan nilai rata-rata dari kolom yang bersangkutan.
## Regresi Linear Sederhana
@ -163,7 +175,7 @@ Pendekatan lain adalah mengisi nilai kosong tersebut dengan nilai rata-rata dari
> 🎥 Klik gambar di atas untuk video singkat tentang regresi linear dan polinomial.
Untuk melatih model Regresi Linear kita, kita akan menggunakan pustaka **Scikit-learn**.
Untuk melatih model Regresi Linear kita, kita akan gunakan perpustakaan **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
@ -178,24 +190,24 @@ X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Perhatikan bahwa kita harus melakukan `reshape` pada data input agar paket Regresi Linear dapat memahaminya dengan benar. Regresi Linear mengharapkan array 2D sebagai input, di mana setiap baris array sesuai dengan vektor fitur input. Dalam kasus kita, karena kita hanya memiliki satu input - kita membutuhkan array dengan bentuk N×1, di mana N adalah ukuran dataset.
> Perlu dicatat bahwa kita harus melakukan `reshape` pada data input agar paket Regresi Linear memahaminya dengan benar. Regresi Linear mengharapkan input berupa array 2D, di mana setiap baris array adalah vektor fitur input. Dalam kasus kita, karena hanya ada satu input - kita membutuhkan array berbentuk N&times;1, di mana N adalah ukuran dataset.
Kemudian, kita perlu membagi data menjadi dataset pelatihan dan pengujian, sehingga kita dapat memvalidasi model kita setelah pelatihan:
Selanjutnya, kita perlu membagi data menjadi dataset latih dan uji, agar kita dapat memvalidasi model setelah pelatihan:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Akhirnya, melatih model Regresi Linear yang sebenarnya hanya membutuhkan dua baris kode. Kita mendefinisikan objek `LinearRegression`, dan menyesuaikannya dengan data kita menggunakan metode `fit`:
Akhirnya, pelatihan model Regresi Linear sebenarnya hanya memerlukan dua baris kode. Kita definisikan objek `LinearRegression`, dan fit-kan ke data kita menggunakan metode `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Objek `LinearRegression` setelah `fit`-ting berisi semua koefisien regresi, yang dapat diakses menggunakan properti `.coef_`. Dalam kasus kita, hanya ada satu koefisien, yang seharusnya sekitar `-0.017`. Ini berarti bahwa harga tampaknya turun sedikit seiring waktu, tetapi tidak terlalu banyak, sekitar 2 sen per hari. Kita juga dapat mengakses titik perpotongan regresi dengan sumbu Y menggunakan `lin_reg.intercept_` - ini akan sekitar `21` dalam kasus kita, menunjukkan harga di awal tahun.
Objek `LinearRegression` setelah melakukan `fit` berisi semua koefisien regresi, yang dapat diakses menggunakan properti `.coef_`. Dalam kasus kami, hanya ada satu koefisien, yang seharusnya sekitar `-0.017`. Ini berarti bahwa harga tampaknya turun sedikit seiring waktu, tetapi tidak terlalu banyak, sekitar 2 sen per hari. Kita juga dapat mengakses titik potong regresi dengan sumbu Y menggunakan `lin_reg.intercept_` - ini akan sekitar `21` dalam kasus kami, menunjukkan harga di awal tahun.
Untuk melihat seberapa akurat model kita, kita dapat memprediksi harga pada dataset pengujian, dan kemudian mengukur seberapa dekat prediksi kita dengan nilai yang diharapkan. Ini dapat dilakukan menggunakan metrik mean square error (MSE), yang merupakan rata-rata dari semua perbedaan kuadrat antara nilai yang diharapkan dan nilai yang diprediksi.
Untuk melihat seberapa akurat model kami, kita dapat memprediksi harga pada dataset uji, dan kemudian mengukur seberapa dekat prediksi kami dengan nilai yang diharapkan. Ini dapat dilakukan menggunakan metrik mean square error (MSE), yaitu rata-rata dari semua selisih kuadrat antara nilai yang diharapkan dan nilai yang diprediksi.
```python
pred = lin_reg.predict(X_test)
@ -203,37 +215,38 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Kesalahan kita tampaknya berada di sekitar 2 poin, yaitu ~17%. Tidak terlalu bagus. Indikator lain dari kualitas model adalah **koefisien determinasi**, yang dapat diperoleh seperti ini:
Kesalahan kami tampaknya sekitar 2 poin, yaitu ~17%. Tidak terlalu baik. Indikator lain dari kualitas model adalah **koefisien determinasi**, yang dapat diperoleh seperti ini:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Jika nilainya 0, itu berarti model tidak mempertimbangkan data input, dan bertindak sebagai *prediktor linear terburuk*, yang hanya merupakan nilai rata-rata dari hasil. Nilai 1 berarti kita dapat memprediksi semua output yang diharapkan dengan sempurna. Dalam kasus kita, koefisiennya sekitar 0.06, yang cukup rendah.
Kita juga dapat memplot data uji bersama dengan garis regresi untuk melihat lebih jelas bagaimana regresi bekerja dalam kasus kita:
Jika nilainya 0, itu berarti model tidak mempertimbangkan data input, dan bertindak sebagai *prediktor linier terburuk*, yaitu nilai rata-rata hasil. Nilai 1 berarti kita dapat memprediksi semua hasil yang diharapkan dengan sempurna. Dalam kasus kami, koefisiennya sekitar 0,06, yang cukup rendah.
Kita juga dapat memplot data uji bersama dengan garis regresi untuk melihat lebih baik bagaimana regresi bekerja dalam kasus kami:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="Regresi linear" src="../../../../translated_images/id/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/id/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Regresi Polinomial
Jenis lain dari Regresi Linear adalah Regresi Polinomial. Meskipun terkadang ada hubungan linear antara variabel - semakin besar volume labu, semakin tinggi harganya - terkadang hubungan ini tidak dapat dipetakan sebagai bidang atau garis lurus.
Jenis lain dari Regresi Linear adalah Regresi Polinomial. Walaupun terkadang ada hubungan linier antara variabel - semakin besar labu dalam volume, semakin tinggi harga - terkadang hubungan tersebut tidak dapat diplot sebagai bidang atau garis lurus.
✅ Berikut adalah [beberapa contoh lainnya](https://online.stat.psu.edu/stat501/lesson/9/9.8) dari data yang dapat menggunakan Regresi Polinomial.
✅ Berikut adalah [beberapa contoh lagi](https://online.stat.psu.edu/stat501/lesson/9/9.8) data yang bisa menggunakan Regresi Polinomial
Lihat kembali hubungan antara Tanggal dan Harga. Apakah scatterplot ini tampaknya harus dianalisis dengan garis lurus? Bukankah harga bisa berfluktuasi? Dalam kasus ini, Anda dapat mencoba regresi polinomial.
Lihat lagi hubungan antara Tanggal dan Harga. Apakah scatterplot ini harus dianalisis dengan garis lurus? Apakah harga tidak bisa berfluktuasi? Dalam kasus ini, Anda bisa mencoba regresi polinomial.
✅ Polinomial adalah ekspresi matematika yang mungkin terdiri dari satu atau lebih variabel dan koefisien.
✅ Polinomial adalah ekspresi matematika yang mungkin terdiri dari satu atau lebih variabel dan koefisien
Regresi polinomial menciptakan garis melengkung untuk lebih cocok dengan data non-linear. Dalam kasus kita, jika kita menyertakan variabel `DayOfYear` kuadrat ke dalam data input, kita harus dapat menyesuaikan data kita dengan kurva parabola, yang akan memiliki titik minimum pada waktu tertentu dalam setahun.
Regresi polinomial membuat garis lengkung untuk menyesuaikan data nonlinier dengan lebih baik. Dalam kasus kami, jika kami menambahkan variabel `DayOfYear` kuadrat ke data input, kami harus bisa menyesuaikan data kami dengan kurva parabola, yang akan memiliki titik minimum di suatu titik dalam tahun.
Scikit-learn menyertakan [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) yang berguna untuk menggabungkan berbagai langkah pemrosesan data. **Pipeline** adalah rantai **estimasi**. Dalam kasus kita, kita akan membuat pipeline yang pertama-tama menambahkan fitur polinomial ke model kita, lalu melatih regresi:
Scikit-learn menyertakan [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) yang membantu untuk menggabungkan berbagai langkah pemrosesan data bersama. Sebuah **pipeline** adalah rantai dari **estimator**. Dalam kasus kami, kami akan membuat pipeline yang pertama menambahkan fitur polinomial ke model, kemudian melatih regresi:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -244,43 +257,43 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
Menggunakan `PolynomialFeatures(2)` berarti kita akan menyertakan semua polinomial derajat kedua dari data input. Dalam kasus kita, ini hanya berarti `DayOfYear`<sup>2</sup>, tetapi dengan dua variabel input X dan Y, ini akan menambahkan X<sup>2</sup>, XY, dan Y<sup>2</sup>. Kita juga dapat menggunakan polinomial derajat lebih tinggi jika diinginkan.
Menggunakan `PolynomialFeatures(2)` berarti kami akan menyertakan semua polinomial derajat dua dari data input. Dalam kasus kami ini berarti `DayOfYear`<sup>2</sup>, tetapi jika ada dua variabel input X dan Y, ini akan menambahkan X<sup>2</sup>, XY dan Y<sup>2</sup>. Kita juga dapat menggunakan polinomial derajat lebih tinggi jika ingin.
Pipeline dapat digunakan dengan cara yang sama seperti objek `LinearRegression` asli, yaitu kita dapat `fit` pipeline, lalu menggunakan `predict` untuk mendapatkan hasil prediksi. Berikut adalah grafik yang menunjukkan data uji dan kurva aproksimasi:
Pipeline dapat digunakan dengan cara yang sama seperti objek `LinearRegression` asli, yaitu kita dapat melakukan `fit` pipeline, dan kemudian menggunakan `predict` untuk mendapatkan hasil prediksi. Berikut grafik yang menunjukkan data uji dan kurva aproksimasi:
<img alt="Regresi polinomial" src="../../../../translated_images/id/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/id/poly-results.ee587348f0f1f60b.webp" width="50%" />
Dengan menggunakan Regresi Polinomial, kita dapat memperoleh MSE yang sedikit lebih rendah dan determinasi yang lebih tinggi, tetapi tidak signifikan. Kita perlu mempertimbangkan fitur lainnya!
Dengan Regresi Polinomial, kita bisa mendapatkan MSE yang sedikit lebih rendah dan koefisien determinasi yang lebih tinggi, tetapi tidak signifikan. Kita perlu mempertimbangkan fitur lain!
> Anda dapat melihat bahwa harga labu terendah diamati di sekitar Halloween. Bagaimana Anda menjelaskan ini?
> Anda dapat melihat bahwa harga labu minimal diamati kira-kira di sekitar Halloween. Bagaimana Anda menjelaskannya?
🎃 Selamat, Anda baru saja membuat model yang dapat membantu memprediksi harga labu untuk pai. Anda mungkin dapat mengulangi prosedur yang sama untuk semua jenis labu, tetapi itu akan membosankan. Sekarang mari kita pelajari cara mempertimbangkan variasi labu dalam model kita!
🎃 Selamat, Anda baru saja membuat model yang dapat membantu memprediksi harga labu pai. Anda mungkin dapat mengulangi prosedur yang sama untuk semua jenis labu, tapi itu akan melelahkan. Sekarang mari kita pelajari bagaimana memperhitungkan varietas labu dalam model kita!
## Fitur Kategorikal
Dalam dunia ideal, kita ingin dapat memprediksi harga untuk berbagai jenis labu menggunakan model yang sama. Namun, kolom `Variety` agak berbeda dari kolom seperti `Month`, karena berisi nilai non-numerik. Kolom seperti ini disebut **kategorikal**.
Dalam dunia ideal, kita ingin dapat memprediksi harga untuk berbagai varietas labu menggunakan model yang sama. Namun, kolom `Variety` agak berbeda dari kolom seperti `Month`, karena berisi nilai non-numerik. Kolom seperti ini disebut **kategorikal**.
[![ML untuk pemula - Prediksi Fitur Kategorikal dengan Regresi Linear](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML untuk pemula - Prediksi Fitur Kategorikal dengan Regresi Linear")
[![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
> 🎥 Klik gambar di atas untuk video singkat tentang penggunaan fitur kategorikal.
> 🎥 Klik gambar di atas untuk melihat video singkat tentang penggunaan fitur kategorikal.
Di sini Anda dapat melihat bagaimana harga rata-rata bergantung pada variasi:
Di sini Anda bisa melihat bagaimana harga rata-rata tergantung pada varietas:
<img alt="Harga rata-rata berdasarkan variasi" src="../../../../translated_images/id/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/id/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Untuk mempertimbangkan variasi, pertama-tama kita perlu mengonversinya ke bentuk numerik, atau **encode**. Ada beberapa cara untuk melakukannya:
Untuk memperhitungkan varietas, pertama kita harus mengubahnya ke bentuk numerik, atau **meng-encode**. Ada beberapa cara yang bisa kita lakukan:
* **Numeric encoding** sederhana akan membuat tabel variasi yang berbeda, lalu mengganti nama variasi dengan indeks dalam tabel tersebut. Ini bukan ide terbaik untuk regresi linear, karena regresi linear mengambil nilai numerik aktual dari indeks dan menambahkannya ke hasil, mengalikan dengan beberapa koefisien. Dalam kasus kita, hubungan antara nomor indeks dan harga jelas tidak linear, bahkan jika kita memastikan bahwa indeks diurutkan dengan cara tertentu.
* **One-hot encoding** akan mengganti kolom `Variety` dengan 4 kolom berbeda, satu untuk setiap variasi. Setiap kolom akan berisi `1` jika baris yang sesuai adalah variasi tertentu, dan `0` jika tidak. Ini berarti akan ada empat koefisien dalam regresi linear, satu untuk setiap variasi labu, yang bertanggung jawab atas "harga awal" (atau lebih tepatnya "harga tambahan") untuk variasi tertentu.
* **Encoding numerik** sederhana akan membuat tabel varietas yang berbeda, kemudian mengganti nama varietas dengan indeks dalam tabel itu. Ini bukan ide terbaik untuk regresi linier, karena regresi linier mengambil nilai numerik indeks itu, dan menambahkan ke hasil, dikalikan dengan koefisien tertentu. Dalam kasus kami, hubungan antara nomor indeks dan harga jelas non-linier, meskipun kami memastikan indeks diurutkan dengan cara tertentu.
* **One-hot encoding** akan mengganti kolom `Variety` dengan 4 kolom berbeda, satu untuk setiap varietas. Setiap kolom akan berisi `1` jika baris terkait adalah varietas tersebut, dan `0` jika tidak. Ini berarti akan ada empat koefisien dalam regresi linier, satu untuk setiap varietas labu, yang bertanggung jawab untuk "harga awal" (atau lebih tepatnya "harga tambahan") untuk varietas itu.
Kode di bawah ini menunjukkan bagaimana kita dapat melakukan one-hot encoding pada variasi:
Kode di bawah ini menunjukkan bagaimana kita bisa melakukan one-hot encoding untuk varietas:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
ID | FAIRYTALE | MINIATURE | VARIETAS CAMPURAN HEIRLOOM | TIPE PAI
----|-----------|-----------|----------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
@ -290,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Untuk melatih regresi linear menggunakan variasi yang telah di-one-hot encode sebagai input, kita hanya perlu menginisialisasi data `X` dan `y` dengan benar:
Untuk melatih regresi linier menggunakan varietas yang telah di-one-hot encode sebagai input, kita hanya perlu menginisialisasi data `X` dan `y` dengan benar:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
Sisa kode sama seperti yang kita gunakan di atas untuk melatih Regresi Linear. Jika Anda mencobanya, Anda akan melihat bahwa mean squared error hampir sama, tetapi kita mendapatkan koefisien determinasi yang jauh lebih tinggi (~77%). Untuk mendapatkan prediksi yang lebih akurat, kita dapat mempertimbangkan lebih banyak fitur kategorikal, serta fitur numerik seperti `Month` atau `DayOfYear`. Untuk mendapatkan satu array besar fitur, kita dapat menggunakan `join`:
Sisa kode sama dengan yang kita gunakan sebelumnya untuk melatih Regresi Linier. Jika Anda mencobanya, Anda akan melihat bahwa mean squared error kurang lebih sama, tetapi kita mendapatkan koefisien determinasi yang jauh lebih tinggi (~77%). Untuk mendapatkan prediksi yang lebih akurat lagi, kita dapat mempertimbangkan lebih banyak fitur kategorikal, serta fitur numerik, seperti `Month` atau `DayOfYear`. Untuk mendapatkan satu array fitur besar, kita bisa menggunakan `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -307,31 +320,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Di sini kita juga mempertimbangkan `City` dan jenis `Package`, yang memberikan kita MSE 2.84 (10%), dan determinasi 0.94!
Di sini kita juga memperhitungkan `City` dan tipe `Package`, yang memberi kita MSE 2.84 (10%), dan koefisien determinasi 0.94!
## Menggabungkan Semuanya
## Menggabungkan Semua
Untuk membuat model terbaik, kita dapat menggunakan data gabungan (one-hot encoded kategorikal + numerik) dari contoh di atas bersama dengan Regresi Polinomial. Berikut adalah kode lengkap untuk kenyamanan Anda:
Untuk membuat model terbaik, kita dapat menggunakan data gabungan (kategori one-hot encoded + numerik) dari contoh di atas bersama dengan Regresi Polinomial. Berikut adalah kode lengkap untuk kemudahan Anda:
```python
# set up training data
# siapkan data pelatihan
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# buat pemisahan train-test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# siapkan dan latih pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# prediksi hasil untuk data tes
pred = pipeline.predict(X_test)
# calculate MSE and determination
# hitung MSE dan determinasi
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -339,34 +352,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
Ini seharusnya memberikan kita koefisien determinasi terbaik hampir 97%, dan MSE=2.23 (~8% kesalahan prediksi).
Ini harus memberi kita koefisien determinasi terbaik hampir 97%, dan MSE=2.23 (~8% kesalahan prediksi).
| Model | MSE | Determinasi |
|-------|-----|-------------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| Model | MSE | Koefisien Determinasi |
|-------|-----|-----------------------|
| Regresi Linear `DayOfYear` | 2.77 (17.2%) | 0.07 |
| Regresi Polinomial `DayOfYear` | 2.73 (17.0%) | 0.08 |
| Regresi Linear `Variety` | 5.24 (19.7%) | 0.77 |
| Semua fitur Linear | 2.84 (10.5%) | 0.94 |
| Semua fitur Polynomial | 2.23 (8.25%) | 0.97 |
| Semua fitur Polinomial | 2.23 (8.25%) | 0.97 |
🏆 Kerja bagus! Anda telah membuat empat model Regresi dalam satu pelajaran, dan meningkatkan kualitas model hingga 97%. Dalam bagian terakhir tentang Regresi, Anda akan belajar tentang Regresi Logistik untuk menentukan kategori.
🏆 Bagus sekali! Anda telah membuat empat model Regresi dalam satu pelajaran, dan meningkatkan kualitas model menjadi 97%. Di bagian terakhir tentang Regresi, Anda akan belajar tentang Regresi Logistik untuk menentukan kategori.
---
## 🚀Tantangan
## 🚀 Tantangan
Uji beberapa variabel berbeda dalam notebook ini untuk melihat bagaimana korelasi berhubungan dengan akurasi model.
## [Kuis setelah pelajaran](https://ff-quizzes.netlify.app/en/ml/)
## [Kuis setelah kuliah](https://ff-quizzes.netlify.app/en/ml/)
## Tinjauan & Studi Mandiri
## Ulasan & Belajar Mandiri
Dalam pelajaran ini kita belajar tentang Regresi Linear. Ada jenis Regresi penting lainnya. Bacalah tentang teknik Stepwise, Ridge, Lasso, dan Elasticnet. Kursus yang bagus untuk mempelajari lebih lanjut adalah [Kursus Pembelajaran Statistik Stanford](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
Dalam pelajaran ini kita belajar tentang Regresi Linear. Ada jenis Regresi penting lainnya. Bacalah tentang teknik Stepwise, Ridge, Lasso, dan Elasticnet. Kursus bagus untuk dipelajari lebih jauh adalah [kursus Stanford Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Tugas
## Tugas
[Bangun Model](assignment.md)
[Buat Model](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk mencapai akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa sumber harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan jasa terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau kesalahan tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Pengklasifikasi Masakan 2
Dalam pelajaran klasifikasi kedua ini, Anda akan mengeksplorasi lebih banyak cara untuk mengklasifikasikan data numerik. Anda juga akan mempelajari dampak dari memilih satu pengklasifikasi dibandingkan yang lain.
Dalam pelajaran klasifikasi kedua ini, Anda akan mengeksplorasi lebih banyak cara untuk mengklasifikasikan data numerik. Anda juga akan mempelajari konsekuensi dari memilih satu pengklasifikasi dibanding yang lain.
## [Kuis sebelum pelajaran](https://ff-quizzes.netlify.app/en/ml/)
## [Kuis pra-kuliah](https://ff-quizzes.netlify.app/en/ml/)
### Prasyarat
Kami mengasumsikan bahwa Anda telah menyelesaikan pelajaran sebelumnya dan memiliki dataset yang telah dibersihkan di folder `data` Anda dengan nama _cleaned_cuisines.csv_ di root folder 4 pelajaran ini.
Kami mengasumsikan bahwa Anda telah menyelesaikan pelajaran sebelumnya dan memiliki dataset yang sudah dibersihkan di folder `data` Anda yang bernama _cleaned_cuisines.csv_ di root folder berisi 4 pelajaran ini.
### Persiapan
Kami telah memuat file _notebook.ipynb_ Anda dengan dataset yang telah dibersihkan dan telah membaginya menjadi dataframe X dan y, siap untuk proses pembangunan model.
Kami telah memuat file _notebook.ipynb_ Anda dengan dataset yang sudah dibersihkan dan telah membaginya menjadi dataframe X dan y, siap untuk proses pembangunan model.
## Peta klasifikasi
Sebelumnya, Anda telah mempelajari berbagai opsi yang tersedia untuk mengklasifikasikan data menggunakan lembar contekan dari Microsoft. Scikit-learn menawarkan lembar contekan serupa, tetapi lebih rinci, yang dapat membantu mempersempit pilihan estimator Anda (istilah lain untuk pengklasifikasi):
Sebelumnya, Anda telah belajar tentang berbagai pilihan yang Anda miliki saat mengklasifikasikan data menggunakan cheat sheet Microsoft. Scikit-learn menawarkan cheat sheet serupa, tetapi lebih rinci yang dapat membantu mempersempit estimator Anda (istilah lain untuk pengklasifikasi):
![Peta ML dari Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Tip: [kunjungi peta ini secara online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) dan klik jalurnya untuk membaca dokumentasi.
![Peta ML dari Scikit-learn](../../../../translated_images/id/map.e963a6a51349425a.webp)
> Tip: [kunjungi peta ini secara daring](https://scikit-learn.org/stable/tutorial/machine_learning_map/) dan klik sepanjang jalurnya untuk membaca dokumentasi.
### Rencana
Peta ini sangat membantu setelah Anda memiliki pemahaman yang jelas tentang data Anda, karena Anda dapat 'berjalan' di sepanjang jalurnya untuk membuat keputusan:
Peta ini sangat membantu begitu Anda memiliki pemahaman yang jelas tentang data Anda, karena Anda bisa 'menyusuri' jalurnya menuju sebuah keputusan:
- Kami memiliki >50 sampel
- Kami ingin memprediksi sebuah kategori
- Kami memiliki data yang diberi label
- Kami memiliki data berlabel
- Kami memiliki kurang dari 100K sampel
- ✨ Kami dapat memilih Linear SVC
- Jika itu tidak berhasil, karena kami memiliki data numerik
- Kami dapat mencoba ✨ KNeighbors Classifier
- Kami bisa mencoba ✨ KNeighbors Classifier
- Jika itu tidak berhasil, coba ✨ SVC dan ✨ Ensemble Classifiers
Ini adalah jalur yang sangat membantu untuk diikuti.
## Latihan - membagi data
## Latihan - bagi data
Mengikuti jalur ini, kita harus mulai dengan mengimpor beberapa pustaka yang diperlukan.
Mengikuti jalur ini, kita harus mulai dengan mengimpor beberapa pustaka yang akan digunakan.
1. Impor pustaka yang diperlukan:
@ -50,31 +50,31 @@ Mengikuti jalur ini, kita harus mulai dengan mengimpor beberapa pustaka yang dip
import numpy as np
```
1. Bagi data pelatihan dan pengujian Anda:
1. Bagi data pelatihan dan data uji Anda:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Pengklasifikasi Linear SVC
Support-Vector Clustering (SVC) adalah bagian dari keluarga teknik ML Support-Vector Machines (pelajari lebih lanjut tentang ini di bawah). Dalam metode ini, Anda dapat memilih 'kernel' untuk menentukan cara mengelompokkan label. Parameter 'C' mengacu pada 'regularisasi' yang mengatur pengaruh parameter. Kernel dapat berupa [beberapa jenis](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); di sini kami mengaturnya ke 'linear' untuk memastikan bahwa kami menggunakan Linear SVC. Probabilitas secara default diatur ke 'false'; di sini kami mengaturnya ke 'true' untuk mendapatkan estimasi probabilitas. Kami mengatur random state ke '0' untuk mengacak data agar mendapatkan probabilitas.
Support-Vector clustering (SVC) adalah bagian dari keluarga Support-Vector machines dalam teknik ML (pelajari lebih lanjut tentang ini di bawah). Dalam metode ini, Anda dapat memilih sebuah 'kernel' untuk memutuskan bagaimana mengelompokkan label. Parameter 'C' merujuk pada 'regularisasi' yang mengatur pengaruh parameter. Kernel bisa salah satu dari [beberapa](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); di sini kami atur ke 'linear' untuk memastikan kami memanfaatkan linear SVC. Probabilitas defaultnya 'false'; di sini kami atur ke 'true' untuk mengumpulkan estimasi probabilitas. Kami atur random state ke '0' untuk mengacak data agar mendapatkan probabilitas.
### Latihan - menerapkan Linear SVC
### Latihan - terapkan Linear SVC
Mulailah dengan membuat array pengklasifikasi. Anda akan menambahkan secara bertahap ke array ini saat kami menguji.
Mulailah dengan membuat array pengklasifikasi. Anda akan menambahkannya secara bertahap saat kita melakukan pengujian.
1. Mulailah dengan Linear SVC:
```python
C = 10
# Create different classifiers.
# Buat classifier yang berbeda.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Latih model Anda menggunakan Linear SVC dan cetak laporan:
2. Latih model Anda menggunakan Linear SVC dan cetak laporannya:
```python
n_classifiers = len(classifiers)
@ -107,13 +107,13 @@ Mulailah dengan membuat array pengklasifikasi. Anda akan menambahkan secara bert
## Pengklasifikasi K-Neighbors
K-Neighbors adalah bagian dari keluarga metode ML "neighbors", yang dapat digunakan untuk pembelajaran terawasi dan tidak terawasi. Dalam metode ini, sejumlah titik yang telah ditentukan dibuat dan data dikumpulkan di sekitar titik-titik ini sehingga label yang digeneralisasi dapat diprediksi untuk data tersebut.
K-Neighbors adalah bagian dari keluarga metode ML "neighbors", yang dapat digunakan untuk pembelajaran terawasi maupun tidak terawasi. Dalam metode ini, sejumlah titik yang telah ditentukan dibuat dan data dikumpulkan di sekitar titik-titik tersebut sehingga label umum dapat diprediksi untuk data.
### Latihan - menerapkan pengklasifikasi K-Neighbors
### Latihan - terapkan pengklasifikasi K-Neighbors
Pengklasifikasi sebelumnya cukup baik dan bekerja dengan baik pada data, tetapi mungkin kita bisa mendapatkan akurasi yang lebih baik. Coba pengklasifikasi K-Neighbors.
Pengklasifikasi sebelumnya sudah baik dan bekerja dengan baik pada data, tetapi mungkin kita bisa mendapatkan akurasi yang lebih baik. Cobalah pengklasifikasi K-Neighbors.
1. Tambahkan baris ke array pengklasifikasi Anda (tambahkan koma setelah item Linear SVC):
1. Tambahkan sebuah baris pada array pengklasifikasi Anda (tambahkan koma setelah item Linear SVC):
```python
'KNN classifier': KNeighborsClassifier(C),
@ -138,15 +138,15 @@ Pengklasifikasi sebelumnya cukup baik dan bekerja dengan baik pada data, tetapi
✅ Pelajari tentang [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Pengklasifikasi Support Vector
## Support Vector Classifier
Pengklasifikasi Support-Vector adalah bagian dari keluarga [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) metode ML yang digunakan untuk tugas klasifikasi dan regresi. SVM "memetakan contoh pelatihan ke titik-titik di ruang" untuk memaksimalkan jarak antara dua kategori. Data berikutnya dipetakan ke ruang ini sehingga kategorinya dapat diprediksi.
Support-Vector classifiers adalah bagian dari keluarga [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) dalam metode ML yang digunakan untuk tugas klasifikasi dan regresi. SVM “memetakan contoh pelatihan ke titik di ruang” untuk memaksimalkan jarak antara dua kategori. Data berikutnya dipetakan ke ruang ini sehingga kategorinya bisa diprediksi.
### Latihan - menerapkan pengklasifikasi Support Vector
### Latihan - terapkan Support Vector Classifier
Mari coba mendapatkan akurasi yang sedikit lebih baik dengan pengklasifikasi Support Vector.
Mari coba untuk mendapatkan akurasi yang sedikit lebih baik dengan Support Vector Classifier.
1. Tambahkan koma setelah item K-Neighbors, lalu tambahkan baris ini:
1. Tambahkan koma setelah item K-Neighbors, kemudian tambahkan baris ini:
```python
'SVC': SVC(),
@ -173,14 +173,14 @@ Mari coba mendapatkan akurasi yang sedikit lebih baik dengan pengklasifikasi Sup
## Pengklasifikasi Ensemble
Mari ikuti jalur hingga akhir, meskipun pengujian sebelumnya cukup baik. Mari coba beberapa 'Pengklasifikasi Ensemble', khususnya Random Forest dan AdaBoost:
Mari kita ikuti jalur sampai benar-benar akhir, meskipun uji sebelumnya sudah cukup bagus. Mari coba beberapa 'Pengklasifikasi Ensemble', khususnya Random Forest dan AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Hasilnya sangat baik, terutama untuk Random Forest:
Hasilnya sangat bagus, terutama untuk Random Forest:
```output
Accuracy (train) for RFST: 84.5%
@ -212,23 +212,23 @@ weighted avg 0.73 0.72 0.72 1199
✅ Pelajari tentang [Pengklasifikasi Ensemble](https://scikit-learn.org/stable/modules/ensemble.html)
Metode Machine Learning ini "menggabungkan prediksi dari beberapa estimator dasar" untuk meningkatkan kualitas model. Dalam contoh kami, kami menggunakan Random Trees dan AdaBoost.
Metode Pembelajaran Mesin ini "menggabungkan prediksi dari beberapa estimator dasar" untuk meningkatkan kualitas model. Dalam contoh kami, kami menggunakan Pohon Acak dan AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metode rata-rata, membangun 'hutan' dari 'pohon keputusan' yang diinfuskan dengan elemen acak untuk menghindari overfitting. Parameter n_estimators diatur ke jumlah pohon.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metode pengambilan rata-rata, membangun 'hutan' 'pohon keputusan' yang dibubuhi random untuk menghindari overfitting. Parameter n_estimators diatur ke jumlah pohon.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) menyesuaikan pengklasifikasi ke dataset dan kemudian menyesuaikan salinan pengklasifikasi tersebut ke dataset yang sama. Metode ini berfokus pada bobot item yang diklasifikasikan secara salah dan menyesuaikan fit untuk pengklasifikasi berikutnya untuk memperbaiki.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) menyesuaikan sebuah pengklasifikasi ke dataset dan kemudian menyesuaikan salinan pengklasifikasi itu ke dataset yang sama. Ini memfokuskan pada bobot item yang salah klasifikasi dan mengatur ulang penyesuaian untuk pengklasifikasi berikutnya agar memperbaiki.
---
## 🚀Tantangan
Setiap teknik ini memiliki sejumlah besar parameter yang dapat Anda sesuaikan. Teliti parameter default masing-masing dan pikirkan apa arti penyesuaian parameter ini untuk kualitas model.
Masing-masing teknik ini memiliki sejumlah besar parameter yang bisa Anda atur. Riset parameter default masing-masing dan pikirkan apa arti mengatur parameter-parameter ini untuk kualitas model.
## [Kuis setelah pelajaran](https://ff-quizzes.netlify.app/en/ml/)
## [Kuis pasca-kuliah](https://ff-quizzes.netlify.app/en/ml/)
## Tinjauan & Studi Mandiri
## Review & Belajar Mandiri
Ada banyak istilah teknis dalam pelajaran ini, jadi luangkan waktu untuk meninjau [daftar ini](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) istilah yang berguna!
Ada banyak jargon dalam pelajaran ini, jadi luangkan waktu sebentar untuk meninjau [daftar ini](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) terminologi yang berguna!
## Tugas
@ -236,5 +236,7 @@ Ada banyak istilah teknis dalam pelajaran ini, jadi luangkan waktu untuk meninja
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan terjemahan yang akurat, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber otoritatif. Untuk informasi penting, disarankan menggunakan jasa terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Bangun Model Klasifikasi\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Penafian**: \nDokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**: \nDokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk mendapatkan akurasi, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan jasa terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-04T08:32:14+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "id"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Bangun Lebih Banyak Model Klasifikasi\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Coba pengklasifikasi yang berbeda\n"
"# Coba berbagai klasifikator\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Penafian**: \nDokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**: \nDokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk menghasilkan terjemahan yang akurat, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah dan resmi. Untuk informasi yang sangat penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-04T08:33:04+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "id"
}
},
"nbformat": 4,

@ -13,78 +13,89 @@
#### Didukung melalui GitHub Action (Otomatis & Selalu Terbaru)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arab](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgaria](../bg/README.md) | [Burma (Myanmar)](../my/README.md) | [Cina (Sederhana)](../zh-CN/README.md) | [Cina (Tradisional, Hong Kong)](../zh-HK/README.md) | [Cina (Tradisional, Makau)](../zh-MO/README.md) | [Cina (Tradisional, Taiwan)](../zh-TW/README.md) | [Kroasia](../hr/README.md) | [Ceko](../cs/README.md) | [Denmark](../da/README.md) | [Belanda](../nl/README.md) | [Estonia](../et/README.md) | [Finlandia](../fi/README.md) | [Perancis](../fr/README.md) | [Jerman](../de/README.md) | [Yunani](../el/README.md) | [Ibrani](../he/README.md) | [Hindi](../hi/README.md) | [Hungaria](../hu/README.md) | [Indonesia](./README.md) | [Italia](../it/README.md) | [Jepang](../ja/README.md) | [Kannada](../kn/README.md) | [Korea](../ko/README.md) | [Lituania](../lt/README.md) | [Melayu](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Pidgin Nigeria](../pcm/README.md) | [Norwegia](../no/README.md) | [Persia (Farsi)](../fa/README.md) | [Polandia](../pl/README.md) | [Portugis (Brasil)](../pt-BR/README.md) | [Portugis (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumania](../ro/README.md) | [Rusia](../ru/README.md) | [Serbia (Sirilik)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenia](../sl/README.md) | [Spanyol](../es/README.md) | [Swahili](../sw/README.md) | [Swedia](../sv/README.md) | [Tagalog (Filipina)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turki](../tr/README.md) | [Ukraina](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnam](../vi/README.md)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](./README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Lebih Suka Clone Secara Lokal?**
> Repositori ini mencakup 50+ terjemahan bahasa yang secara signifikan meningkatkan ukuran unduhan. Untuk clone tanpa terjemahan, gunakan sparse checkout:
> **Lebih suka Mengkloning Secara Lokal?**
>
> Repositori ini menyertakan lebih dari 50 terjemahan bahasa yang secara signifikan meningkatkan ukuran unduhan. Untuk mengkloning tanpa terjemahan, gunakan sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Ini memberi Anda semua yang Anda butuhkan untuk menyelesaikan kursus dengan unduhan yang jauh lebih cepat.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Bergabung dengan Komunitas Kami
#### Bergabunglah dengan Komunitas Kami
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Kami memiliki seri belajar Discord dengan AI yang sedang berlangsung, pelajari lebih lanjut dan bergabunglah dengan kami di [Learn with AI Series](https://aka.ms/learnwithai/discord) dari 18 - 30 September, 2025. Anda akan mendapatkan tips dan trik menggunakan GitHub Copilot untuk Data Science.
Kami sedang menjalankan seri belajar Discord dengan AI, pelajari lebih lanjut dan bergabung dengan kami di [Learn with AI Series](https://aka.ms/learnwithai/discord) dari 18 - 30 September 2025. Anda akan mendapatkan tips dan trik menggunakan GitHub Copilot untuk Data Science.
![Learn with AI series](../../translated_images/id/3.9b58fd8d6c373c20.webp)
# Machine Learning untuk Pemula - Kurikulum
# Pembelajaran Mesin untuk Pemula - Kurikulum
> 🌍 Jelajahi dunia sambil belajar Machine Learning melalui budaya dunia 🌍
> 🌍 Jelajahi dunia sambil kami mempelajari Pembelajaran Mesin melalui kebudayaan dunia 🌍
Cloud Advocates di Microsoft senang menawarkan kurikulum 12 minggu, 26 pelajaran tentang **Machine Learning**. Dalam kurikulum ini, Anda akan belajar tentang apa yang kadang disebut **machine learning klasik**, menggunakan terutama library Scikit-learn dan menghindari deep learning, yang dibahas dalam [kurikulum AI untuk Pemula](https://aka.ms/ai4beginners). Padukan pelajaran ini dengan [kurikulum Data Science untuk Pemula](https://aka.ms/ds4beginners) juga!
Cloud Advocates di Microsoft dengan senang hati menawarkan kurikulum 12 minggu, 26 pelajaran seputar **Pembelajaran Mesin**. Dalam kurikulum ini, Anda akan belajar tentang apa yang kadang disebut **pembelajaran mesin klasik**, menggunakan terutama Scikit-learn sebagai perpustakaan dan menghindari pembelajaran mendalam, yang dibahas dalam [kurikulum AI untuk Pemula](https://aka.ms/ai4beginners) kami. Padukan pelajaran ini juga dengan ['Ilmu Data untuk Pemula' kurikulum](https://aka.ms/ds4beginners) kami!
Jelajahi bersama kami ke seluruh dunia saat kami menerapkan teknik klasik ini ke data dari berbagai wilayah. Setiap pelajaran mencakup kuis pra dan pasca pelajaran, instruksi tertulis untuk menyelesaikan pelajaran, solusi, tugas, dan lain-lain. Metode pembelajaran berbasis proyek kami memungkinkan Anda belajar sambil membangun, cara yang terbukti untuk ilmu baru 'melekat'.
Berjalanlah bersama kami ke berbagai belahan dunia saat kami menerapkan teknik klasik ini ke data dari banyak area di dunia. Setiap pelajaran mencakup kuis sebelum dan sesudah pelajaran, instruksi tertulis untuk menyelesaikan pelajaran, solusi, tugas, dan lainnya. Metodologi berbasis proyek kami memungkinkan Anda belajar sambil membangun, cara terbukti untuk membuat keterampilan baru 'lengket'.
**✍️ Terima kasih hangat kepada penulis kami** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu dan Amy Boyd
**✍️ Terima kasih sebesar-besarnya kepada para penulis kami** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu dan Amy Boyd
**🎨 Terima kasih juga kepada ilustrator kami** Tomomi Imura, Dasani Madipalli, dan Jen Looper
**🎨 Terima kasih juga kepada para ilustrator kami** Tomomi Imura, Dasani Madipalli, dan Jen Looper
**🙏 Terima kasih khusus 🙏 kepada Microsoft Student Ambassador penulis, reviewer, dan kontributor konten**, terutama Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, dan Snigdha Agarwal
**🙏 Terima kasih khusus 🙏 kepada para Microsoft Student Ambassador penulis, pengulas, dan kontributor konten kami**, khususnya Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, dan Snigdha Agarwal
**🤩 Terima kasih ekstra kepada Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, dan Vidushi Gupta untuk pelajaran R kami!**
# Memulai
Ikuti langkah-langkah ini:
1. **Fork Repository**: Klik tombol "Fork" di pojok kanan atas halaman ini.
1. **Fork Repository**: Klik tombol "Fork" di kanan atas halaman ini.
2. **Clone Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [temukan semua sumber daya tambahan untuk kursus ini di koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Perlu bantuan?** Periksa [Panduan Pemecahan Masalah](TROUBLESHOOTING.md) kami untuk solusi atas masalah umum saat instalasi, pengaturan, dan menjalankan pelajaran.
> 🔧 **Perlu bantuan?** Periksa [Panduan Pemecahan Masalah](TROUBLESHOOTING.md) kami untuk solusi masalah umum dengan instalasi, pengaturan, dan menjalankan pelajaran.
**[Siswa](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini, fork seluruh repo ke akun GitHub Anda sendiri dan selesaikan latihan sendiri atau bersama kelompok:
- Mulai dengan kuis pra kuliah.
- Baca kuliah dan selesaikan aktivitas, berhenti dan refleksi pada setiap pemeriksaan pengetahuan.
- Coba buat proyek dengan memahami pelajaran daripada menjalankan kode solusi; meskipun kode tersebut tersedia di folder `/solution` di setiap pelajaran berbasis proyek.
- Ikuti kuis pasca kuliah.
**[Siswa](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini, fork seluruh repo ke akun GitHub Anda sendiri dan selesaikan latihan secara mandiri atau bersama kelompok:
- Mulailah dengan kuis pemanasan pra-ceramah.
- Bacalah ceramah dan selesaikan aktivitas, berhenti sejenak dan renungkan setiap tes pengetahuan.
- Cobalah membuat proyek dengan memahami pelajaran daripada langsung menjalankan kode solusi; namun kode tersebut tersedia di folder `/solution` di tiap pelajaran berbasis proyek.
- Kerjakan kuis pasca-ceramah.
- Selesaikan tantangan.
- Selesaikan tugas.
- Setelah menyelesaikan satu grup pelajaran, kunjungi [Papan Diskusi](https://github.com/microsoft/ML-For-Beginners/discussions) dan "belajar dengan lantang" dengan mengisi rubrik PAT yang sesuai. 'PAT' adalah Alat Penilaian Kemajuan yang merupakan rubrik yang Anda isi untuk memperdalam pembelajaran Anda. Anda juga dapat memberi reaksi pada PAT lainnya agar kita bisa belajar bersama.
- Setelah menyelesaikan kelompok pelajaran, kunjungi [Papan Diskusi](https://github.com/microsoft/ML-For-Beginners/discussions) dan "belajar dengan suara lantang" dengan mengisi rubrik PAT yang sesuai. 'PAT' adalah Alat Penilaian Kemajuan yang merupakan rubrik yang Anda isi untuk melanjutkan pembelajaran Anda. Anda juga dapat memberi reaksi pada PAT lain agar kita bisa belajar bersama.
> Untuk studi lebih lanjut, kami sarankan mengikuti modul dan jalur belajar [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) ini.
> Untuk studi lebih lanjut, kami rekomendasikan mengikuti modul dan jalur pembelajaran [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
**Guru**, kami telah [menyertakan beberapa saran](for-teachers.md) tentang cara menggunakan kurikulum ini.
---
## Video panduan
## Video walkthroughs
Beberapa pelajaran tersedia dalam bentuk video singkat. Anda dapat menemukan semua ini dalam pelajaran, atau di [playlist ML for Beginners di kanal Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) dengan mengklik gambar di bawah ini.
Beberapa pelajaran tersedia dalam bentuk video singkat. Anda dapat menemukan semuanya secara langsung dalam pelajaran, atau di [playlist ML for Beginners di saluran Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) dengan mengklik gambar di bawah ini.
[![ML for beginners banner](../../translated_images/id/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## Bertemu Tim
## Temui Tim
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
@ -96,64 +107,64 @@ Beberapa pelajaran tersedia dalam bentuk video singkat. Anda dapat menemukan sem
## Pedagogi
Kami memilih dua prinsip pedagogis saat membangun kurikulum ini: memastikan kurikulum adalah **berbasis proyek praktis** dan mencakup **kuis yang sering**. Selain itu, kurikulum ini memiliki **tema** umum untuk memberikan kesatuan.
Kami memilih dua prinsip pedagogis saat menyusun kurikulum ini: memastikan bahwa kurikulum ini berbasis **proyek praktis** dan mencakup **kuis yang sering**. Selain itu, kurikulum ini memiliki **tema** yang sama untuk memberikan kesatuan.
Dengan memastikan konten selaras dengan proyek, proses pembelajaran menjadi lebih menarik bagi siswa dan retensi konsep meningkat. Selain itu, kuis dengan risiko rendah sebelum kelas menetapkan tujuan pembelajaran siswa, sementara kuis kedua setelah kelas memastikan retensi lebih jauh. Kurikulum ini dirancang fleksibel, menyenangkan, dan bisa diikuti secara keseluruhan atau sebagian. Proyek dimulai dengan kecil dan bertambah kompleks di akhir siklus 12 minggu. Kurikulum ini juga mencakup posskrip tentang penggunaan ML di dunia nyata, yang bisa digunakan sebagai kredit tambahan atau dasar diskusi.
Dengan memastikan konten sejalan dengan proyek, proses belajar menjadi lebih menarik bagi siswa dan retensi konsep akan meningkat. Selain itu, kuis dengan tingkat tekanan rendah sebelum kelas menetapkan niat siswa untuk mempelajari topik, sedangkan kuis kedua setelah kelas menjamin retensi lebih lanjut. Kurikulum ini dirancang agar fleksibel dan menyenangkan, dapat diambil secara keseluruhan atau sebagian. Proyek dimulai dari yang kecil dan menjadi semakin kompleks hingga akhir siklus 12 minggu. Kurikulum ini juga menyertakan posskrip mengenai aplikasi nyata dari ML, yang dapat digunakan sebagai kredit tambahan atau sebagai dasar diskusi.
> Temukan [Kode Etik](CODE_OF_CONDUCT.md), [Kontribusi](CONTRIBUTING.md), [Terjemahan](TRANSLATIONS.md), dan panduan [Pemecahan Masalah](TROUBLESHOOTING.md) kami. Kami menyambut masukan konstruktif Anda!
> Temukan [Kode Etik](CODE_OF_CONDUCT.md), [Kontribusi](CONTRIBUTING.md), [Terjemahan](TRANSLATIONS.md), dan [Panduan Pemecahan Masalah](TROUBLESHOOTING.md) kami. Kami menyambut umpan balik konstruktif Anda!
## Setiap pelajaran mencakup
- sketchnote opsional
- video tambahan opsional
- video panduan (beberapa pelajaran saja)
- [kuis pemanasan pra kuliah](https://ff-quizzes.netlify.app/en/ml/)
- video walkthrough (hanya beberapa pelajaran)
- [kuis pemanasan pra-ceramah](https://ff-quizzes.netlify.app/en/ml/)
- pelajaran tertulis
- untuk pelajaran berbasis proyek, panduan langkah demi langkah membangun proyek
- pemeriksaan pengetahuan
- tantangan
- bacaan tambahan
- tugas
- [kuis pasca kuliah](https://ff-quizzes.netlify.app/en/ml/)
> **Catatan tentang bahasa**: Pelajaran ini terutama ditulis dalam Python, tetapi banyak juga tersedia dalam R. Untuk menyelesaikan pelajaran R, buka folder `/solution` dan cari pelajaran R. Mereka memiliki ekstensi .rmd yang merupakan file **R Markdown** yang bisa didefinisikan sebagai penggabungan `potongan kode` (dari R atau bahasa lain) dan `header YAML` (yang mengarahkan cara memformat output seperti PDF) dalam sebuah `dokumen Markdown`. Dengan demikian, ini berfungsi sebagai kerangka penulisan yang baik untuk data science karena memungkinkan Anda menggabungkan kode, outputnya, dan pemikiran Anda dengan menulisnya dalam Markdown. Selain itu, dokumen R Markdown dapat dirender ke format output seperti PDF, HTML, atau Word.
> **Catatan tentang kuis**: Semua kuis terkandung di dalam [folder Quiz App](../../quiz-app), dengan total 52 kuis yang masing-masing berisi tiga pertanyaan. Kuis tersebut dihubungkan dari dalam pelajaran, tetapi aplikasi kuis dapat dijalankan secara lokal; ikuti instruksi dalam folder `quiz-app` untuk menghosting atau menerapkan secara lokal ke Azure.
| Nomor Pelajaran | Topik | Pengelompokan Pelajaran | Tujuan Pembelajaran | Tautan Pelajaran | Penulis |
| :-------------: | :-------------------------------------------------------------: | :------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------: |
| 01 | Pengenalan pembelajaran mesin | [Introduction](1-Introduction/README.md) | Mempelajari konsep dasar di balik pembelajaran mesin | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Sejarah pembelajaran mesin | [Introduction](1-Introduction/README.md) | Mempelajari sejarah yang mendasari bidang ini | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen dan Amy |
| 03 | Keadilan dan pembelajaran mesin | [Introduction](1-Introduction/README.md) | Apa saja isu filosofis penting tentang keadilan yang harus dipertimbangkan siswa saat membangun dan menerapkan model ML? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Teknik pembelajaran mesin | [Introduction](1-Introduction/README.md) | Teknik apa yang digunakan peneliti ML untuk membangun model ML? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris dan Jen |
| 05 | Pengenalan regresi | [Regression](2-Regression/README.md) | Memulai dengan Python dan Scikit-learn untuk model regresi | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Harga labu Amerika Utara 🎃 | [Regression](2-Regression/README.md) | Memvisualisasikan dan membersihkan data sebagai persiapan untuk ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Harga labu Amerika Utara 🎃 | [Regression](2-Regression/README.md) | Membangun model regresi linier dan polinomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen dan Dmitry • Eric Wanjau |
| 08 | Harga labu Amerika Utara 🎃 | [Regression](2-Regression/README.md) | Membangun model regresi logistik | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikasi Web 🔌 | [Web App](3-Web-App/README.md) | Membangun aplikasi web untuk menggunakan model yang sudah dilatih | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Pengenalan klasifikasi | [Classification](4-Classification/README.md) | Membersihkan, mempersiapkan, dan memvisualisasikan data; pengenalan klasifikasi | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen dan Cassie • Eric Wanjau |
| 11 | Masakan Asia dan India yang lezat 🍜 | [Classification](4-Classification/README.md) | Pengenalan klasifikator | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen dan Cassie • Eric Wanjau |
| 12 | Masakan Asia dan India yang lezat 🍜 | [Classification](4-Classification/README.md) | Klasifikator tambahan | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen dan Cassie • Eric Wanjau |
| 13 | Masakan Asia dan India yang lezat 🍜 | [Classification](4-Classification/README.md) | Membangun aplikasi web rekomendasi menggunakan model Anda | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Pengenalan pengelompokan | [Clustering](5-Clustering/README.md) | Membersihkan, mempersiapkan, dan memvisualisasikan data; pengenalan pengelompokan | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Menjelajahi Selera Musik Nigeria 🎧 | [Clustering](5-Clustering/README.md) | Mengeksplorasi metode pengelompokan K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Pengenalan pemrosesan bahasa alami ☕️ | [Natural language processing](6-NLP/README.md) | Mempelajari dasar-dasar NLP dengan membangun bot sederhana | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tugas umum NLP ☕️ | [Natural language processing](6-NLP/README.md) | Memperdalam pengetahuan NLP Anda dengan memahami tugas umum yang diperlukan saat menangani struktur bahasa | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Terjemahan dan analisis sentimen ♥️ | [Natural language processing](6-NLP/README.md) | Terjemahan dan analisis sentimen dengan Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantis di Eropa ♥️ | [Natural language processing](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantis di Eropa ♥️ | [Natural language processing](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Pengenalan peramalan deret waktu | [Time series](7-TimeSeries/README.md) | Pengenalan peramalan deret waktu | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Penggunaan Daya Dunia ⚡️ - peramalan deret waktu dengan ARIMA | [Time series](7-TimeSeries/README.md) | Peramalan deret waktu dengan ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Penggunaan Daya Dunia ⚡️ - peramalan deret waktu dengan SVR | [Time series](7-TimeSeries/README.md) | Peramalan deret waktu dengan Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pengenalan pembelajaran penguatan | [Reinforcement learning](8-Reinforcement/README.md) | Pengenalan pembelajaran penguatan dengan Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Membantu Peter menghindari serigala! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Pembelajaran penguatan di Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Skenario dan aplikasi ML dunia nyata | [ML in the Wild](9-Real-World/README.md) | Aplikasi menarik dan mengungkap dari ML klasik di dunia nyata | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Debugging Model di ML menggunakan dashboard RAI | [ML in the Wild](9-Real-World/README.md) | Debugging Model di Pembelajaran Mesin menggunakan komponen dashboard Responsible AI | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [temukan semua sumber daya tambahan untuk kursus ini di koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- [kuis pasca-ceramah](https://ff-quizzes.netlify.app/en/ml/)
> **Catatan tentang bahasa**: Pelajaran ini terutama ditulis dalam Python, tetapi banyak juga tersedia dalam R. Untuk menyelesaikan pelajaran R, buka folder `/solution` dan cari pelajaran R. Mereka memiliki ekstensi .rmd yang mewakili file **R Markdown** yang dapat didefinisikan secara sederhana sebagai penyisipan `chunk kode` (dari R atau bahasa lain) dan `header YAML` (yang mengatur format keluaran seperti PDF) dalam sebuah `dokumen Markdown`. Dengan demikian, ini berfungsi sebagai kerangka penulisan yang baik untuk ilmu data karena memungkinkan Anda menggabungkan kode, keluaran, dan pemikiran Anda dengan menulisnya dalam Markdown. Selain itu, dokumen R Markdown dapat dirender ke format keluaran seperti PDF, HTML, atau Word.
> **Catatan tentang kuis**: Semua kuis terdapat dalam [folder Quiz App](../../quiz-app), dengan total 52 kuis yang masing-masing terdiri dari tiga pertanyaan. Kuis-kuis tersebut dihubungkan dari dalam pelajaran, tetapi aplikasi kuis dapat dijalankan secara lokal; ikuti instruksi di folder `quiz-app` untuk menjalankan secara lokal atau deploy ke Azure.
| Nomor Pelajaran | Topik | Kelompok Pelajaran | Tujuan Pembelajaran | Pelajaran Terkait | Penulis |
| :-------------: | :------------------------------------------------------------: | :-----------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Pengenalan pembelajaran mesin | [Pengantar](1-Introduction/README.md) | Pelajari konsep dasar di balik pembelajaran mesin | [Pelajaran](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Sejarah pembelajaran mesin | [Pengantar](1-Introduction/README.md) | Pelajari sejarah di balik bidang ini | [Pelajaran](1-Introduction/2-history-of-ML/README.md) | Jen dan Amy |
| 03 | Keadilan dan pembelajaran mesin | [Pengantar](1-Introduction/README.md) | Apa isu filosofis penting tentang keadilan yang harus dipertimbangkan siswa saat membangun dan menerapkan model ML? | [Pelajaran](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Teknik untuk pembelajaran mesin | [Pengantar](1-Introduction/README.md) | Teknik apa yang digunakan peneliti ML untuk membangun model ML? | [Pelajaran](1-Introduction/4-techniques-of-ML/README.md) | Chris dan Jen |
| 05 | Pengenalan regresi | [Regresi](2-Regression/README.md) | Mulai menggunakan Python dan Scikit-learn untuk model regresi | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Visualisasikan dan bersihkan data untuk persiapan pembelajaran mesin | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bangun model regresi linear dan polynomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen dan Dmitry • Eric Wanjau |
| 08 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bangun model regresi logistik | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikasi Web 🔌 | [Aplikasi Web](3-Web-App/README.md) | Bangun aplikasi web untuk menggunakan model Anda yang sudah dilatih | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Pengenalan klasifikasi | [Klasifikasi](4-Classification/README.md) | Bersihkan, persiapkan, dan visualisasikan data; pengenalan klasifikasi | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen dan Cassie • Eric Wanjau |
| 11 | Masakan Asia dan India yang lezat 🍜 | [Klasifikasi](4-Classification/README.md) | Pengenalan klasifier | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen dan Cassie • Eric Wanjau |
| 12 | Masakan Asia dan India yang lezat 🍜 | [Klasifikasi](4-Classification/README.md) | Lebih banyak klasifier | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen dan Cassie • Eric Wanjau |
| 13 | Masakan Asia dan India yang lezat 🍜 | [Klasifikasi](4-Classification/README.md) | Bangun aplikasi web rekomendasi menggunakan model Anda | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Pengenalan klastering | [Klastering](5-Clustering/README.md) | Bersihkan, persiapkan, dan visualisasikan data; pengenalan klastering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Menjelajahi selera musik Nigeria 🎧 | [Klastering](5-Clustering/README.md) | Jelajahi metode klastering K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Pengenalan pengolahan bahasa alami ☕️ | [Pengolahan bahasa alami](6-NLP/README.md) | Pelajari dasar-dasar NLP dengan membangun bot sederhana | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tugas NLP umum ☕️ | [Pengolahan bahasa alami](6-NLP/README.md) | Perdalam pengetahuan NLP Anda dengan memahami tugas umum yang diperlukan saat berurusan dengan struktur bahasa | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Terjemahan dan analisis sentimen ♥️ | [Pengolahan bahasa alami](6-NLP/README.md) | Terjemahan dan analisis sentimen dengan Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantis di Eropa ♥️ | [Pengolahan bahasa alami](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantis di Eropa ♥️ | [Pengolahan bahasa alami](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Pengenalan peramalan deret waktu | [Deret waktu](7-TimeSeries/README.md) | Pengenalan peramalan deret waktu | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Penggunaan Listrik Dunia ⚡️ - peramalan deret waktu dengan ARIMA | [Deret waktu](7-TimeSeries/README.md) | Peramalan deret waktu dengan ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Penggunaan Listrik Dunia ⚡️ - peramalan deret waktu dengan SVR | [Deret waktu](7-TimeSeries/README.md) | Peramalan deret waktu dengan Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pengenalan pembelajaran penguatan | [Pembelajaran penguatan](8-Reinforcement/README.md) | Pengenalan pembelajaran penguatan dengan Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Bantu Peter menghindari serigala! 🐺 | [Pembelajaran penguatan](8-Reinforcement/README.md) | Gym pembelajaran penguatan | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Skema dan aplikasi ML di dunia nyata | [ML di dunia nyata](9-Real-World/README.md) | Aplikasi menarik dan mengungkapkan ML klasik di dunia nyata | [Pelajaran](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Debugging Model dalam ML menggunakan dashboard RAI | [ML di dunia nyata](9-Real-World/README.md) | Debugging Model dalam Pembelajaran Mesin menggunakan komponen dashboard Responsible AI | [Pelajaran](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [temukan semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Akses offline
Anda dapat menjalankan dokumentasi ini secara offline dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [instal Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu di folder root repo ini, ketik `docsify serve`. Situs web akan disajikan di port 3000 pada localhost Anda: `localhost:3000`.
Anda dapat menjalankan dokumentasi ini secara offline dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repositori ini, [pasang Docsify](https://docsify.js.org/#/quickstart) di mesin lokal Anda, lalu pada folder root repositori ini, ketik `docsify serve`. Situs web akan diakses di port 3000 pada localhost Anda: `localhost:3000`.
## PDF
@ -162,18 +173,18 @@ Temukan pdf kurikulum dengan tautan [di sini](https://microsoft.github.io/ML-For
## 🎒 Kursus Lainnya
Tim kami memproduksi kursus lain! Lihat:
Tim kami memproduksi kursus lainnya! Lihat:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j untuk Pemula](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js untuk Pemula](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain untuk Pemula](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agen
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / Agents
[![AZD untuk Pemula](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI untuk Pemula](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -206,17 +217,22 @@ Tim kami memproduksi kursus lain! Lihat:
## Mendapatkan Bantuan
Jika Anda mengalami kesulitan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan dialu-alukan dan pengetahuan dibagikan secara bebas.
Jika Anda mengalami kesulitan atau memiliki pertanyaan tentang membangun aplikasi AI. Bergabunglah dengan sesama pelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan diterima dan pengetahuan dibagikan dengan bebas.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Jika Anda memiliki umpan balik produk atau menemukan kesalahan saat membangun, kunjungi:
Jika Anda memiliki umpan balik produk atau kesalahan saat membangun, kunjungi:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Tips Pembelajaran Tambahan
- Tinjau notebook setelah setiap pelajaran untuk pemahaman yang lebih baik.
- Latih penerapan algoritma secara mandiri.
- Jelajahi dataset dunia nyata menggunakan konsep yang telah dipelajari.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk mencapai akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang kritis, disarankan menggunakan penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk mencapai ketepatan, harap diingat bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah dan utama. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "ms"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-05T19:34:31+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T09:36:19+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "ms"
},
@ -90,8 +90,8 @@
"language_code": "ms"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T18:41:52+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T09:37:23+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "ms"
},
@ -186,8 +186,8 @@
"language_code": "ms"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T19:57:06+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T09:37:46+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "ms"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "ms"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:31:56+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "ms"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-05T19:58:03+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "ms"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:32:02+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "ms"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T19:54:57+00:00",
@ -540,8 +552,8 @@
"language_code": "ms"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:43:33+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T09:36:12+00:00",
"source_file": "README.md",
"language_code": "ms"
},

@ -1,16 +1,18 @@
# Terokai Alat AI Bertanggungjawab
# Terokai Kotak Alat AI Bertanggungjawab
## Arahan
Dalam pelajaran ini, anda telah mempelajari tentang Alat AI Bertanggungjawab, sebuah "projek sumber terbuka yang didorong oleh komuniti untuk membantu saintis data menganalisis dan memperbaiki sistem AI." Untuk tugasan ini, terokai salah satu [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) RAI Toolbox dan laporkan penemuan anda dalam bentuk kertas kerja atau pembentangan.
Dalam pelajaran ini anda telah belajar tentang Kotak Alat AI Bertanggungjawab, sebuah "projek sumber terbuka yang dipacu oleh komuniti untuk membantu saintis data menganalisis dan memperbaiki sistem AI." Untuk tugasan ini, terokai salah satu [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) RAI Toolbox dan laporkan penemuan anda dalam kertas kerja atau pembentangan.
## Rubrik
| Kriteria | Cemerlang | Memadai | Perlu Penambahbaikan |
| -------- | --------- | -------- | -------------------- |
| | Kertas kerja atau pembentangan PowerPoint disediakan yang membincangkan sistem Fairlearn, notebook yang dijalankan, dan kesimpulan yang diperoleh daripada menjalankannya | Kertas kerja disediakan tanpa kesimpulan | Tiada kertas kerja disediakan |
| -------- | --------- | -------- | ----------------- |
| | Sebuah kertas kerja atau pembentangan powerpoint dibentangkan membincangkan sistem Fairlearn, notebook yang dijalankan, dan kesimpulan yang diperoleh dari menjalankannya | Sebuah kertas kerja dibentangkan tanpa kesimpulan | Tiada kertas kerja dibentangkan |
---
**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.
<!-- 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 ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sah. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Bina model regresi menggunakan Scikit-learn: empat cara regresi
![Infografik regresi linear vs polinomial](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
## Nota Pemula
Regresi linear digunakan apabila kita ingin meramalkan **nilai berangka** (contohnya, harga rumah, suhu, atau jualan).
Ia berfungsi dengan mencari garis lurus yang paling mewakili hubungan antara ciri input dan output.
Dalam pelajaran ini, kita fokus pada memahami konsep sebelum meneroka teknik regresi yang lebih maju.
![Infografik regresi linear vs polinomial](../../../../translated_images/ms/linear-polynomial.5523c7cb6576ccab.webp)
> Infografik oleh [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Kuiz pra-pelajaran](https://ff-quizzes.netlify.app/en/ml/)
## [Kuiz pra kuliah](https://ff-quizzes.netlify.app/en/ml/)
> ### [Pelajaran ini tersedia dalam R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Pengenalan
Setakat ini, anda telah meneroka apa itu regresi dengan data sampel yang dikumpulkan daripada dataset harga labu yang akan kita gunakan sepanjang pelajaran ini. Anda juga telah memvisualisasikannya menggunakan Matplotlib.
Setakat ini anda telah menerokai apa itu regresi dengan data contoh yang diambil dari set data harga labu yang akan kita gunakan sepanjang pelajaran ini. Anda juga telah memvisualisasikannya menggunakan Matplotlib.
Kini anda bersedia untuk mendalami regresi untuk ML. Walaupun visualisasi membolehkan anda memahami data, kekuatan sebenar Pembelajaran Mesin datang daripada _melatih model_. Model dilatih menggunakan data sejarah untuk secara automatik menangkap pergantungan data, dan ia membolehkan anda meramalkan hasil untuk data baharu yang belum pernah dilihat oleh model.
Kini anda sudah bersedia untuk mendalami regresi bagi ML. Walaupun visualisasi membolehkan anda memahami data, kekuatan sebenar Pembelajaran Mesin datang daripada _melatih model_. Model dilatih menggunakan data sejarah untuk menangkap kebergantungan data secara automatik, dan ia membolehkan anda meramalkan hasil untuk data baru, yang mana model belum pernah lihat sebelum ini.
Dalam pelajaran ini, anda akan mempelajari lebih lanjut tentang dua jenis regresi: _regresi linear asas_ dan _regresi polinomial_, bersama-sama dengan beberapa matematik yang mendasari teknik ini. Model-model ini akan membolehkan kita meramalkan harga labu bergantung pada data input yang berbeza.
Dalam pelajaran ini, anda akan mempelajari lebih lanjut tentang dua jenis regresi: _regresi linear asas_ dan _regresi polinomial_, bersama dengan sedikit matematik yang mendasari teknik-teknik ini. Model-model tersebut akan membolehkan kita meramalkan harga labu bergantung pada data input yang berbeza.
[![ML untuk pemula - Memahami Regresi Linear](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML untuk pemula - Memahami Regresi Linear")
> 🎥 Klik imej di atas untuk video ringkas mengenai regresi linear.
> 🎥 Klik imej di atas untuk video ringkas pengenalan kepada regresi linear.
> Sepanjang kurikulum ini, kami mengandaikan pengetahuan matematik yang minimum, dan berusaha untuk menjadikannya mudah diakses oleh pelajar dari bidang lain, jadi perhatikan nota, 🧮 panggilan, diagram, dan alat pembelajaran lain untuk membantu pemahaman.
> Sepanjang kurikulum ini, kami menganggap pengetahuan matematik adalah minimum, dan berusaha menjadikannya boleh diakses oleh pelajar daripada bidang lain, jadi perhatikan nota, 🧮 catatan, rajah, dan alat pembelajaran lain sebagai bantuan pemahaman.
### Prasyarat
Anda seharusnya sudah biasa dengan struktur data labu yang sedang kita kaji. Anda boleh menemukannya telah dimuatkan dan dibersihkan dalam fail _notebook.ipynb_ pelajaran ini. Dalam fail tersebut, harga labu dipaparkan per gantang dalam bingkai data baharu. Pastikan anda boleh menjalankan notebook ini dalam kernel di Visual Studio Code.
Anda sepatutnya sudah biasa dengan struktur data labu yang sedang kita periksa. Anda boleh dapati ia telah dimuatkan dan dibersihkan dalam fail _notebook.ipynb_ pelajaran ini. Dalam fail itu, harga labu dipaparkan per bushel dalam bingkai data baru. Pastikan anda boleh menjalankan buku nota ini dalam kernel Visual Studio Code.
### Persediaan
### Persiapan
Sebagai peringatan, anda memuatkan data ini untuk bertanya soalan mengenainya.
Sebagai peringatan, anda memuatkan data ini supaya dapat bertanya soalan mengenainya.
- Bilakah masa terbaik untuk membeli labu?
- Berapakah harga yang boleh saya jangkakan untuk satu kotak labu mini?
- Haruskah saya membelinya dalam bakul setengah gantang atau dalam kotak 1 1/9 gantang?
Mari kita teruskan menyelidiki data ini.
- Berapakah harga yang boleh saya jangkakan untuk satu kotak labu kecil?
- Perlukah saya membelinya dalam bakul separuh bushel atau kotak 1 1/9 bushel?
Mari kita terus meneliti data ini.
Dalam pelajaran sebelumnya, anda telah mencipta bingkai data Pandas dan mengisinya dengan sebahagian daripada dataset asal, menstandardkan harga mengikut gantang. Dengan melakukan itu, bagaimanapun, anda hanya dapat mengumpulkan kira-kira 400 titik data dan hanya untuk bulan-bulan musim luruh.
Dalam pelajaran sebelum ini, anda telah mencipta bingkai data Pandas dan mengisinya dengan sebahagian dataset asal, menetapkan harga mengikut bushel. Dengan berbuat demikian, anda hanya berjaya mengumpul kira-kira 400 titik data dan hanya untuk bulan musim luruh.
Lihat data yang telah dimuatkan dalam notebook yang disertakan dengan pelajaran ini. Data telah dimuatkan dan plot penyebaran awal telah dibuat untuk menunjukkan data bulan. Mungkin kita boleh mendapatkan sedikit lebih banyak perincian tentang sifat data dengan membersihkannya lebih lanjut.
Lihat data yang telah dimuatkan dalam buku nota pelajaran ini. Data dimuatkan dan plot taburan awal dipaparkan untuk menunjukkan data bulan. Mungkin kita boleh mendapatkan lebih banyak maklumat tentang sifat data dengan membersihkannya lebih lanjut.
## Garis regresi linear
Seperti yang anda pelajari dalam Pelajaran 1, tujuan latihan regresi linear adalah untuk dapat memplot garis untuk:
Seperti yang anda pelajari dalam Pelajaran 1, tujuan latihan regresi linear adalah untuk dapat melukis garis untuk:
- **Menunjukkan hubungan pembolehubah**. Menunjukkan hubungan antara pembolehubah
- **Membuat ramalan**. Membuat ramalan tepat tentang di mana titik data baru akan jatuh berbanding garis itu.
Adalah biasa untuk **Regresi Kuasa Dua Terkecil (Least-Squares Regression)** melukis jenis garis ini. Istilah "Least-Squares" merujuk kepada proses meminimumkan jumlah ralat dalam model kita. Untuk setiap titik data, kita mengukur jarak menegak (dipanggil residual) antara titik sebenar dan garis regresi kita.
- **Menunjukkan hubungan pemboleh ubah**. Menunjukkan hubungan antara pemboleh ubah
- **Membuat ramalan**. Membuat ramalan yang tepat tentang di mana titik data baharu akan berada dalam hubungan dengan garis tersebut.
Kita kuasakan dua jarak ini atas dua sebab utama:
Adalah biasa bagi **Regresi Kuadrat Terkecil** untuk melukis jenis garis ini. Istilah 'kuadrat terkecil' bermaksud bahawa semua titik data di sekitar garis regresi dikwadratkan dan kemudian dijumlahkan. Sebaiknya, jumlah akhir itu sekecil mungkin, kerana kita mahukan bilangan kesalahan yang rendah, atau `kuadrat terkecil`.
1. **Magnitud lebih penting daripada Arah:** Kita ingin menganggap ralat -5 sama seperti ralat +5. Kuasa dua menjadikan semua nilai positif.
Kita melakukan ini kerana kita ingin memodelkan garis yang mempunyai jarak kumulatif paling kecil dari semua titik data kita. Kita juga mengkwadratkan istilah sebelum menjumlahkannya kerana kita lebih peduli dengan magnitudnya daripada arahnya.
2. **Menghukum Outlier:** Kuasa dua memberi lebih berat kepada ralat besar, memaksa garis berada lebih dekat dengan titik yang jauh.
> **🧮 Tunjukkan matematiknya**
Kemudian kami jumlahkan semua nilai kuasa dua ini bersama. Matlamat kami adalah untuk mencari garis khusus di mana jumlah akhir ini adalah paling kecil (nilai terkecil yang mungkin) — sebab itulah namanya "Least-Squares".
> **🧮 Tunjukkan matematiknya**
>
> Garis ini, yang disebut _garis terbaik_, dapat dinyatakan dengan [persamaan](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Garis ini, dipanggil _garis pemadanan terbaik_ boleh dinyatakan oleh [persamaan](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` adalah 'pemboleh ubah penjelasan'. `Y` adalah 'pemboleh ubah bergantung'. Kecerunan garis adalah `b` dan `a` adalah pemintas-y, yang merujuk kepada nilai `Y` apabila `X = 0`.
> `X` adalah 'pembolehubah penerangan'. `Y` adalah 'pembolehubah bergantung'. Cerun garis adalah `b` dan `a` adalah pintasan-y, merujuk kepada nilai `Y` apabila `X = 0`.
>
>![mengira kecerunan](../../../../2-Regression/3-Linear/images/slope.png)
>![kira cerun](../../../../translated_images/ms/slope.f3c9d5910ddbfcf9.webp)
>
> Pertama, kira kecerunan `b`. Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
> Pertama, hitung cerun `b`. Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
>
> Dalam kata lain, dan merujuk kepada soalan asal data labu kita: "ramalkan harga labu per gantang mengikut bulan", `X` akan merujuk kepada harga dan `Y` akan merujuk kepada bulan jualan.
> Dengan kata lain, dan merujuk kepada soalan asal data labu kita: "meramalkan harga labu per bushel mengikut bulan", `X` merujuk kepada harga dan `Y` merujuk kepada bulan jualan.
>
>![lengkapkan persamaan](../../../../2-Regression/3-Linear/images/calculation.png)
>![lengkapkan persamaan](../../../../translated_images/ms/calculation.a209813050a1ddb1.webp)
>
> Kira nilai Y. Jika anda membayar sekitar $4, itu mesti bulan April! Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
> Kira nilai Y. Jika anda membayar sekitar $4, mesti April! Infografik oleh [Jen Looper](https://twitter.com/jenlooper)
>
> Matematik yang mengira garis mesti menunjukkan kecerunan garis, yang juga bergantung pada pemintas, atau di mana `Y` terletak apabila `X = 0`.
> Matematik yang mengira garis mesti menunjukkan cerun garis, yang juga bergantung pada pintasan, atau di mana `Y` terletak apabila `X = 0`.
>
> Anda boleh melihat kaedah pengiraan untuk nilai-nilai ini di laman web [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Juga lawati [kalkulator Kuadrat Terkecil](https://www.mathsisfun.com/data/least-squares-calculator.html) untuk melihat bagaimana nilai-nilai angka mempengaruhi garis.
> Anda boleh memerhatikan kaedah pengiraan nilai-nilai ini di laman web [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Juga lawati [Kalkulator Least-squares ini](https://www.mathsisfun.com/data/least-squares-calculator.html) untuk melihat bagaimana nilai nombor mempengaruhi garis.
## Korelasi
Satu lagi istilah yang perlu difahami ialah **Pekali Korelasi** antara pemboleh ubah X dan Y yang diberikan. Menggunakan plot penyebaran, anda boleh dengan cepat memvisualisasikan pekali ini. Plot dengan titik data yang tersebar dalam garis rapi mempunyai korelasi tinggi, tetapi plot dengan titik data yang tersebar di mana-mana antara X dan Y mempunyai korelasi rendah.
Satu lagi istilah yang perlu difahami adalah **Pekali Korelasi** antara pembolehubah X dan Y tertentu. Menggunakan plot taburan, anda boleh dengan cepat memvisualisasikan pekali ini. Plot dengan titik data bertaburan dalam garis kemas mempunyai korelasi tinggi, tetapi plot dengan titik data bertaburan di mana-mana antara X dan Y mempunyai korelasi rendah.
Model regresi linear yang baik adalah model yang mempunyai Pekali Korelasi tinggi (lebih dekat kepada 1 daripada 0) menggunakan kaedah Regresi Kuadrat Terkecil dengan garis regresi.
Model regresi linear yang baik adalah yang mempunyai Pekali Korelasi tinggi (lebih hampir ke 1 berbanding 0) menggunakan kaedah Regresi Least-Squares dengan garis regresi.
✅ Jalankan notebook yang disertakan dengan pelajaran ini dan lihat plot penyebaran Bulan ke Harga. Adakah data yang mengaitkan Bulan ke Harga untuk jualan labu kelihatan mempunyai korelasi tinggi atau rendah, menurut tafsiran visual anda terhadap plot penyebaran? Adakah itu berubah jika anda menggunakan ukuran yang lebih terperinci daripada `Bulan`, contohnya *hari dalam tahun* (iaitu bilangan hari sejak awal tahun)?
✅ Jalankan buku nota yang menyertai pelajaran ini dan lihat plot taburan Bulan ke Harga. Adakah data yang mengaitkan Bulan kepada Harga untuk jualan labu kelihatan mempunyai korelasi tinggi atau rendah menurut tafsiran visual anda tentang plot taburan? Adakah itu berubah jika anda menggunakan ukuran lebih terperinci daripada `Bulan`, contohnya *hari dalam tahun* (iaitu bilangan hari sejak awal tahun)?
Dalam kod di bawah, kita akan mengandaikan bahawa kita telah membersihkan data, dan memperoleh bingkai data yang disebut `new_pumpkins`, serupa dengan yang berikut:
Dalam kod di bawah, kita akan menganggap bahawa kita telah membersihkan data, dan memperoleh bingkai data yang dipanggil `new_pumpkins`, serupa seperti berikut:
ID | Bulan | HariDalamTahun | Jenis | Bandar | Pakej | Harga Rendah | Harga Tinggi | Harga
---|-------|----------------|-------|--------|-------|--------------|--------------|------
70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
ID | Bulan | DayOfYear | Varieti | Bandar | Pakej | Harga Rendah | Harga Tinggi | Harga
---|-------|-----------|---------|--------|-------|--------------|--------------|-------
70 | 9 | 267 | JENIS PAI | BALTIMORE | 1 1/9 karton bushel | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | JENIS PAI | BALTIMORE | 1 1/9 karton bushel | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | JENIS PAI | BALTIMORE | 1 1/9 karton bushel | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | JENIS PAI | BALTIMORE | 1 1/9 karton bushel | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | JENIS PAI | BALTIMORE | 1 1/9 karton bushel | 15.0 | 15.0 | 13.636364
> Kod untuk membersihkan data tersedia dalam [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Kami telah melakukan langkah pembersihan yang sama seperti dalam pelajaran sebelumnya, dan telah mengira lajur `HariDalamTahun` menggunakan ekspresi berikut:
> Kod untuk membersihkan data tersedia dalam [`notebook.ipynb`](notebook.ipynb). Kami telah melakukan langkah pembersihan yang sama seperti dalam pelajaran sebelum ini, dan telah mengira lajur `DayOfYear` menggunakan ungkapan berikut:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Sekarang setelah anda memahami matematik di sebalik regresi linear, mari kita buat model Regresi untuk melihat sama ada kita boleh meramalkan pakej labu mana yang akan mempunyai harga labu terbaik. Seseorang yang membeli labu untuk ladang labu percutian mungkin mahukan maklumat ini untuk mengoptimumkan pembelian pakej labu untuk ladang tersebut.
Sekarang bahawa anda sudah memahami matematik di sebalik regresi linear, mari buat model Regresi untuk melihat sama ada kita boleh meramalkan pakej labu mana yang akan mempunyai harga labu terbaik. Seseorang yang membeli labu untuk taman labu percutian mungkin mahu maklumat ini untuk mengoptimumkan pembelian pakej labu mereka untuk taman tersebut.
## Mencari Korelasi
[![ML untuk pemula - Mencari Korelasi: Kunci kepada Regresi Linear](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML untuk pemula - Mencari Korelasi: Kunci kepada Regresi Linear")
> 🎥 Klik imej di atas untuk video ringkas mengenai korelasi.
> 🎥 Klik imej di atas untuk video ringkas pengenalan kepada korelasi.
Daripada pelajaran sebelumnya, anda mungkin telah melihat bahawa harga purata untuk bulan-bulan yang berbeza kelihatan seperti ini:
Daripada pelajaran sebelum ini anda mungkin telah melihat bahawa harga purata bagi bulan-bulan yang berbeza kelihatan seperti ini:
<img alt="Harga purata mengikut bulan" src="../../../../translated_images/ms/barchart.a833ea9194346d76.webp" width="50%"/>
Ini menunjukkan bahawa mungkin terdapat beberapa korelasi, dan kita boleh mencuba melatih model regresi linear untuk meramalkan hubungan antara `Bulan` dan `Harga`, atau antara `HariDalamTahun` dan `Harga`. Berikut adalah plot penyebaran yang menunjukkan hubungan yang terakhir:
Ini mencadangkan bahawa harus ada korelasi, dan kita boleh cuba melatih model regresi linear untuk meramalkan hubungan antara `Bulan` dan `Harga`, atau antara `DayOfYear` dan `Harga`. Berikut ialah plot taburan yang menunjukkan hubungan kedua:
<img alt="Plot penyebaran Harga vs. Hari dalam Tahun" src="../../../../translated_images/ms/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Plot taburan Harga vs. Hari dalam Tahun" src="../../../../translated_images/ms/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Mari kita lihat sama ada terdapat korelasi menggunakan fungsi `corr`:
Mari kita lihat jika ada korelasi menggunakan fungsi `corr`:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Nampaknya korelasi agak kecil, -0.15 mengikut `Bulan` dan -0.17 mengikut `HariDalamTahun`, tetapi mungkin terdapat hubungan penting yang lain. Nampaknya terdapat kelompok harga yang berbeza yang sesuai dengan jenis labu yang berbeza. Untuk mengesahkan hipotesis ini, mari kita plot setiap kategori labu menggunakan warna yang berbeza. Dengan memberikan parameter `ax` kepada fungsi plot `scatter`, kita boleh memplot semua titik pada graf yang sama:
Nampaknya korelasi agak kecil, -0.15 mengikut `Bulan` dan -0.17 mengikut `DayOfMonth`, tetapi boleh jadi ada hubungan penting lain. Nampaknya terdapat kelompok harga yang berbeza mengikut varieti labu yang berlainan. Untuk mengesahkan hipotesis ini, mari plot setiap kategori labu menggunakan warna berlainan. Dengan memasukkan parameter `ax` kepada fungsi plot `scatter`, kita boleh plot semua titik dalam graf yang sama:
```python
ax=None
@ -128,42 +140,42 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
```
<img alt="Plot penyebaran Harga vs. Hari dalam Tahun" src="../../../../translated_images/ms/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Plot taburan Harga vs. Hari dalam Tahun dengan warna" src="../../../../translated_images/ms/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Penyelidikan kita menunjukkan bahawa jenis labu mempunyai lebih banyak kesan terhadap harga keseluruhan daripada tarikh jualan sebenar. Kita boleh melihat ini dengan graf bar:
Penyiasatan kami mencadangkan varieti lebih memberi kesan ke atas harga keseluruhan berbanding tarikh jualan sebenar. Kita dapat lihat ini dengan graf bar:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Graf bar harga vs jenis labu" src="../../../../translated_images/ms/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Graf bar harga mengikut varieti" src="../../../../translated_images/ms/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Mari kita fokus buat sementara waktu hanya pada satu jenis labu, 'pie type', dan lihat kesan tarikh terhadap harga:
Mari kita fokus buat sementara waktu hanya pada satu varieti labu, 'jenis pai', dan lihat apa kesan tarikh terhadap harga:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Plot penyebaran Harga vs. Hari dalam Tahun" src="../../../../translated_images/ms/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Plot taburan Harga vs. Hari dalam Tahun pada labu pai" src="../../../../translated_images/ms/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Jika kita kini mengira korelasi antara `Harga` dan `HariDalamTahun` menggunakan fungsi `corr`, kita akan mendapat sesuatu seperti `-0.27` - yang bermaksud bahawa melatih model ramalan masuk akal.
Jika kita kira korelasi antara `Harga` dan `DayOfYear` menggunakan fungsi `corr`, kita akan dapat nilai sekitar `-0.27` - yang bermakna melatih model ramalan adalah masuk akal.
> Sebelum melatih model regresi linear, adalah penting untuk memastikan data kita bersih. Regresi linear tidak berfungsi dengan baik dengan nilai yang hilang, oleh itu masuk akal untuk membuang semua sel kosong:
> Sebelum melatih model regresi linear, penting untuk memastikan data kita bersih. Regresi linear tidak berfungsi dengan baik dengan nilai hilang, jadi masuk akal untuk menghapus semua sel kosong:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Pendekatan lain adalah dengan mengisi nilai kosong tersebut dengan nilai purata dari lajur yang sesuai.
Pendekatan lain adalah mengisi nilai kosong itu dengan nilai purata dari lajur yang bersesuaian.
## Regresi Linear Mudah
## Regresi Linear Ringkas
[![ML untuk pemula - Regresi Linear dan Polinomial menggunakan Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML untuk pemula - Regresi Linear dan Polinomial menggunakan Scikit-learn")
> 🎥 Klik imej di atas untuk video ringkas mengenai regresi linear dan polinomial.
> 🎥 Klik imej di atas untuk video ringkas pengenalan regresi linear dan polinomial.
Untuk melatih model Regresi Linear kita, kita akan menggunakan perpustakaan **Scikit-learn**.
Untuk melatih model Regresi Linear, kita akan menggunakan perpustakaan **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
@ -171,31 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Kita mulakan dengan memisahkan nilai input (ciri) dan output yang dijangkakan (label) ke dalam array numpy yang berasingan:
Kita mulakan dengan memisahkan nilai input (ciri) dan output yang dijangka (label) ke dalam array numpy berasingan:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Perhatikan bahawa kita perlu melakukan `reshape` pada data input agar pakej Regresi Linear memahaminya dengan betul. Regresi Linear mengharapkan array 2D sebagai input, di mana setiap baris array sesuai dengan vektor ciri input. Dalam kes kita, kerana kita hanya mempunyai satu input - kita memerlukan array dengan bentuk N×1, di mana N adalah saiz dataset.
> Perhatikan bahawa kita perlu melakukan `reshape` pada data input supaya pakej Regresi Linear memahaminya dengan betul. Regresi Linear mengharapkan array 2D sebagai input, di mana setiap baris dalam array mewakili vektor ciri input. Dalam kes kita, kerana hanya ada satu input, kita memerlukan array berbentuk N&times;1, di mana N adalah saiz dataset.
Kemudian, kita perlu membahagikan data kepada dataset latihan dan ujian, supaya kita boleh mengesahkan model kita selepas latihan:
Kemudian, kita perlu membahagikan data kepada dataset latihan dan ujian, supaya kita dapat mengesahkan model selepas latihan:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Akhirnya, melatih model Regresi Linear sebenar hanya memerlukan dua baris kod. Kita mendefinisikan objek `LinearRegression`, dan melatihnya dengan data kita menggunakan kaedah `fit`:
Akhirnya, melatih model Regresi Linear sebenar hanya mengambil dua baris kod. Kita definisikan objek `LinearRegression`, dan fitkan kepada data menggunakan kaedah `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Objek `LinearRegression` selepas `fit`-ting mengandungi semua pekali regresi, yang boleh diakses menggunakan sifat `.coef_`. Dalam kes kita, hanya ada satu pekali, yang seharusnya sekitar `-0.017`. Ini bermaksud bahawa harga nampaknya menurun sedikit dengan masa, tetapi tidak terlalu banyak, sekitar 2 sen sehari. Kita juga boleh mengakses titik persilangan regresi dengan paksi Y menggunakan `lin_reg.intercept_` - ia akan sekitar `21` dalam kes kita, menunjukkan harga pada awal tahun.
Objek `LinearRegression` selepas `fit` mengandungi semua pekali regresi, yang boleh diakses menggunakan sifat `.coef_`. Dalam kes kami, terdapat hanya satu pekali, yang sepatutnya sekitar `-0.017`. Ini bermakna harga nampaknya menurun sedikit dengan masa, tetapi tidak terlalu banyak, sekitar 2 sen sehari. Kita juga boleh mengakses titik persilangan regresi dengan paksi Y menggunakan `lin_reg.intercept_` - ia akan berada sekitar `21` dalam kes kami, menunjukkan harga pada awal tahun.
Untuk melihat sejauh mana ketepatan model kita, kita boleh meramalkan harga pada dataset ujian, dan kemudian mengukur sejauh mana ramalan kita mendekati nilai yang dijangkakan. Ini boleh dilakukan menggunakan metrik ralat kuadrat purata (MSE), yang merupakan purata semua perbezaan kuadrat antara nilai yang dijangkakan dan yang diramalkan.
Untuk melihat betapa tepatnya model kami, kita boleh meramal harga pada set data ujian, dan kemudian mengukur sejauh mana ramalan kami hampir dengan nilai yang dijangka. Ini boleh dilakukan menggunakan metrik ralat kuasa dua min (MSE), yang merupakan purata semua beza kuasa dua antara nilai dijangka dan ramalan.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +215,38 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Kesalahan kita nampaknya berkisar pada 2 titik, iaitu ~17%. Tidak begitu baik. Satu lagi penunjuk kualiti model ialah **koefisien penentuan**, yang boleh diperoleh seperti ini:
Ralat kami nampaknya sekitar 2 poin, iaitu ~17%. Tidak terlalu baik. Penunjuk lain kualiti model ialah **koefisien penentuan**, yang boleh diperoleh seperti ini:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Jika nilainya 0, ini bermakna model tidak mengambil kira data input, dan bertindak sebagai *peramal linear paling buruk*, iaitu hanya nilai purata hasil. Nilai 1 bermakna kita dapat meramal semua output yang dijangka dengan sempurna. Dalam kes kita, koefisien adalah sekitar 0.06, yang agak rendah.
Kita juga boleh memplot data ujian bersama dengan garis regresi untuk melihat dengan lebih jelas bagaimana regresi berfungsi dalam kes kita:
Jika nilainya 0, ia bermakna model tidak mengambil kira data input, dan bertindak sebagai *peramal linear terburuk*, yang merupakan nilai purata hasil. Nilai 1 bermakna kita dapat meramalkan semua output yang dijangka dengan sempurna. Dalam kes kami, pekali itu sekitar 0.06, yang agak rendah.
Kita juga boleh plot data ujian bersama garis regresi untuk melihat dengan lebih baik bagaimana regresi berfungsi dalam kes kami:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="Regresi linear" src="../../../../translated_images/ms/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/ms/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Regresi Polinomial
Satu lagi jenis Regresi Linear ialah Regresi Polinomial. Walaupun kadangkala terdapat hubungan linear antara pemboleh ubah - semakin besar labu dalam isi padu, semakin tinggi harganya - kadangkala hubungan ini tidak boleh diplot sebagai satah atau garis lurus.
Satu lagi jenis Regresi Linear ialah Regresi Polinomial. Walaupun kadangkala terdapat hubungan linear antara pemboleh ubah - labu yang lebih besar dari segi isipadu, harga yang lebih tinggi - kadangkala hubungan ini tidak boleh diplotkan sebagai satah atau garis lurus.
✅ Berikut adalah [beberapa contoh lagi](https://online.stat.psu.edu/stat501/lesson/9/9.8) data yang boleh menggunakan Regresi Polinomial.
✅ Berikut adalah [beberapa contoh lagi](https://online.stat.psu.edu/stat501/lesson/9/9.8) data yang boleh menggunakan Regresi Polinomial
Lihat semula hubungan antara Tarikh dan Harga. Adakah scatterplot ini kelihatan seperti ia semestinya dianalisis oleh garis lurus? Bukankah harga boleh berubah-ubah? Dalam kes ini, anda boleh mencuba regresi polinomial.
Lihat kembali hubungan antara Tarikh dan Harga. Adakah sebaran titik ini perlu dianalisis menggunakan garis lurus? Bukankah harga boleh berfluktuasi? Dalam kes ini, anda boleh cuba regresi polinomial.
✅ Polinomial adalah ekspresi matematik yang mungkin terdiri daripada satu atau lebih pemboleh ubah dan koefisien.
✅ Polinomial adalah ekspresi matematik yang mungkin terdiri daripada satu atau lebih pemboleh ubah dan pekali
Regresi polinomial mencipta garis melengkung untuk lebih sesuai dengan data tidak linear. Dalam kes kita, jika kita memasukkan pemboleh ubah `DayOfYear` kuasa dua ke dalam data input, kita sepatutnya dapat menyesuaikan data kita dengan lengkung parabola, yang akan mempunyai minimum pada titik tertentu dalam tahun tersebut.
Regresi polinomial menghasilkan garis melengkung untuk menyesuaikan data bukan linear dengan lebih baik. Dalam kes kami, jika kami menyertakan pemboleh ubah `DayOfYear` kuasa dua dalam data input, kami sepatutnya dapat menyesuaikan data dengan lengkung parabola, yang akan mempunyai minimum pada suatu titik dalam tahun tersebut.
Scikit-learn termasuk [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) yang berguna untuk menggabungkan pelbagai langkah pemprosesan data bersama-sama. **Pipeline** ialah rangkaian **estimators**. Dalam kes kita, kita akan mencipta pipeline yang pertama menambah ciri polinomial kepada model kita, dan kemudian melatih regresi:
Scikit-learn termasuk [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) yang berguna untuk menggabungkan beberapa langkah pemprosesan data. **Pipeline** adalah rantai **penganggar**. Dalam kes kami, kami akan mencipta pipeline yang terlebih dahulu menambah ciri polinomial ke model kami, dan kemudian melatih regresi:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -243,36 +257,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
Menggunakan `PolynomialFeatures(2)` bermakna kita akan memasukkan semua polinomial darjah kedua daripada data input. Dalam kes kita, ini hanya bermakna `DayOfYear`<sup>2</sup>, tetapi dengan dua pemboleh ubah input X dan Y, ini akan menambah X<sup>2</sup>, XY dan Y<sup>2</sup>. Kita juga boleh menggunakan polinomial darjah lebih tinggi jika kita mahu.
Menggunakan `PolynomialFeatures(2)` bermakna kami akan memasukkan semua polinomial darjah kedua dari data input. Dalam kes kami ia hanya bermakna `DayOfYear`<sup>2</sup>, tetapi dengan dua pemboleh ubah input X dan Y, ini akan menambah X<sup>2</sup>, XY dan Y<sup>2</sup>. Kami juga boleh menggunakan polinomial darjah lebih tinggi jika mahu.
Pipeline boleh digunakan dengan cara yang sama seperti objek `LinearRegression` asal, iaitu kita boleh `fit` pipeline, dan kemudian menggunakan `predict` untuk mendapatkan hasil ramalan. Berikut adalah graf yang menunjukkan data ujian, dan lengkung anggaran:
Pipelines boleh digunakan sama seperti objek `LinearRegression` asal, iaitu kita boleh `fit` pipeline, dan kemudian menggunakan `predict` untuk mendapatkan hasil ramalan. Berikut ialah graf yang menunjukkan data ujian, dan lengkung anggaran:
<img alt="Regresi polinomial" src="../../../../translated_images/ms/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/ms/poly-results.ee587348f0f1f60b.webp" width="50%" />
Menggunakan Regresi Polinomial, kita boleh mendapatkan MSE yang sedikit lebih rendah dan penentuan yang lebih tinggi, tetapi tidak secara signifikan. Kita perlu mengambil kira ciri-ciri lain!
Menggunakan Regresi Polinomial, kami boleh mendapatkan MSE yang sedikit lebih rendah dan penentuan lebih tinggi, tetapi tidak dengan signifikan. Kita perlu mengambil kira ciri-ciri lain!
> Anda boleh melihat bahawa harga labu paling rendah diperhatikan sekitar Halloween. Bagaimana anda boleh menjelaskan ini?
> Anda dapat lihat bahawa harga labu paling rendah diperhatikan sekitar Halloween. Bagaimana anda boleh jelaskan ini?
🎃 Tahniah, anda baru sahaja mencipta model yang boleh membantu meramal harga labu pai. Anda mungkin boleh mengulangi prosedur yang sama untuk semua jenis labu, tetapi itu akan menjadi membosankan. Mari kita belajar sekarang bagaimana mengambil kira jenis labu dalam model kita!
🎃 Tahniah, anda baru sahaja mencipta model yang boleh membantu meramalkan harga labu pai. Anda mungkin boleh mengulangi prosedur yang sama untuk semua jenis labu, tetapi itu akan melecehkan. Mari kita pelajari sekarang bagaimana mengambil kira varieti labu dalam model kita!
## Ciri Kategori
Dalam dunia ideal, kita mahu dapat meramal harga untuk pelbagai jenis labu menggunakan model yang sama. Walau bagaimanapun, lajur `Variety` agak berbeza daripada lajur seperti `Month`, kerana ia mengandungi nilai bukan numerik. Lajur seperti ini dipanggil **kategori**.
Dalam dunia yang ideal, kita mahu dapat meramalkan harga untuk pelbagai jenis labu menggunakan model yang sama. Namun, lajur `Variety` agak berbeza daripada lajur seperti `Month`, kerana ia mengandungi nilai bukan berangka. Lajur seperti ini dipanggil **kategori**.
[![ML untuk pemula - Ramalan Ciri Kategori dengan Regresi Linear](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML untuk pemula - Ramalan Ciri Kategori dengan Regresi Linear")
> 🎥 Klik imej di atas untuk video ringkas mengenai penggunaan ciri kategori.
> 🎥 Klik gambar di atas untuk video ringkas tentang penggunaan ciri kategori.
Di sini anda boleh melihat bagaimana harga purata bergantung pada jenis:
Di sini anda dapat lihat bagaimana harga purata bergantung pada varieti:
<img alt="Harga purata mengikut jenis" src="../../../../translated_images/ms/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/ms/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Untuk mengambil kira jenis, kita perlu menukarnya kepada bentuk numerik terlebih dahulu, atau **encode**. Terdapat beberapa cara kita boleh melakukannya:
Untuk mengambil kira varieti, kita perlu menukarkannya ke bentuk berangka terlebih dahulu, atau **mengekodkan** ia. Terdapat beberapa cara kita boleh lakukan:
* **Pengekodan numerik** yang mudah akan membina jadual pelbagai jenis, dan kemudian menggantikan nama jenis dengan indeks dalam jadual tersebut. Ini bukan idea terbaik untuk regresi linear, kerana regresi linear mengambil nilai numerik sebenar indeks, dan menambahnya kepada hasil, dengan mendarabkan dengan beberapa koefisien. Dalam kes kita, hubungan antara nombor indeks dan harga jelas tidak linear, walaupun kita memastikan bahawa indeks diatur dalam cara tertentu.
* **Pengekodan one-hot** akan menggantikan lajur `Variety` dengan 4 lajur berbeza, satu untuk setiap jenis. Setiap lajur akan mengandungi `1` jika baris yang sepadan adalah daripada jenis tertentu, dan `0` jika tidak. Ini bermakna akan ada empat koefisien dalam regresi linear, satu untuk setiap jenis labu, yang bertanggungjawab untuk "harga permulaan" (atau lebih tepat "harga tambahan") untuk jenis tertentu.
* **Pengekodan berangka** mudah akan membina jadual pelbagai varieti, dan menggantikan nama varieti dengan indeks dalam jadual tersebut. Ini bukan idea terbaik bagi regresi linear, kerana regresi linear mengambil nilai berangka indeks sebenar, dan menambahkannya ke hasil, didarab dengan pekali tertentu. Dalam kes kami, hubungan antara nombor indeks dan harga jelas bukan linear, walaupun indeks diatur dengan cara tertentu.
* **Pengekodan satu-panas (one-hot encoding)** akan menggantikan lajur `Variety` dengan 4 lajur berbeza, satu untuk setiap varieti. Setiap lajur akan mengandungi `1` jika baris yang sepadan adalah daripada varieti tertentu, dan `0` jika tidak. Ini bermakna akan ada empat pekali dalam regresi linear, satu untuk setiap varieti labu, bertanggungjawab untuk "harga permulaan" (atau lebih tepat "harga tambahan") untuk varieti itu.
Kod di bawah menunjukkan bagaimana kita boleh melakukan pengekodan one-hot untuk jenis:
Kod di bawah menunjukkan cara kita boleh one-hot encode varieti:
```python
pd.get_dummies(new_pumpkins['Variety'])
@ -289,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Untuk melatih regresi linear menggunakan jenis yang telah dikodkan one-hot sebagai input, kita hanya perlu memulakan data `X` dan `y` dengan betul:
Untuk melatih regresi linear menggunakan varieti yang telah one-hot encode sebagai input, kita hanya perlu inisialisasi data `X` dan `y` dengan betul:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
Selebihnya kod adalah sama seperti yang kita gunakan di atas untuk melatih Regresi Linear. Jika anda mencubanya, anda akan melihat bahawa ralat kuasa dua min adalah hampir sama, tetapi kita mendapat koefisien penentuan yang jauh lebih tinggi (~77%). Untuk mendapatkan ramalan yang lebih tepat, kita boleh mengambil kira lebih banyak ciri kategori, serta ciri numerik seperti `Month` atau `DayOfYear`. Untuk mendapatkan satu array besar ciri-ciri, kita boleh menggunakan `join`:
Selepas itu, kodnya sama seperti yang kita gunakan sebelum ini untuk melatih Regresi Linear. Jika anda mencubanya, anda akan lihat bahawa ralat kuasa dua min adalah lebih kurang sama, tapi kita dapat koefisien penentuan yang jauh lebih tinggi (~77%). Untuk mendapatkan ramalan yang lebih tepat lagi, kita boleh mengambil lebih banyak ciri kategori serta ciri berangka, seperti `Month` atau `DayOfYear`. Untuk mendapat satu array ciri yang besar, kita boleh gunakan `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -306,31 +320,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Di sini kita juga mengambil kira `City` dan jenis `Package`, yang memberikan kita MSE 2.84 (10%), dan penentuan 0.94!
Di sini kita turut mengambil kira `City` dan jenis `Package`, yang memberikan MSE 2.84 (10%), dan penentuan 0.94!
## Menggabungkan semuanya
## Menggabungkan semua
Untuk mencipta model terbaik, kita boleh menggunakan data gabungan (kategori yang dikodkan one-hot + numerik) daripada contoh di atas bersama dengan Regresi Polinomial. Berikut adalah kod lengkap untuk kemudahan anda:
Untuk mendapatkan model terbaik, kita boleh gunakan data gabungan (kategori yang di-one-hot encode + berangka) dari contoh di atas bersama Regresi Polinomial. Berikut ialah kod lengkap untuk kemudahan anda:
```python
# set up training data
# sediakan data latihan
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# buat pembahagian latih-uji
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# sediakan dan latih laluan paip
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# ramal keputusan untuk data ujian
pred = pipeline.predict(X_test)
# calculate MSE and determination
# kira MSE dan penentuan
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -338,34 +352,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
Ini sepatutnya memberikan kita koefisien penentuan terbaik hampir 97%, dan MSE=2.23 (~8% ralat ramalan).
Ini sepatutnya memberikan koefisien penentuan terbaik hampir 97%, dan MSE=2.23 (~8% ralat ramalan).
| Model | MSE | Penentuan |
|-------|-----|-----------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| Semua ciri Linear | 2.84 (10.5%) | 0.94 |
| Semua ciri Polynomial | 2.23 (8.25%) | 0.97 |
| Linear `DayOfYear` | 2.77 (17.2%) | 0.07 |
| Polinomial `DayOfYear` | 2.73 (17.0%) | 0.08 |
| Linear `Variety` | 5.24 (19.7%) | 0.77 |
| Linear Semua Ciri | 2.84 (10.5%) | 0.94 |
| Polinomial Semua Ciri | 2.23 (8.25%) | 0.97 |
🏆 Syabas! Anda telah mencipta empat model Regresi dalam satu pelajaran, dan meningkatkan kualiti model kepada 97%. Dalam bahagian terakhir mengenai Regresi, anda akan belajar tentang Regresi Logistik untuk menentukan kategori.
🏆 Tahniah! Anda telah mencipta empat model Regresi dalam satu pelajaran, dan meningkatkan kualiti model kepada 97%. Dalam bahagian akhir mengenai Regresi, anda akan belajar tentang Regresi Logistik untuk menentukan kategori.
---
## 🚀Cabaran
Uji beberapa pemboleh ubah berbeza dalam notebook ini untuk melihat bagaimana korelasi berkait dengan ketepatan model.
Uji beberapa pemboleh ubah berlainan dalam buku nota ini untuk melihat bagaimana korelasi berkaitan dengan ketepatan model.
## [Kuiz selepas kuliah](https://ff-quizzes.netlify.app/en/ml/)
## [Kuis Selepas Kuliah](https://ff-quizzes.netlify.app/en/ml/)
## Kajian & Pembelajaran Kendiri
## Ulasan & Belajar Sendiri
Dalam pelajaran ini kita belajar tentang Regresi Linear. Terdapat jenis Regresi lain yang penting. Baca tentang teknik Stepwise, Ridge, Lasso dan Elasticnet. Kursus yang baik untuk belajar lebih lanjut ialah [Kursus Pembelajaran Statistik Stanford](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
Dalam pelajaran ini kita belajar tentang Regresi Linear. Terdapat jenis Regresi penting yang lain. Bacalah tentang teknik Stepwise, Ridge, Lasso dan Elasticnet. Kursus yang bagus untuk belajar lebih lanjut ialah [kursus Pembelajaran Statistik Stanford](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Tugasan
## Tugasan
[Bina Model](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 hendaklah dianggap sebagai sumber yang sahih. Untuk maklumat yang penting, terjemahan profesional oleh manusia adalah disarankan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Pengelas Masakan 2
# Pengelas masakan 2
Dalam pelajaran klasifikasi kedua ini, anda akan meneroka lebih banyak cara untuk mengklasifikasikan data berangka. Anda juga akan mempelajari implikasi memilih satu pengelas berbanding yang lain.
Dalam pelajaran pengelasan kedua ini, anda akan meneroka lebih banyak cara untuk mengelas data berangka. Anda juga akan mempelajari kesan pemilihan satu pengelas berbanding yang lain.
## [Kuiz pra-kuliah](https://ff-quizzes.netlify.app/en/ml/)
## [Kuiz pra-ceramah](https://ff-quizzes.netlify.app/en/ml/)
### Prasyarat
Kami mengandaikan bahawa anda telah menyelesaikan pelajaran sebelumnya dan mempunyai dataset yang telah dibersihkan dalam folder `data` anda yang dinamakan _cleaned_cuisines.csv_ di akar folder 4-pelajaran ini.
Kami menganggap anda telah menyelesaikan pelajaran sebelum ini dan mempunyai set data yang telah dibersihkan dalam folder `data` anda yang dipanggil _cleaned_cuisines.csv_ di akar folder 4 pelajaran ini.
### Persediaan
Kami telah memuatkan fail _notebook.ipynb_ anda dengan dataset yang telah dibersihkan dan telah membahagikannya kepada dataframe X dan y, sedia untuk proses pembinaan model.
Kami telah memuatkan fail _notebook.ipynb_ anda dengan set data yang dibersihkan dan telah membahagikannya kepada dataframe X dan y, sedia untuk proses pembinaan model.
## Peta klasifikasi
## Peta pengelasan
Sebelumnya, anda telah mempelajari pelbagai pilihan yang anda ada ketika mengklasifikasikan data menggunakan helaian rujukan Microsoft. Scikit-learn menawarkan helaian rujukan yang serupa tetapi lebih terperinci yang dapat membantu mempersempit pilihan penganggar anda (istilah lain untuk pengelas):
Sebelum ini, anda telah belajar tentang pelbagai pilihan yang anda ada apabila mengelaskan data menggunakan helaian cheat Microsoft. Scikit-learn menawarkan helaian cheat yang serupa, tetapi lebih terperinci yang boleh membantu mempersempitkan lagi estimator anda (istilah lain untuk pengelas):
![Peta ML dari Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
![Peta ML dari Scikit-learn](../../../../translated_images/ms/map.e963a6a51349425a.webp)
> Tip: [lawati peta ini secara dalam talian](https://scikit-learn.org/stable/tutorial/machine_learning_map/) dan klik sepanjang laluan untuk membaca dokumentasi.
### Rancangan
### Pelan
Peta ini sangat berguna apabila anda mempunyai pemahaman yang jelas tentang data anda, kerana anda boleh 'berjalan' di sepanjang laluannya untuk membuat keputusan:
Peta ini sangat berguna setelah anda memahami data anda dengan jelas, kerana anda boleh berjalan sepanjang laluan untuk membuat keputusan:
- Kami mempunyai >50 sampel
- Kami ingin meramalkan kategori
- Kami mempunyai data berlabel
- Kami mempunyai data yang dilabel
- Kami mempunyai kurang daripada 100K sampel
- ✨ Kami boleh memilih Linear SVC
- Jika itu tidak berfungsi, kerana kami mempunyai data berangka
- Kami boleh mencuba ✨ KNeighbors Classifier
- Kami boleh cuba ✨ KNeighbors Classifier
- Jika itu tidak berfungsi, cuba ✨ SVC dan ✨ Ensemble Classifiers
Ini adalah laluan yang sangat berguna untuk diikuti.
## Latihan - bahagikan data
Mengikuti laluan ini, kita harus bermula dengan mengimport beberapa perpustakaan yang diperlukan.
Mengikuti laluan ini, kita harus mulakan dengan mengimport beberapa perpustakaan yang diperlukan.
1. Import perpustakaan yang diperlukan:
@ -53,22 +53,22 @@ Mengikuti laluan ini, kita harus bermula dengan mengimport beberapa perpustakaan
1. Bahagikan data latihan dan ujian anda:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Pengelas Linear SVC
Support-Vector clustering (SVC) adalah sebahagian daripada keluarga teknik ML Support-Vector Machines (pelajari lebih lanjut tentang ini di bawah). Dalam kaedah ini, anda boleh memilih 'kernel' untuk menentukan cara mengelompokkan label. Parameter 'C' merujuk kepada 'regularisasi' yang mengawal pengaruh parameter. Kernel boleh menjadi salah satu daripada [beberapa](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); di sini kami menetapkannya kepada 'linear' untuk memastikan kami menggunakan Linear SVC. Kebarangkalian secara lalai adalah 'false'; di sini kami menetapkannya kepada 'true' untuk mendapatkan anggaran kebarangkalian. Kami menetapkan keadaan rawak kepada '0' untuk mengacak data bagi mendapatkan kebarangkalian.
Support-Vector clustering (SVC) adalah salah satu jenis dalam keluarga mesin Support-Vector teknik ML (ketahui lebih lanjut tentang ini di bawah). Dalam kaedah ini, anda boleh memilih kernel untuk menentukan bagaimana mengelompokkan label. Parameter C merujuk kepada regularisasi yang mengawal pengaruh parameter. Kernel boleh menjadi salah satu daripada [beberapa](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); di sini kami menetapkannya kepada linear untuk memastikan kami memanfaatkan Linear SVC. Kebarangkalian lalai adalah false; di sini kami tetapkan kepada true untuk mengumpul anggaran kebarangkalian. Kami tetapkan random state kepada 0 untuk mengocak data supaya mendapat kebarangkalian.
### Latihan - gunakan Linear SVC
Mulakan dengan mencipta array pengelas. Anda akan menambah secara progresif ke array ini semasa kami menguji.
Mula dengan mencipta satu senarai pengelas. Anda akan menambah secara berperingkat kepada senarai ini semasa kita menguji.
1. Mulakan dengan Linear SVC:
1. Mula dengan Linear SVC:
```python
C = 10
# Create different classifiers.
# Buat penyaing yang berbeza.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
@ -88,7 +88,7 @@ Mulakan dengan mencipta array pengelas. Anda akan menambah secara progresif ke a
print(classification_report(y_test,y_pred))
```
Hasilnya agak baik:
Keputusannya agak baik:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -107,19 +107,19 @@ Mulakan dengan mencipta array pengelas. Anda akan menambah secara progresif ke a
## Pengelas K-Neighbors
K-Neighbors adalah sebahagian daripada keluarga kaedah ML "neighbors", yang boleh digunakan untuk pembelajaran yang diawasi dan tidak diawasi. Dalam kaedah ini, sejumlah titik yang telah ditentukan dibuat dan data dikumpulkan di sekitar titik-titik ini supaya label umum dapat diramalkan untuk data tersebut.
K-Neighbors adalah sebahagian daripada keluarga neighbors dalam kaedah ML, yang boleh digunakan untuk pembelajaran terkawal dan tidak terkawal. Dalam kaedah ini, bilangan titik telah ditetapkan dan data dikumpulkan di sekitar titik-titik ini supaya label yang digeneralisasi boleh diramalkan untuk data tersebut.
### Latihan - gunakan pengelas K-Neighbors
Pengelas sebelumnya adalah baik dan berfungsi dengan baik dengan data, tetapi mungkin kita boleh mendapatkan ketepatan yang lebih baik. Cuba pengelas K-Neighbors.
Pengelas sebelum ini baik dan berfungsi dengan baik dengan data, tetapi mungkin kita boleh dapat ketepatan yang lebih baik. Cuba pengelas K-Neighbors.
1. Tambahkan satu baris ke array pengelas anda (tambahkan koma selepas item Linear SVC):
1. Tambah satu baris ke senarai pengelas anda (tambah koma selepas item Linear SVC):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Hasilnya sedikit lebih buruk:
Keputusannya sedikit lebih buruk:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -140,19 +140,19 @@ Pengelas sebelumnya adalah baik dan berfungsi dengan baik dengan data, tetapi mu
## Pengelas Support Vector
Pengelas Support-Vector adalah sebahagian daripada keluarga [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) kaedah ML yang digunakan untuk tugas klasifikasi dan regresi. SVM "memetakan contoh latihan ke titik dalam ruang" untuk memaksimumkan jarak antara dua kategori. Data berikutnya dipetakan ke dalam ruang ini supaya kategorinya dapat diramalkan.
Pengelas Support-Vector adalah sebahagian daripada keluarga [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) kaedah ML yang digunakan untuk tugasan pengelasan dan regresi. SVM "memetakan contoh latihan ke titik dalam ruang" untuk memaksimumkan jarak antara dua kategori. Data seterusnya dipetakan ke dalam ruang ini supaya kategori mereka boleh diramalkan.
### Latihan - gunakan pengelas Support Vector
### Latihan - gunakan Pengelas Support Vector
Mari cuba mendapatkan ketepatan yang lebih baik dengan pengelas Support Vector.
Mari cuba untuk ketepatan yang sedikit lebih baik dengan Pengelas Support Vector.
1. Tambahkan koma selepas item K-Neighbors, dan kemudian tambahkan baris ini:
1. Tambah koma selepas item K-Neighbors, dan kemudian tambah baris ini:
```python
'SVC': SVC(),
```
Hasilnya sangat baik!
Keputusannya sangat baik!
```output
Accuracy (train) for SVC: 83.2%
@ -171,16 +171,16 @@ Mari cuba mendapatkan ketepatan yang lebih baik dengan pengelas Support Vector.
✅ Pelajari tentang [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
## Pengelas Ensemble
## Pengelas Ensembel
Mari ikuti laluan hingga ke penghujungnya, walaupun ujian sebelumnya sudah cukup baik. Mari cuba beberapa 'Pengelas Ensemble', khususnya Random Forest dan AdaBoost:
Mari ikuti laluan hingga ke penghujung, walaupun ujian sebelum ini sudah cukup baik. Mari cuba beberapa Pengelas Ensembel, khususnya Random Forest dan AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Hasilnya sangat baik, terutamanya untuk Random Forest:
Keputusannya sangat baik, terutamanya untuk Random Forest:
```output
Accuracy (train) for RFST: 84.5%
@ -210,31 +210,33 @@ Accuracy (train) for ADA: 72.4%
weighted avg 0.73 0.72 0.72 1199
```
✅ Pelajari tentang [Pengelas Ensemble](https://scikit-learn.org/stable/modules/ensemble.html)
✅ Pelajari tentang [Pengelas Ensembel](https://scikit-learn.org/stable/modules/ensemble.html)
Kaedah Pembelajaran Mesin ini "menggabungkan ramalan beberapa penganggar asas" untuk meningkatkan kualiti model. Dalam contoh kami, kami menggunakan Random Trees dan AdaBoost.
Kaedah Pembelajaran Mesin ini "menggabungkan ramalan beberapa estimator asas" untuk meningkatkan kualiti model. Dalam contoh kami, kami menggunakan Random Trees dan AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), kaedah purata, membina 'hutan' daripada 'pokok keputusan' yang diselitkan dengan keacakan untuk mengelakkan overfitting. Parameter n_estimators ditetapkan kepada bilangan pokok.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), kaedah purata, membina hutan pokok keputusan yang dipenuhi dengan rawak untuk mengelakkan overfitting. Parameter n_estimators ditetapkan kepada bilangan pokok.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) menyesuaikan pengelas kepada dataset dan kemudian menyesuaikan salinan pengelas tersebut kepada dataset yang sama. Ia memberi tumpuan kepada berat item yang diklasifikasikan secara salah dan menyesuaikan fit untuk pengelas seterusnya untuk membetulkan.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) menyesuaikan satu pengelas kepada set data dan kemudian menyesuaikan salinan pengelas itu kepada set data yang sama. Ia menumpukan pada berat bagi item yang salah diklasifikasikan dan melaraskan keserasian untuk pengelas seterusnya untuk membetulkan.
---
## 🚀Cabaran
Setiap teknik ini mempunyai sejumlah besar parameter yang boleh anda ubah. Kajilah parameter lalai setiap satu dan fikirkan apa yang akan berlaku jika anda mengubah parameter ini terhadap kualiti model.
Setiap teknik ini mempunyai banyak parameter yang boleh anda laraskan. Selidiki parameter lalai setiap satu dan fikirkan apa maksud melaraskan parameter ini untuk kualiti model.
## [Kuiz pasca-kuliah](https://ff-quizzes.netlify.app/en/ml/)
## [Kuiz pasca-ceramah](https://ff-quizzes.netlify.app/en/ml/)
## Ulasan & Kajian Kendiri
## Semakan & Pembelajaran Sendiri
Terdapat banyak istilah dalam pelajaran ini, jadi luangkan masa untuk mengkaji [senarai ini](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) istilah berguna!
Terdapat banyak jargon dalam pelajaran ini, jadi ambil masa untuk menyemak [senarai ini](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) istilah berguna!
## Tugasan
## Tugasan
[Parameter play](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 memastikan ketepatan, sila maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber utama yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Membina Model Klasifikasi\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Penafian**: \nDokumen 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 maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**: \nDokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-06T12:28:03+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "ms"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Bina Lebih Banyak Model Klasifikasi\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cuba pengelas yang berbeza\n"
"# Cuba pengelasan yang berbeza\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Penafian**: \nDokumen 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 maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**:\nDokumen 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 hendaklah dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-06T12:28:21+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "ms"
}
},
"nbformat": 4,

@ -10,27 +10,37 @@
### 🌐 Sokongan Pelbagai Bahasa
#### Disokong melalui GitHub Action (Automatik & Sentiasa Terkini)
#### Disokong melalui Tindakan GitHub (Automatik & Sentiasa Terkini)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](./README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Lebih Suka Klon Secara Tempatan?**
> Repositori ini merangkumi lebih 50+ terjemahan bahasa yang secara signifikan meningkatkan saiz muat turun. Untuk klon tanpa terjemahan, gunakan sparse checkout:
> **Lebih suka Klon Secara Tempatan?**
>
> Repositori ini termasuk lebih 50+ terjemahan bahasa yang meningkat saiz muat turun dengan banyak. Untuk klon tanpa terjemahan, gunakan sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Ini memberikan anda semua yang anda perlukan untuk melengkapkan kursus dengan muat turun yang jauh lebih pantas.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Ini memberikan anda segala yang anda perlukan untuk menyelesaikan kursus dengan muat turun yang lebih pantas.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Sertai Komuniti Kami
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Kami sedang menjalankan siri belajar dengan AI di Discord, belajar lebih lanjut dan sertai kami di [Learn with AI Series](https://aka.ms/learnwithai/discord) dari 18 - 30 September, 2025. Anda akan mendapat petua dan trik menggunakan GitHub Copilot untuk Sains Data.
Kami sedang menjalankan siri belajar dengan AI di Discord, ketahui lebih lanjut dan sertai kami di [Learn with AI Series](https://aka.ms/learnwithai/discord) dari 18 - 30 September, 2025. Anda akan mendapat petua dan helah menggunakan GitHub Copilot untuk Sains Data.
![Learn with AI series](../../translated_images/ms/3.9b58fd8d6c373c20.webp)
@ -38,48 +48,48 @@ Kami sedang menjalankan siri belajar dengan AI di Discord, belajar lebih lanjut
> 🌍 Jelajah dunia sambil meneroka Pembelajaran Mesin melalui budaya dunia 🌍
Penyokong Awan di Microsoft dengan sukacitanya menawarkan kurikulum 12 minggu, 26 pelajaran mengenai **Pembelajaran Mesin**. Dalam kurikulum ini, anda akan belajar tentang apa yang kadangkala dipanggil **pembelajaran mesin klasik**, menggunakan terutamanya Scikit-learn sebagai perpustakaan dan mengelakkan pembelajaran mendalam, yang diliputi dalam kurikulum kami [AI untuk Pemula](https://aka.ms/ai4beginners). Gabungkan pelajaran ini dengan kurikulum kami ['Sains Data untuk Pemula'](https://aka.ms/ds4beginners) juga!
Advokat Awan di Microsoft dengan sukacitanya menawarkan kurikulum selama 12 minggu, 26 pelajaran yang membincangkan **Pembelajaran Mesin**. Dalam kurikulum ini, anda akan belajar tentang apa yang kadang-kadang dipanggil **pembelajaran mesin klasik**, menggunakan terutamanya Scikit-learn sebagai perpustakaan dan mengelakkan pembelajaran mendalam, yang dibincangkan dalam [kurikulum AI untuk Pemula kami](https://aka.ms/ai4beginners). Gabungkan pelajaran ini dengan kurikulum ['Sains Data untuk Pemula'](https://aka.ms/ds4beginners), juga!
Jelajah bersama kami ke seluruh dunia semasa kami menggunakan teknik klasik ini pada data dari pelbagai kawasan dunia. Setiap pelajaran termasuk kuiz sebelum dan selepas pelajaran, arahan bertulis untuk melengkapkan pelajaran, penyelesaian, tugasan, dan banyak lagi. Pedagogi berasaskan projek kami membolehkan anda belajar sambil membina, cara yang terbukti agar kemahiran baru 'melekat'.
Ikuti kami mengelilingi dunia sambil menggunakan teknik klasik ini pada data dari pelbagai tempat di dunia. Setiap pelajaran termasuk kuiz pra dan pasca pelajaran, arahan bertulis untuk melengkapkan pelajaran, penyelesaian, tugasan, dan banyak lagi. Pedagogi berasaskan projek kami membolehkan anda belajar sambil membina, cara terbukti untuk kemahiran baru 'melekat'.
**✍️ Terima kasih yang mendalam kepada penulis kami** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu dan Amy Boyd
**✍️ Terima kasih banyak kepada pengarang kami** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu dan Amy Boyd
**🎨 Terima kasih juga kepada ilustrator kami** Tomomi Imura, Dasani Madipalli, dan Jen Looper
**🙏 Terima kasih khusus 🙏 kepada penulis, penyemak, dan penyumbang kandungan Microsoft Student Ambassador kami**, khususnya Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, dan Snigdha Agarwal
**🙏 Terima kasih khas 🙏 kepada pengarang, penyemak, dan penyumbang kandungan Microsoft Student Ambassador kami**, terutamanya Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, dan Snigdha Agarwal
**🤩 Penghargaan tambahan kepada Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, dan Vidushi Gupta untuk pelajaran R kami!**
**🤩 Terima kasih istimewa kepada Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, dan Vidushi Gupta untuk pelajaran R kami!**
# Mula
# Memulakan
Ikuti langkah-langkah berikut:
1. **Fork Repositori**: Klik butang "Fork" di sudut atas-kanan laman ini.
2. **Klon Repositori**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
Ikuti langkah berikut:
1. **Fork Repositori**: Klik butang "Fork" di penjuru atas kanan halaman ini.
2. **Clone Repositori**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [temui semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [acar semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Perlukan bantuan?** Semak [Panduan Penyelesaian Masalah](TROUBLESHOOTING.md) kami untuk penyelesaian masalah biasa dengan pemasangan, penyediaan, dan menjalankan pelajaran.
> 🔧 **Perlukan bantuan?** Semak [Panduan Penyelenggaraan](TROUBLESHOOTING.md) kami untuk penyelesaian isu biasa memasang, menyediakan, dan menjalankan pelajaran.
**[Pelajar](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini, fork keseluruhan repo ke akaun GitHub anda sendiri dan lengkapkan latihan secara sendiri atau bersama kumpulan:
**[Pelajar](https://aka.ms/student-page)**, untuk menggunakan kurikulum ini, buat fork keseluruhan repo ke akaun GitHub anda sendiri dan selesaikan latihan secara sendiri atau dalam kumpulan:
- Mulakan dengan kuiz pra-ceramah.
- Baca kuliah dan selesaikan aktiviti, berhenti dan refleksikan setiap pemeriksaan pengetahuan.
- Cuba buat projek dengan memahami pelajaran bukannya hanya menjalankan kod penyelesaian; walaupun kod itu tersedia dalam folder `/solution` untuk setiap pelajaran berorientasikan projek.
- Ambil kuiz pasca kuliah.
- Mula dengan kuiz pra-ceramah.
- Baca ceramah dan lengkapkan aktiviti, berhenti dan renung di setiap semakan pengetahuan.
- Cuba buat projek dengan memahami pelajaran dan bukannya hanya menjalankan kod penyelesaian; walaupun kod tersebut boleh didapati dalam folder `/solution` bagi setiap pelajaran berasaskan projek.
- Ambil kuiz pasca-ceramah.
- Lengkapkan cabaran.
- Lengkapkan tugasan.
- Selepas melengkapkan set pelajaran, lawati [Papan Perbincangan](https://github.com/microsoft/ML-For-Beginners/discussions) dan "belajar secara lantang" dengan mengisi rubrik PAT yang sesuai. 'PAT' adalah Alat Penilaian Kemajuan yang merupakan rubrik yang anda isi untuk memajukan pembelajaran anda. Anda juga boleh memberi reaksi kepada PAT lain supaya kita boleh belajar bersama.
- Selepas selesai kumpulan pelajaran, lawati [Papan Perbincangan](https://github.com/microsoft/ML-For-Beginners/discussions) dan "belajar secara terbuka" dengan mengisi rubrik PAT yang sesuai. 'PAT' ialah Alat Penilaian Kemajuan yang merupakan rubrik yang anda isi untuk memperdalam pembelajaran anda. Anda juga boleh memberi reaksi kepada PAT lain supaya kita boleh belajar bersama.
> Untuk pengajian lanjut, kami mengesyorkan mengikuti modul dan laluan pembelajaran [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
> Untuk pengajian selanjutnya, kami cadangkan mengikuti modul dan laluan pembelajaran [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
**Guru**, kami telah [menyediakan beberapa cadangan](for-teachers.md) tentang cara menggunakan kurikulum ini.
**Guru**, kami telah [sertakan beberapa cadangan](for-teachers.md) tentang cara menggunakan kurikulum ini.
---
## Video panduan
## Video penerangan
Beberapa pelajaran tersedia sebagai video bentuk pendek. Anda boleh menemui semua ini dalam talian di dalam pelajaran, atau di [senarai main ML for Beginners di saluran YouTube Microsoft Developer](https://aka.ms/ml-beginners-videos) dengan mengklik gambar di bawah.
Sesetengah pelajaran tersedia dalam video bentuk pendek. Anda boleh temui semua ini selari dalam pelajaran, atau di [senarai main ML for Beginners di saluran Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) dengan klik gambar di bawah.
[![ML for beginners banner](../../translated_images/ms/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -91,70 +101,70 @@ Beberapa pelajaran tersedia sebagai video bentuk pendek. Anda boleh menemui semu
**Gif oleh** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Klik gambar di atas untuk video tentang projek dan orang-orang yang menciptakannya!
> 🎥 Klik gambar di atas untuk video tentang projek dan orang yang menciptakannya!
---
## Pedagogi
Kami telah memilih dua prinsip pedagogi semasa membina kurikulum ini: memastikan ia berasaskan projek **praktikal** dan termasuk **kuiz yang kerap**. Selain itu, kurikulum ini mempunyai **tema** yang sama untuk memberikan kesatuan.
Kami memilih dua prinsip pedagogi semasa membina kurikulum ini: memastikan ia berasaskan projek **praktikal** dan ia termasuk **kuiz kerap**. Selain itu, kurikulum ini mempunyai **tema** yang memberi keseragaman.
Dengan memastikan kandungan sejajar dengan projek, proses pembelajaran menjadi lebih menarik untuk pelajar dan peningkatan pengekalan konsep akan diperhebatkan. Tambahan pula, kuiz dengan risiko rendah sebelum kelas menetapkan niat pelajar ke arah mempelajari topik, manakala kuiz kedua selepas kelas memastikan pengekalan lanjut. Kurikulum ini direka agar fleksibel dan menyeronokkan dan boleh diambil secara penuh atau sebahagian. Projek-projek bermula kecil dan menjadi semakin kompleks pada akhir kitaran 12 minggu. Kurikulum ini juga menyertakan posskrip tentang aplikasi dunia sebenar ML, yang boleh digunakan sebagai kredit tambahan atau sebagai asas perbincangan.
Dengan memastikan kandungan selaras dengan projek, proses menjadi lebih menarik untuk pelajar dan pengekalan konsep akan dipertingkatkan. Selain itu, kuiz bertaraf rendah sebelum kelas menetapkan niat pelajar untuk mempelajari topik, manakala kuiz kedua selepas kelas memastikan pengekalan lebih lanjut. Kurikulum ini direka supaya fleksibel dan menyeronokkan serta boleh diambil sepenuhnya atau sebahagiannya. Projek bermula kecil dan menjadi semakin kompleks menjelang akhir kitaran 12 minggu. Kurikulum ini juga termasuk catatan tambahan tentang aplikasi sebenar ML, yang boleh digunakan sebagai kredit tambahan atau sebagai asas perbincangan.
> Dapatkan [Kod Etika kami](CODE_OF_CONDUCT.md), [Sumbangan](CONTRIBUTING.md), [Terjemahan](TRANSLATIONS.md), dan garis panduan [Penyelesaian Masalah](TROUBLESHOOTING.md). Kami mengalu-alukan maklum balas membina anda!
> Dapatkan [Kod Etika](CODE_OF_CONDUCT.md), [Penyumbangan](CONTRIBUTING.md), [Terjemahan](TRANSLATIONS.md), dan [Panduan Penyelenggaraan](TROUBLESHOOTING.md) kami. Kami mengalu-alukan maklum balas membina anda!
## Setiap pelajaran termasuk
- nota lakaran pilihan
- sketchnote pilihan
- video tambahan pilihan
- video panduan (sesetengah pelajaran sahaja)
- video penerangan (sesetengah pelajaran sahaja)
- [kuiz pemanasan pra-ceramah](https://ff-quizzes.netlify.app/en/ml/)
- pelajaran bertulis
- untuk pelajaran berasaskan projek, panduan langkah demi langkah cara membina projek
- pemeriksaan pengetahuan
- untuk pelajaran berasaskan projek, panduan langkah demi langkah bagaimana membina projek
- semakan pengetahuan
- cabaran
- bacaan tambahan
- tugasan
- [kuiz pasca-ceramah](https://ff-quizzes.netlify.app/en/ml/)
> **Satu nota tentang bahasa**: Pelajaran ini terutamanya ditulis dalam Python, tetapi banyak juga tersedia dalam R. Untuk menyelesaikan pelajaran R, pergi ke folder `/solution` dan cari pelajaran R. Mereka termasuk sambungan .rmd yang mewakili fail **R Markdown** yang boleh ditakrifkan secara mudah sebagai penyisipan `code chunks` (daripada R atau bahasa lain) dan `YAML header` (yang mengarahkan cara memformat output seperti PDF) dalam `dokumen Markdown`. Oleh itu, ia berfungsi sebagai rangka kerangka autoring contoh untuk sains data kerana ia membenarkan anda menggabungkan kod anda, outputnya, dan pemikiran anda dengan membenarkan anda menulisnya dalam Markdown. Selain itu, dokumen R Markdown boleh dihasilkan kepada format output seperti PDF, HTML, atau Word.
> **Satu nota tentang kuiz**: Semua kuiz terkandung dalam [Folder Aplikasi Kuiz](../../quiz-app), untuk 52 kuiz keseluruhan dengan tiga soalan setiap satu. Mereka dipautkan dari dalam pelajaran tetapi aplikasi kuiz boleh dijalankan secara tempatan; ikut arahan dalam folder `quiz-app` untuk hos secara tempatan atau menyebarkan ke Azure.
| Nombor Pelajaran | Topik | Pengelompokan Pelajaran | Objektif Pembelajaran | Pelajaran Berkaitan | Pengarang |
| :--------------: | :-----------------------------------------------------------: | :---------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| 01 | Pengenalan kepada pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Pelajari konsep asas di sebalik pembelajaran mesin | [Pelajaran](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Sejarah pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Pelajari sejarah di belakang bidang ini | [Pelajaran](1-Introduction/2-history-of-ML/README.md) | Jen dan Amy |
| 03 | Keadilan dan pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Apakah isu falsafah penting mengenai keadilan yang harus dipertimbangkan oleh pelajar apabila membina dan menggunakan model ML? | [Pelajaran](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Teknik untuk pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Apakah teknik yang digunakan oleh penyelidik ML untuk membina model ML? | [Pelajaran](1-Introduction/4-techniques-of-ML/README.md) | Chris dan Jen |
| 05 | Pengenalan kepada regresi | [Regresi](2-Regression/README.md) | Mula dengan Python dan Scikit-learn untuk model regresi | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Visualisasikan dan bersihkan data sebagai persiapan untuk ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bina model regresi linear dan polinomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen dan Dmitry • Eric Wanjau |
| 08 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bina model regresi logistik | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikasi Web 🔌 | [Aplikasi Web](3-Web-App/README.md) | Bina aplikasi web untuk menggunakan model yang telah anda latih | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Pengenalan kepada pengelasan | [Pengelasan](4-Classification/README.md) | Bersihkan, sediakan, dan visualisasikan data anda; pengenalan kepada pengelasan | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen dan Cassie • Eric Wanjau |
| 11 | Masakan Asia dan India yang lazat 🍜 | [Pengelasan](4-Classification/README.md) | Pengenalan kepada pengelas | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen dan Cassie • Eric Wanjau |
| 12 | Masakan Asia dan India yang lazat 🍜 | [Pengelasan](4-Classification/README.md) | Lebih banyak pengelas | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen dan Cassie • Eric Wanjau |
| 13 | Masakan Asia dan India yang lazat 🍜 | [Pengelasan](4-Classification/README.md) | Bina aplikasi web pengesyorkan menggunakan model anda | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Pengenalan kepada pengelompokan | [Pengelompokan](5-Clustering/README.md) | Bersihkan, sediakan, dan visualisasikan data anda; Pengenalan kepada pengelompokan | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Meneroka citarasa muzik Nigeria 🎧 | [Pengelompokan](5-Clustering/README.md) | Terokai kaedah pengelompokan K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Pengenalan kepada pemprosesan bahasa semula jadi ☕️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Pelajari asas tentang NLP dengan membina bot yang ringkas | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tugasan NLP biasa ☕️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Mendalami pengetahuan NLP anda dengan memahami tugasan biasa yang diperlukan apabila berurusan dengan struktur bahasa | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Terjemahan dan analisis sentimen ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Terjemahan dan analisis sentimen dengan Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantik Eropah ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantik Eropah ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Pengenalan kepada peramalan siri masa | [Siri masa](7-TimeSeries/README.md) | Pengenalan kepada peramalan siri masa | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Penggunaan Kuasa Dunia ⚡️ - peramalan siri masa dengan ARIMA | [Siri masa](7-TimeSeries/README.md) | Peramalan siri masa dengan ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Penggunaan Kuasa Dunia ⚡️ - peramalan siri masa dengan SVR | [Siri masa](7-TimeSeries/README.md) | Peramalan siri masa dengan Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pengenalan kepada pembelajaran penguatan | [Pembelajaran penguatan](8-Reinforcement/README.md) | Pengenalan kepada pembelajaran penguatan dengan Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Bantu Peter elak serigala! 🐺 | [Pembelajaran penguatan](8-Reinforcement/README.md) | Gim pembelajaran penguatan | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postskrip | Senario dan aplikasi sebenar ML | [ML di Alam Liar](9-Real-World/README.md) | Aplikasi sebenar ML klasik yang menarik dan membongkar | [Pelajaran](9-Real-World/1-Applications/README.md) | Pasukan |
| Postskrip | Penyahpepijatan Model dalam ML menggunakan papan pemuka RAI | [ML di Alam Liar](9-Real-World/README.md) | Penyahpepijatan Model dalam Pembelajaran Mesin menggunakan komponen papan pemuka Responsible AI | [Pelajaran](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> **Nota tentang bahasa**: Pelajaran ini terutama ditulis dalam Python, tetapi banyak juga tersedia dalam R. Untuk melengkapkan pelajaran R, pergi ke folder `/solution` dan cari pelajaran R. Mereka termasuk sambungan .rmd yang mewakili fail **R Markdown** yang boleh didefinisikan sebagai penanaman `chunk kod` (R atau bahasa lain) dan `header YAML` (yang mengawal bagaimana output seperti PDF diformatkan) dalam `dokumen Markdown`. Oleh itu, ia berfungsi sebagai rangka kerja pengarang contoh untuk sains data kerana ia membolehkan anda menggabungkan kod anda, outputnya, dan pemikiran anda dengan membenarkan anda menuliskannya dalam Markdown. Tambahan pula, dokumen R Markdown boleh dihasilkan ke format output seperti PDF, HTML, atau Word.
> **Satu nota mengenai kuiz**: Semua kuiz terkandung dalam [folder Aplikasi Kuiz](../../quiz-app), untuk 52 kuiz dengan tiga soalan setiap satu. Ia dipautkan dari dalam pelajaran tetapi aplikasi kuiz boleh dijalankan secara tempatan; ikuti arahan dalam folder `quiz-app` untuk hos atau melaksanakan ke Azure secara tempatan.
| Nombor Pelajaran | Topik | Pengelompokkan Pelajaran | Objektif Pembelajaran | Pelajaran Berkaitan | Pengarang |
| :--------------: | :-----------------------------------------------------------: | :----------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| 01 | Pengenalan kepada pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Pelajari konsep asas di sebalik pembelajaran mesin | [Pelajaran](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Sejarah pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Pelajari sejarah yang mendasari bidang ini | [Pelajaran](1-Introduction/2-history-of-ML/README.md) | Jen dan Amy |
| 03 | Keadilan dan pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Apakah isu falsafah penting tentang keadilan yang perlu dipertimbangkan oleh pelajar ketika membina dan menggunakan model ML? | [Pelajaran](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Teknik untuk pembelajaran mesin | [Pengenalan](1-Introduction/README.md) | Apakah teknik yang digunakan penyelidik ML untuk membina model ML? | [Pelajaran](1-Introduction/4-techniques-of-ML/README.md) | Chris dan Jen |
| 05 | Pengenalan kepada regresi | [Regresi](2-Regression/README.md) | Mulakan dengan Python dan Scikit-learn untuk model regresi | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Visualisasikan dan bersihkan data sebagai persiapan untuk ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bina model regresi linear dan polinomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen dan Dmitry • Eric Wanjau |
| 08 | Harga labu Amerika Utara 🎃 | [Regresi](2-Regression/README.md) | Bina model regresi logistik | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikasi Web 🔌 | [Aplikasi Web](3-Web-App/README.md) | Bina aplikasi web untuk menggunakan model yang telah dilatih | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Pengenalan kepada klasifikasi | [Klasifikasi](4-Classification/README.md) | Bersihkan, sediakan, dan visualisasikan data anda; pengenalan kepada klasifikasi | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen dan Cassie • Eric Wanjau |
| 11 | Masakan Asia dan India yang lazat 🍜 | [Klasifikasi](4-Classification/README.md) | Pengenalan kepada pengelas | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen dan Cassie • Eric Wanjau |
| 12 | Masakan Asia dan India yang lazat 🍜 | [Klasifikasi](4-Classification/README.md) | Lebih banyak pengelas | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen dan Cassie • Eric Wanjau |
| 13 | Masakan Asia dan India yang lazat 🍜 | [Klasifikasi](4-Classification/README.md) | Bina aplikasi web pengesyorkan menggunakan model anda | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Pengenalan kepada pengelompokan | [Pengelompokan](5-Clustering/README.md) | Bersihkan, sediakan, dan visualisasikan data anda; pengenalan kepada pengelompokan | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Meneroka citarasa muzik Nigeria 🎧 | [Pengelompokan](5-Clustering/README.md) | Terokai kaedah pengelompokan K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Pengenalan kepada pemprosesan bahasa semula jadi ☕️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Pelajari asas NLP dengan membina bot ringkas | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tugas NLP biasa ☕️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Mendalami pengetahuan NLP anda dengan memahami tugas biasa yang diperlukan ketika berurusan dengan struktur bahasa | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Terjemahan dan analisis sentimen ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Terjemahan dan analisis sentimen dengan Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantik di Eropah ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantik di Eropah ♥️ | [Pemprosesan bahasa semula jadi](6-NLP/README.md) | Analisis sentimen dengan ulasan hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Pengenalan kepada peramalan siri masa | [Siri masa](7-TimeSeries/README.md) | Pengenalan kepada peramalan siri masa | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Penggunaan Tenaga Dunia ⚡️ - peramalan siri masa dengan ARIMA| [Siri masa](7-TimeSeries/README.md) | Peramalan siri masa dengan ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Penggunaan Tenaga Dunia ⚡️ - peramalan siri masa dengan SVR | [Siri masa](7-TimeSeries/README.md) | Peramalan siri masa dengan Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pengenalan kepada pembelajaran pengukuhan | [Pembelajaran pengukuhan](8-Reinforcement/README.md) | Pengenalan kepada pembelajaran pengukuhan dengan Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Bantu Peter elak serigala! 🐺 | [Pembelajaran pengukuhan](8-Reinforcement/README.md) | Gim pembelajaran pengukuhan | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Penutup | Senario dan aplikasi ML dunia sebenar | [ML di Alam Liar](9-Real-World/README.md) | Aplikasi dunia sebenar yang menarik dan mendedahkan ML klasik | [Pelajaran](9-Real-World/1-Applications/README.md) | Pasukan |
| Penutup | Penyahpepijatan Model dalam ML menggunakan papan pemuka RAI | [ML di Alam Liar](9-Real-World/README.md) | Penyahpepijatan Model dalam Pembelajaran Mesin menggunakan komponen papan pemuka Responsible AI | [Pelajaran](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [cari semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [temui semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Akses luar talian
Anda boleh menjalankan dokumentasi ini tanpa sambungan internet menggunakan [Docsify](https://docsify.js.org/#/). Cawangan repositori ini, [pasang Docsify](https://docsify.js.org/#/quickstart) pada mesin tempatan anda, dan kemudian di folder akar repositori ini, taip `docsify serve`. Laman web akan dihidangkan pada port 3000 di localhost anda: `localhost:3000`.
Anda boleh menjalankan dokumentasi ini secara luar talian dengan menggunakan [Docsify](https://docsify.js.org/#/). Fork repo ini, [pasang Docsify](https://docsify.js.org/#/quickstart) di mesin tempatan anda, dan kemudian di folder root repo ini, taip `docsify serve`. Laman web akan dihidangkan pada port 3000 di localhost anda: `localhost:3000`.
## PDF
@ -175,13 +185,13 @@ Pasukan kami menghasilkan kursus lain! Lihat:
### Azure / Edge / MCP / Ejen
[![AZD untuk Pemula](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI untuk Pemula](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP untuk Pemula](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Ejen AI untuk Pemula](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Siri AI Generatif
[![Generative AI untuk Pemula](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
@ -189,35 +199,40 @@ Pasukan kami menghasilkan kursus lain! Lihat:
---
### Pembelajaran Teras
[![ML untuk Pemula](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Sains Data untuk Pemula](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI untuk Pemula](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Keselamatan Siber untuk Pemula](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Pembangunan Web untuk Pemula](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT untuk Pemula](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![Pembangunan XR untuk Pemula](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Siri Copilot
[![Copilot untuk Pengaturcaraan Berpasangan AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot untuk C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Pengembaraan Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Mendapatkan Bantuan
Sekiranya anda tersekat atau mempunyai sebarang soalan mengenai membina aplikasi AI. Sertailah pembelajar lain dan pembangun berpengalaman dalam perbincangan mengenai MCP. Ia adalah komuniti yang menyokong di mana soalan dialu-alukan dan pengetahuan dikongsi dengan bebas.
Jika anda tersekat atau mempunyai sebarang soalan mengenai membina aplikasi AI. Sertai pelajar lain dan pemaju berpengalaman dalam perbincangan tentang MCP. Ia adalah komuniti yang menyokong di mana soalan dialu-alukan dan pengetahuan dikongsi dengan bebas.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Jika anda mempunyai maklum balas produk atau ralat semasa membina, lawati:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Petua Pembelajaran Tambahan
- Semak semula buku nota selepas setiap pelajaran untuk pemahaman yang lebih baik.
- Amalkan melaksanakan algoritma sendiri.
- Terokai set data dunia sebenar menggunakan konsep yang telah dipelajari.
---
<!-- 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 ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya hendaklah dianggap sebagai sumber yang sah. Untuk maklumat kritikal, terjemahan profesional oleh manusia 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 hendaklah dianggap sebagai sumber utama. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau tafsiran yang salah yang timbul daripada penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "tl"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-08-29T13:38:56+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T09:39:19+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "tl"
},
@ -90,8 +90,8 @@
"language_code": "tl"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T18:08:24+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T09:40:23+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "tl"
},
@ -186,8 +186,8 @@
"language_code": "tl"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T18:21:44+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T09:40:48+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "tl"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "tl"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:32:06+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "tl"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-08-29T13:59:43+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "tl"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:32:13+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "tl"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T18:21:16+00:00",
@ -540,8 +552,8 @@
"language_code": "tl"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:45:32+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T09:39:12+00:00",
"source_file": "README.md",
"language_code": "tl"
},

@ -2,15 +2,17 @@
## Mga Tagubilin
Sa araling ito, natutunan mo ang tungkol sa Responsible AI Toolbox, isang "open-source, community-driven na proyekto upang tulungan ang mga data scientist na suriin at pagbutihin ang mga AI system." Para sa gawaing ito, tuklasin ang isa sa mga [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) ng RAI Toolbox at iulat ang iyong mga natuklasan sa isang papel o presentasyon.
Sa araling ito, natutunan mo ang tungkol sa Responsible AI Toolbox, isang "open-source, community-driven project upang tulungan ang mga data scientist na suriin at pagbutihin ang mga AI system." Para sa takdang-aralin na ito, tuklasin ang isa sa mga [notebooks](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) ng RAI Toolbox at iulat ang iyong mga natuklasan sa isang papel o presentasyon.
## Rubric
| Pamantayan | Natatangi | Katanggap-tanggap | Kailangang Pagbutihin |
| ---------- | --------- | ----------------- | --------------------- |
| | Isang papel o PowerPoint na presentasyon ang iniharap na tinatalakay ang mga sistema ng Fairlearn, ang notebook na ginamit, at ang mga konklusyon mula sa paggamit nito | Isang papel ang iniharap ngunit walang mga konklusyon | Walang iniharap na papel |
| Criteria | Exemplary | Adequate | Needs Improvement |
| -------- | --------- | -------- | ----------------- |
| | Isang papel o powerpoint presentation ang ipinakita na tinatalakay ang mga sistema ng Fairlearn, ang notebook na pinatakbo, at ang mga konklusyon mula sa pagpapatakbo nito | Isang papel ang ipinakita nang walang mga konklusyon | Walang papel na ipinakita |
---
**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, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Paalala**:
Ang dokumentong ito ay isinalin gamit ang AI na serbisyo sa pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsisikap kami ng katumpakan, pakatandaan na ang awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o kamalian. Ang orihinal na dokumento sa kanyang sariling 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 maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,55 +1,68 @@
# Gumawa ng regression model gamit ang Scikit-learn: regression sa apat na paraan
# Gumawa ng modelo ng regresyon gamit ang Scikit-learn: regression sa apat na paraan
![Linear vs polynomial regression infographic](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
## Tala para sa Baguhan
Ginagamit ang linear regression kapag gusto nating hulaan ang isang **numerikal na halaga** (halimbawa, presyo ng bahay, temperatura, o benta).
Ito ay gumagana sa paghahanap ng tuwid na linya na pinakamahusay na kumakatawan sa relasyon sa pagitan ng mga input feature at output.
Sa araling ito, nakatuon tayo sa pag-unawa ng konsepto bago tuklasin ang mas advanced na mga teknik sa regresyon.
![Linear vs polynomial regression infographic](../../../../translated_images/tl/linear-polynomial.5523c7cb6576ccab.webp)
> Infographic ni [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
> ### [Ang araling ito ay available sa R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
> ### [Available ang araling ito sa R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Panimula
Sa ngayon, napag-aralan mo na kung ano ang regression gamit ang sample data mula sa dataset ng presyo ng kalabasa na gagamitin natin sa buong araling ito. Na-visualize mo na rin ito gamit ang Matplotlib.
Sa ngayon ay napag-aralan mo na kung ano ang regresyon gamit ang sample na datos mula sa pumpkin pricing dataset na gagamitin natin sa buong araling ito. Na-visualize mo rin ito gamit ang Matplotlib.
Ngayon, handa ka nang mas lumalim sa regression para sa ML. Bagama't ang visualization ay tumutulong upang maunawaan ang data, ang tunay na lakas ng Machine Learning ay nagmumula sa _pagsasanay ng mga modelo_. Ang mga modelo ay sinasanay gamit ang makasaysayang data upang awtomatikong makuha ang mga dependency ng data, at nagbibigay-daan ito upang mahulaan ang mga resulta para sa bagong data na hindi pa nakikita ng modelo.
Ngayon ay handa ka nang sumisid nang mas malalim sa regresyon para sa ML. Habang ang visualization ay nagpapadali upang maintindihan ang data, ang tunay na lakas ng Machine Learning ay nagmumula sa _pagsasanay ng mga modelo_. Ang mga modelo ay sinasanay gamit ang makasaysayang datos upang awtomatikong makuha ang mga ugnayan ng datos, at nagbibigay-daan ito upang mahulaan ang mga kinalabasan para sa bagong data na hindi pa nakita ng modelo.
Sa araling ito, matututunan mo ang higit pa tungkol sa dalawang uri ng regression: _basic linear regression_ at _polynomial regression_, kasama ang ilang math na nasa likod ng mga teknik na ito. Ang mga modelong ito ay magbibigay-daan sa atin upang mahulaan ang presyo ng kalabasa batay sa iba't ibang input data.
Sa araling ito, matututuhan mo pa ang tungkol sa dalawang uri ng regresyon: _basic linear regression_ at _polynomial regression_, kasama ang ilan sa mga matematikal na batayan ng mga teknik na ito. Makakatulong ang mga modelong ito upang mahulaan ang presyo ng kalabasa batay sa iba't ibang input datos.
[![ML para sa mga nagsisimula - Pag-unawa sa Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML para sa mga nagsisimula - Pag-unawa sa Linear Regression")
[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
> 🎥 I-click ang imahe sa itaas para sa maikling video overview ng linear regression.
> 🎥 I-click ang larawan sa itaas para sa maikling video na pagpapakilala sa linear regression.
> Sa buong kurikulum na ito, inaasahan namin ang minimal na kaalaman sa math, at sinisikap naming gawing accessible ito para sa mga estudyanteng nagmumula sa ibang larangan, kaya't maghanap ng mga tala, 🧮 callouts, diagram, at iba pang learning tools upang makatulong sa pag-unawa.
> Sa buong kurikulum na ito, ipinagpapalagay namin ang pinaka-kaunting kaalaman sa matematika, at layuning gawing madaling maunawaan para sa mga estudyanteng nagmula sa iba't ibang larangan, kaya bantayan ang mga tala, 🧮 mga paalala, mga diagram, at iba pang mga gamit sa pagkatuto upang makatulong sa pag-unawa.
### Paunang Kaalaman
### Kinakailangang Kaalaman
Dapat ay pamilyar ka na sa istruktura ng data ng kalabasa na ating sinusuri. Makikita mo itong preloaded at pre-cleaned sa _notebook.ipynb_ file ng araling ito. Sa file, ang presyo ng kalabasa ay ipinapakita kada bushel sa isang bagong data frame. Siguraduhing maipatakbo mo ang mga notebook na ito sa kernels sa Visual Studio Code.
Dapat ay pamilyar ka na sa istraktura ng pumpkin data na sinusuri natin. Makikita mo ito na naka-preload at nalinis na sa _notebook.ipynb_ file ng araling ito. Sa file, ipinapakita ang presyo ng kalabasa kada bushel sa isang bagong data frame. Siguraduhing kaya mong patakbuhin ang mga notebook na ito gamit ang kernels sa Visual Studio Code.
### Paghahanda
Bilang paalala, niloload mo ang data na ito upang magtanong tungkol dito.
Bilang paalala, niloload mo ang datos upang makapagtanong tungkol dito.
- Kailan ang pinakamainam na oras upang bumili ng mga kalabasa?
- Ano ang presyo na maaasahan ko sa isang kahon ng mga miniature pumpkins?
- Dapat ba akong bumili ng mga ito sa pamamagitan ng half-bushel baskets o sa 1 1/9 bushel box?
- Kailan ang pinakamagandang oras para bumili ng kalabasa?
- Anong presyo ang maaasahan ko para sa isang case ng miniature pumpkins?
- Dapat ko bang bilhin ang mga ito sa half-bushel baskets o sa 1 1/9 bushel box?
Patuloy nating tuklasin ang data na ito.
Tuloy natin ang pagsisiyasat sa datos na ito.
Sa nakaraang aralin, gumawa ka ng Pandas data frame at pinunan ito ng bahagi ng orihinal na dataset, na-standardize ang presyo kada bushel. Gayunpaman, sa paggawa nito, nakakuha ka lamang ng humigit-kumulang 400 datapoints at para lamang sa mga buwan ng taglagas.
Sa naunang aralin, gumawa ka ng Pandas data frame at pinunan ito ng bahagi ng orihinal na dataset, pinagpantay-pantay ang presyo ayon sa bushel. Sa paggawa nito, nakalap mo lamang ang humigit-kumulang 400 na datapoints at para lamang sa mga buwan ng taglagas.
Tingnan ang data na preloaded sa notebook na kasama ng araling ito. Ang data ay preloaded at isang paunang scatterplot ang na-chart upang ipakita ang data ng buwan. Marahil makakakuha tayo ng mas detalyadong impormasyon tungkol sa kalikasan ng data sa pamamagitan ng mas malalim na paglilinis nito.
Tingnan ang datos na naka-preload sa notebook na kasama ng araling ito. Naipakita na ang scatterplot upang ipakita ang data ng buwan. Maaaring makakuha tayo ng mas detalyadong kaalaman tungkol sa likas ng datos sa pamamagitan ng mas malalim na paglilinis nito.
## Isang linear regression line
## Isang linya ng linear regression
Tulad ng natutunan mo sa Lesson 1, ang layunin ng isang linear regression exercise ay makapag-plot ng linya upang:
Tulad ng natutunan mo sa Aralin 1, ang layunin ng linear regression exercise ay makapag-plot ng linya upang:
- **Ipakita ang relasyon ng mga variable**. Ipakita ang relasyon sa pagitan ng mga variable
- **Gumawa ng mga prediksyon**. Gumawa ng tumpak na prediksyon kung saan mahuhulog ang isang bagong datapoint kaugnay ng linya.
- **Gumawa ng mga hulang prediksyon**. Gumawa ng tumpak na prediksyon kung saan mahuhulog ang bagong datapoint kaugnay ng linyang iyon.
Karaniwan sa **Least-Squares Regression** ang pagguhit ng ganitong uri ng linya. Ang terminong 'least-squares' ay nangangahulugan na ang lahat ng datapoints na nakapalibot sa regression line ay pinapangkat at pagkatapos ay ina-add. Sa ideal na sitwasyon, ang huling kabuuan ay dapat na kasing liit hangga't maaari, dahil gusto natin ng mababang bilang ng mga error, o `least-squares`.
Karaniwan sa **Least-Squares Regression** ang pagguhit ng ganitong uri ng linya. Ang terminong "Least-Squares" ay tumutukoy sa proseso ng pagbawas sa kabuuang error sa modelo natin. Para sa bawat data point, sinusukat natin ang patayong distansya (tinatawag na residual) sa pagitan ng aktwal na punto at ng ating regression line.
Ginagawa natin ito dahil gusto nating magmodelo ng linya na may pinakamaliit na kabuuang distansya mula sa lahat ng ating data points. Pinapangkat din natin ang mga termino bago i-add ang mga ito dahil mas mahalaga sa atin ang magnitude kaysa sa direksyon nito.
Ikinakuwadrado natin ang mga distansyang ito sa dalawang pangunahing dahilan:
> **🧮 Ipakita ang math**
>
> Ang linyang ito, na tinatawag na _line of best fit_, ay maaaring ipahayag sa pamamagitan ng [isang equation](https://en.wikipedia.org/wiki/Simple_linear_regression):
1. **Laki kaysa Direksyon:** Gusto nating tratuhin ang error na -5 gaya ng error na +5. Ginagawa nitong positibo ang lahat ng halaga sa pagkuwadrado.
2. **Pagbigay ng Parusa sa Malalaking Error:** Nagbibigay ang pagkuwadrado ng mas malaking bigat sa mas malalaking error, na pinipilit ang linya na maging malapit sa mga puntos na malayo.
Pagkatapos, pinagsasama-sama natin ang lahat ng mga na-kuwadradong halaga. Layunin natin mahanap ang tiyak na linya kung saan ang kabuuang halaga nito ay pinakamababa (ang pinakamaliit na posibleng halaga)—kaya tinawag itong "Least-Squares."
> **🧮 Ipakita sa akin ang math**
>
> Ang linyang ito, na tinatawag na _line of best fit_ ay maaaring ipahayag sa pamamagitan ng [isang equation](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
@ -57,29 +70,29 @@ Ginagawa natin ito dahil gusto nating magmodelo ng linya na may pinakamaliit na
>
> Ang `X` ay ang 'explanatory variable'. Ang `Y` ay ang 'dependent variable'. Ang slope ng linya ay `b` at ang `a` ay ang y-intercept, na tumutukoy sa halaga ng `Y` kapag `X = 0`.
>
>![calculate the slope](../../../../2-Regression/3-Linear/images/slope.png)
>![calculate the slope](../../../../translated_images/tl/slope.f3c9d5910ddbfcf9.webp)
>
> Una, kalkulahin ang slope `b`. Infographic ni [Jen Looper](https://twitter.com/jenlooper)
>
> Sa madaling salita, at tumutukoy sa orihinal na tanong ng data ng kalabasa: "hulaan ang presyo ng kalabasa kada bushel ayon sa buwan", ang `X` ay tumutukoy sa presyo at ang `Y` ay tumutukoy sa buwan ng pagbebenta.
> Sa madaling salita, at tumutukoy sa orihinal na tanong ng ating pumpkin data: "hulaan ang presyo ng kalabasa kada bushel bawat buwan", ang `X` ay tumutukoy sa presyo at ang `Y` ay tumutukoy sa buwan ng bentahan.
>
>![complete the equation](../../../../2-Regression/3-Linear/images/calculation.png)
>![complete the equation](../../../../translated_images/tl/calculation.a209813050a1ddb1.webp)
>
> Kalkulahin ang halaga ng Y. Kung nagbabayad ka ng humigit-kumulang $4, malamang Abril ito! Infographic ni [Jen Looper](https://twitter.com/jenlooper)
> Kalkulahin ang halaga ng Y. Kung nagbabayad ka ng humigit-kumulang $4, siguradong Abril ito! Infographic ni [Jen Looper](https://twitter.com/jenlooper)
>
> Ang math na nagkakalkula ng linya ay dapat ipakita ang slope ng linya, na nakadepende rin sa intercept, o kung saan nakaposisyon ang `Y` kapag `X = 0`.
> Ang matematika na nagkukuwenta ng linyang ito ay dapat ipakita ang slope ng linya, na nakaasa rin sa intercept, o kung saan nakalugar ang `Y` kapag `X = 0`.
>
> Maaari mong obserbahan ang paraan ng pagkalkula para sa mga halagang ito sa [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) web site. Bisitahin din ang [Least-squares calculator](https://www.mathsisfun.com/data/least-squares-calculator.html) upang makita kung paano nakakaapekto ang mga halaga ng numero sa linya.
> Maaari mong obserbahan ang pamamaraan ng pagkalkula ng mga halagang ito sa web site na [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Bisitahin din ang [Least-squares calculator](https://www.mathsisfun.com/data/least-squares-calculator.html) upang makita kung paano naapektuhan ng mga halagang numero ang linya.
## Correlation
## Korelasyon
Isa pang terminong dapat maunawaan ay ang **Correlation Coefficient** sa pagitan ng mga X at Y variables. Gamit ang scatterplot, mabilis mong ma-visualize ang coefficient na ito. Ang plot na may datapoints na maayos na nakahanay ay may mataas na correlation, ngunit ang plot na may datapoints na kalat-kalat sa pagitan ng X at Y ay may mababang correlation.
Isang terminong kailangang maunawaan ay ang **Correlation Coefficient** sa pagitan ng mga ibinigay na X at Y na variable. Gamit ang scatterplot, mabilis mong maipapakita ang coefficient na ito. Ang plot na may mga datapoints na magkakatabi sa isang maayos na linya ay may mataas na korelasyon, ngunit ang plot na may mga datapoints na kalat-kalat sa pagitan ng X at Y ay may mababang korelasyon.
Ang isang mahusay na linear regression model ay ang may mataas (mas malapit sa 1 kaysa sa 0) Correlation Coefficient gamit ang Least-Squares Regression method na may linya ng regression.
Ang magandang modelo ng linear regression ay yaong may mataas na (malapit sa 1 kaysa sa 0) Correlation Coefficient gamit ang Least-Squares Regression na may linya ng regresyon.
✅ Patakbuhin ang notebook na kasama ng araling ito at tingnan ang scatterplot ng Month to Price. Ang data ba na nag-uugnay sa Month to Price para sa pagbebenta ng kalabasa ay mukhang may mataas o mababang correlation, ayon sa iyong visual na interpretasyon ng scatterplot? Nagbabago ba ito kung gumamit ka ng mas detalyadong sukat sa halip na `Month`, halimbawa *day of the year* (i.e. bilang ng mga araw mula sa simula ng taon)?
✅ Patakbuhin ang notebook na kalakip ng araling ito at tingnan ang Month to Price scatterplot. Mukhang mataas o mababa ang korelasyon ng datos sa pagitan ng Buwan at Presyo ng bentahan ng kalabasa, ayon sa iyong visual na interpretasyon ng scatterplot? Nagbabago ba ito kung gagamit ka ng mas maselang sukatan sa halip na `Month`, halimbawa, *araw ng taon* (ibig sabihin, bilang ng mga araw mula sa simula ng taon)?
Sa code sa ibaba, ipagpalagay natin na nalinis na natin ang data, at nakakuha ng data frame na tinatawag na `new_pumpkins`, na katulad ng sumusunod:
Sa code sa ibaba, ipagpapalagay natin na nalinis na natin ang data, at nakakuha ng data frame na tinatawag na `new_pumpkins`, tulad ng sumusunod:
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
---|-------|-----------|---------|------|---------|-----------|------------|-------
@ -89,36 +102,36 @@ ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Pri
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
> Ang code para linisin ang data ay makikita sa [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Ginawa namin ang parehong mga hakbang sa paglilinis tulad ng sa nakaraang aralin, at kinakalkula ang `DayOfYear` column gamit ang sumusunod na expression:
> Ang code para linisin ang data ay matatagpuan sa [`notebook.ipynb`](notebook.ipynb). Ginawa natin ang parehong hakbang sa paglilinis tulad ng sa naunang aralin, at nakwenta ang column na `DayOfYear` gamit ang sumusunod na expression:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Ngayon na nauunawaan mo ang math sa likod ng linear regression, gumawa tayo ng Regression model upang makita kung kaya nating hulaan kung aling package ng kalabasa ang may pinakamagandang presyo. Ang isang taong bumibili ng kalabasa para sa holiday pumpkin patch ay maaaring gusto ng impormasyong ito upang ma-optimize ang kanilang pagbili ng mga package ng kalabasa para sa patch.
Ngayon na nauunawaan mo na ang matematika sa likod ng linear regression, gawin natin ang isang Regression model upang makita kung kaya nating mahulaan kung aling pakete ng kalabasa ang magkakaroon ng pinakamagandang presyo. Ang isang bumibili ng kalabasa para sa holiday pumpkin patch ay maaaring magustuhan ang impormasyong ito upang mapahusay ang kanilang pagbili ng mga pakete ng kalabasa para sa patch.
## Paghahanap ng Correlation
## Paghahanap ng Korelasyon
[![ML para sa mga nagsisimula - Paghahanap ng Correlation: Ang Susi sa Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML para sa mga nagsisimula - Paghahanap ng Correlation: Ang Susi sa Linear Regression")
[![ML for beginners - Looking for Correlation: The Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression")
> 🎥 I-click ang imahe sa itaas para sa maikling video overview ng correlation.
> 🎥 I-click ang larawan sa itaas para sa maikling video na pagpapakilala sa korelasyon.
Mula sa nakaraang aralin, marahil nakita mo na ang average na presyo para sa iba't ibang buwan ay ganito:
Mula sa naunang aralin, marahil ay nakita mo na ang average na presyo para sa iba't ibang buwan ay ganito:
<img alt="Average price by month" src="../../../../translated_images/tl/barchart.a833ea9194346d76.webp" width="50%"/>
Ipinapakita nito na maaaring may correlation, at maaari nating subukang sanayin ang linear regression model upang hulaan ang relasyon sa pagitan ng `Month` at `Price`, o sa pagitan ng `DayOfYear` at `Price`. Narito ang scatter plot na nagpapakita ng huling relasyon:
Ipinapahiwatig nito na dapat mayroong ilang korelasyon, at maaari nating subukang sanayin ang linear regression model upang hulaan ang ugnayan ng `Month` at `Price`, o ng `DayOfYear` at `Price`. Narito ang scatter plot na nagpapakita ng huling ugnayan:
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/tl/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Tingnan natin kung may correlation gamit ang `corr` function:
Tingnan natin kung may korelasyon gamit ang `corr` na function:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Mukhang maliit ang correlation, -0.15 sa `Month` at -0.17 sa `DayOfMonth`, ngunit maaaring may isa pang mahalagang relasyon. Mukhang may iba't ibang clusters ng presyo na tumutugma sa iba't ibang pumpkin varieties. Upang kumpirmahin ang hypothesis na ito, i-plot natin ang bawat kategorya ng kalabasa gamit ang iba't ibang kulay. Sa pamamagitan ng pagpasa ng `ax` parameter sa `scatter` plotting function, maaari nating i-plot ang lahat ng puntos sa parehong graph:
Mukhang maliit ang korelasyon, -0.15 para sa `Month` at -0.17 para sa `DayOfMonth`, ngunit maaaring may isa pang mahalagang ugnayan. Mukhang may magkakaibang pangkat ng presyo na tumutugma sa iba't ibang uri ng kalabasa. Upang kumpirmahin ito, ilarawan natin bawat kategorya ng kalabasa gamit ang ibang kulay. Sa pamamagitan ng pagpasa ng `ax` parameter sa `scatter` plotting function, maaari nating ipakita lahat ng puntos sa iisang grapiko:
```python
ax=None
@ -130,7 +143,7 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/tl/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Ang ating pagsisiyasat ay nagpapahiwatig na ang variety ay may mas malaking epekto sa kabuuang presyo kaysa sa aktwal na petsa ng pagbebenta. Makikita natin ito gamit ang bar graph:
Ang imbestigasyon natin ay nagpapahiwatig na ang uri ay mas may epekto sa pangkalahatang presyo kaysa sa aktwal na petsa ng bentahan. Makikita ito sa isang bar graph:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
@ -138,7 +151,7 @@ new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
<img alt="Bar graph of price vs variety" src="../../../../translated_images/tl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Tumutok muna tayo sa isang pumpkin variety, ang 'pie type', at tingnan kung anong epekto ang petsa sa presyo:
Magtuon muna tayo sa isang uri ng kalabasa, ang 'pie type', at tingnan ang epekto ng petsa sa presyo:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
@ -146,24 +159,24 @@ pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/tl/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Kung kalkulahin natin ngayon ang correlation sa pagitan ng `Price` at `DayOfYear` gamit ang `corr` function, makakakuha tayo ng humigit-kumulang `-0.27` - na nangangahulugang may saysay ang pagsasanay ng predictive model.
Kung ngayon ay kakalkulahin natin ang korelasyon sa pagitan ng `Price` at `DayOfYear` gamit ang `corr` function, makakakuha tayo ng humigit-kumulang `-0.27` - na nangangahulugang makatuwiran ang pagsasanay ng prediktibong modelo.
> Bago sanayin ang linear regression model, mahalagang tiyakin na malinis ang ating data. Hindi mahusay gumagana ang linear regression sa mga nawawalang halaga, kaya't makatuwiran na alisin ang lahat ng empty cells:
> Bago mag-train ng linear regression model, mahalaga na malinis ang datos. Hindi maganda ang linear regression sa mga kulang na halaga, kaya makatuwiran na alisin ang lahat ng walang laman na cells:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Ang isa pang paraan ay punan ang mga nawawalang halaga gamit ang mean values mula sa kaukulang column.
Isa pang pamamaraan ay punan ang mga walang laman na value gamit ang average value mula sa katumbas na column.
## Simple Linear Regression
[![ML para sa mga nagsisimula - Linear at Polynomial Regression gamit ang Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML para sa mga nagsisimula - Linear at Polynomial Regression gamit ang Scikit-learn")
[![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn")
> 🎥 I-click ang imahe sa itaas para sa maikling video overview ng linear at polynomial regression.
> 🎥 I-click ang larawan sa itaas para sa maikling video na pagpapakilala sa linear at polynomial regression.
Upang sanayin ang ating Linear Regression model, gagamit tayo ng **Scikit-learn** library.
Para sanayin ang ating Linear Regression model, gagamitin natin ang **Scikit-learn** library.
```python
from sklearn.linear_model import LinearRegression
@ -171,31 +184,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Magsimula tayo sa paghihiwalay ng input values (features) at ang inaasahang output (label) sa magkahiwalay na numpy arrays:
Nagsisimula tayo sa paghihiwalay ng mga input na values (features) at ang inaasahang output (label) sa magkahiwalay na numpy arrays:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Tandaan na kailangan nating i-perform ang `reshape` sa input data upang maunawaan ito nang tama ng Linear Regression package. Ang Linear Regression ay inaasahan ang isang 2D-array bilang input, kung saan ang bawat row ng array ay tumutugma sa isang vector ng input features. Sa ating kaso, dahil mayroon lamang tayong isang input - kailangan natin ng array na may hugis N×1, kung saan ang N ay ang laki ng dataset.
> Tandaan na kinailangang gawin ang `reshape` sa input data upang maunawaan ito nang tama ng Linear Regression package. Inaasahan ng Linear Regression ang 2D-array bilang input, kung saan ang bawat hilera ng array ay tumutugma sa isang vector ng input features. Sa ating kaso, dahil isa lang ang input — kailangan natin ng array na hugis N&times;1, kung saan ang N ay ang laki ng dataset.
Pagkatapos, kailangan nating hatiin ang data sa train at test datasets, upang ma-validate natin ang ating modelo pagkatapos ng pagsasanay:
Pagkatapos, kailangang hatiin ang data sa train at test datasets, upang ma-validate natin ang ating modelo pagkatapos i-train:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Sa wakas, ang pagsasanay ng aktwal na Linear Regression model ay nangangailangan lamang ng dalawang linya ng code. I-define natin ang `LinearRegression` object, at i-fit ito sa ating data gamit ang `fit` method:
Sa huli, ang pagsasanay ng tunay na Linear Regression model ay nangangailangan lamang ng dalawang linya ng code. Idefine natin ang `LinearRegression` na object, at i-fit ito sa ating data gamit ang `fit` method:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Ang `LinearRegression` object pagkatapos ng `fit`-ting ay naglalaman ng lahat ng coefficients ng regression, na maaaring ma-access gamit ang `.coef_` property. Sa ating kaso, mayroon lamang isang coefficient, na dapat ay nasa paligid ng `-0.017`. Ibig sabihin, ang mga presyo ay tila bumababa nang kaunti sa paglipas ng panahon, ngunit hindi masyado, humigit-kumulang 2 cents kada araw. Maaari rin nating ma-access ang intersection point ng regression sa Y-axis gamit ang `lin_reg.intercept_` - ito ay nasa paligid ng `21` sa ating kaso, na nagpapahiwatig ng presyo sa simula ng taon.
Ang `LinearRegression` na object pagkatapos ng `fit`-ting ay naglalaman ng lahat ng coefficients ng regression, na maaaring ma-access gamit ang `.coef_` property. Sa aming kaso, may isa lamang coefficient, na dapat ay nasa paligid ng `-0.017`. Ibig sabihin nito na tila bumababa ang mga presyo nang bahagya sa paglipas ng panahon, ngunit hindi masyadong malaki, mga 2 sentimo kada araw. Maaari rin nating ma-access ang punto ng intersection ng regression sa Y-axis gamit ang `lin_reg.intercept_` - ito ay nasa paligid ng `21` sa aming kaso, na nagsasaad ng presyo sa simula ng taon.
Upang makita kung gaano katumpak ang ating modelo, maaari nating hulaan ang mga presyo sa test dataset, at pagkatapos ay sukatin kung gaano kalapit ang ating mga prediksyon sa inaasahang mga halaga. Magagawa ito gamit ang mean square error (MSE) metrics, na siyang mean ng lahat ng squared differences sa pagitan ng inaasahan at prediktadong halaga.
Para makita kung gaano katumpak ang aming modelo, maaari nating hulaan ang mga presyo sa test dataset, at sukatin kung gaano kalapit ang aming mga hula sa inaasahang mga halaga. Magagawa ito gamit ang mean square error (MSE) na metrics, na siyang mean ng lahat ng squared differences sa pagitan ng inaasahan at hinulaan na halaga.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +216,38 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Ang ating error ay tila nasa paligid ng 2 puntos, na ~17%. Hindi masyadong maganda. Isa pang indikasyon ng kalidad ng modelo ay ang **coefficient of determination**, na maaaring makuha sa ganitong paraan:
Ang aming error ay tila nasa paligid ng 2 puntos, na ~17%. Hindi masyadong maganda. Isa pang pananda ng kalidad ng modelo ay ang **coefficient of determination**, na maaaring makuha sa ganitong paraan:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Kung ang halaga ay 0, nangangahulugan ito na ang modelo ay hindi isinasaalang-alang ang input data, at kumikilos bilang *pinakamasamang linear predictor*, na simpleng mean value ng resulta. Ang halaga na 1 ay nangangahulugan na maaari nating perpektong mahulaan ang lahat ng inaasahang output. Sa ating kaso, ang coefficient ay nasa paligid ng 0.06, na medyo mababa.
```
Maaari rin nating i-plot ang test data kasama ang regression line upang mas makita kung paano gumagana ang regression sa ating kaso:
Kung ang halaga ay 0, ibig sabihin ay hindi tinatanggap ng modelo ang input data, at kumikilos bilang *pinakamasamang linear predictor*, na isang mean value ng resulta. Ang halaga na 1 ay nangangahulugan na perpektong mahuhulaan natin lahat ng inaasahang output. Sa aming kaso, ang coefficient ay nasa paligid ng 0.06, na medyo mababa.
Maaari rin nating i-plot ang test data kasama ang regression line para mas makita kung paano gumagana ang regression sa aming kaso:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
```
<img alt="Linear regression" src="../../../../translated_images/tl/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Polynomial Regression
Isa pang uri ng Linear Regression ay ang Polynomial Regression. Bagamat minsan may linear na relasyon sa pagitan ng mga variable - mas malaki ang volume ng kalabasa, mas mataas ang presyo - minsan ang mga relasyong ito ay hindi maaaring i-plot bilang isang plane o tuwid na linya.
Isa pang uri ng Linear Regression ay ang Polynomial Regression. Habang minsan ay may linear na relasyon sa pagitan ng mga variable - mas malaki ang volume ng kalabasa, mas mataas ang presyo - may mga pagkakataon din na hindi maaaring i-plot ang mga relasyong ito bilang isang eroplano o tuwid na linya.
✅ Narito ang [ilang mga halimbawa](https://online.stat.psu.edu/stat501/lesson/9/9.8) ng data na maaaring gumamit ng Polynomial Regression.
✅ Narito ang [ilang karagdagang halimbawa](https://online.stat.psu.edu/stat501/lesson/9/9.8) ng data na maaaring gumamit ng Polynomial Regression
Tingnan muli ang relasyon sa pagitan ng Petsa at Presyo. Mukha bang ang scatterplot na ito ay dapat na suriin gamit ang tuwid na linya? Hindi ba maaaring magbago-bago ang mga presyo? Sa ganitong kaso, maaari mong subukan ang polynomial regression.
Balikan ang relasyon sa pagitan ng Date at Price. Tila ba ang scatterplot na ito ay kailangan talagang suriin gamit ang tuwid na linya? Hindi ba maaaring magbago-bago ang presyo? Sa ganitong kaso, maaari mong subukan ang polynomial regression.
✅ Ang mga polynomial ay mga matematikal na ekspresyon na maaaring binubuo ng isa o higit pang mga variable at coefficients.
✅ Ang mga polynomials ay mga matematikal na ekspresyon na maaaring binubuo ng isa o higit pang mga variable at coefficient
Ang Polynomial Regression ay lumilikha ng kurbadong linya upang mas maayos na magkasya sa nonlinear na data. Sa ating kaso, kung isasama natin ang squared na `DayOfYear` variable sa input data, dapat nating magawang i-fit ang ating data gamit ang isang parabolic curve, na magkakaroon ng minimum sa isang tiyak na punto sa loob ng taon.
Lumilikha ang polynomial regression ng isang kurbadong linya para mas maayos na maangkop ang nonlinear na data. Sa aming kaso, kung isasama natin ang squared na variable na `DayOfYear` sa input data, dapat nating maangkop ang data sa parabolic curve, na magkakaroon ng pinakamaliit na punto sa loob ng taon.
Ang Scikit-learn ay may kasamang kapaki-pakinabang na [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) upang pagsamahin ang iba't ibang hakbang ng data processing. Ang **pipeline** ay isang chain ng **estimators**. Sa ating kaso, gagawa tayo ng pipeline na unang magdadagdag ng polynomial features sa ating modelo, at pagkatapos ay magsasanay ng regression:
Kasama sa Scikit-learn ang kapaki-pakinabang na [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) para pagsamahin ang iba't ibang hakbang ng pagpoproseso ng data. Ang **pipeline** ay isang kadena ng **estimators**. Sa aming kaso, gagawa tayo ng pipeline na unang magdaragdag ng polynomial features sa modelo, at saka magsasanay ng regression:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -241,62 +256,62 @@ from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
```
Ang paggamit ng `PolynomialFeatures(2)` ay nangangahulugan na isasama natin ang lahat ng second-degree polynomials mula sa input data. Sa ating kaso, ito ay nangangahulugan lamang ng `DayOfYear`<sup>2</sup>, ngunit kung may dalawang input variables na X at Y, ito ay magdadagdag ng X<sup>2</sup>, XY, at Y<sup>2</sup>. Maaari rin tayong gumamit ng mas mataas na degree na polynomials kung nais natin.
Ang paggamit ng `PolynomialFeatures(2)` ay nangangahulugan na isasama natin lahat ng second-degree polynomials mula sa input data. Sa aming kaso, ito ay nangangahulugan lamang ng `DayOfYear`<sup>2</sup>, ngunit kung may dalawang input variables na X at Y, ito ay magdadagdag ng X<sup>2</sup>, XY at Y<sup>2</sup>. Maaari rin tayong gumamit ng mas mataas na degree na mga polynomials kung nais.
Ang mga pipeline ay maaaring gamitin sa parehong paraan tulad ng orihinal na `LinearRegression` object, ibig sabihin maaari nating `fit` ang pipeline, at pagkatapos ay gamitin ang `predict` upang makuha ang mga resulta ng prediksyon. Narito ang graph na nagpapakita ng test data, at ang approximation curve:
Maaaring gamitin ang Pipelines sa parehong paraan tulad ng orihinal na `LinearRegression` na object, ibig sabihin maaari nating `fit` ang pipeline, at pagkatapos ay gamitin ang `predict` para makuha ang mga resulta ng hula. Narito ang graph na nagpapakita ng test data, at ng approximation curve:
<img alt="Polynomial regression" src="../../../../translated_images/tl/poly-results.ee587348f0f1f60b.webp" width="50%" />
Sa paggamit ng Polynomial Regression, maaari tayong makakuha ng bahagyang mas mababang MSE at mas mataas na determination, ngunit hindi gaanong malaki. Kailangan nating isaalang-alang ang iba pang mga features!
Sa paggamit ng Polynomial Regression, makakakuha tayo ng bahagyang mas mababang MSE at mas mataas na coefficient of determination, ngunit hindi nang malaki. Kailangan nating isaalang-alang ang iba pang mga feature!
> Makikita mo na ang pinakamababang presyo ng kalabasa ay napapansin sa paligid ng Halloween. Paano mo ito maipapaliwanag?
> Makikita mo na ang pinakamababang presyo ng kalabasa ay nakikita halos sa paligid ng Halloween. Paano mo ito maipapaliwanag?
🎃 Binabati kita, nakagawa ka ng modelo na makakatulong sa paghulaan ang presyo ng pie pumpkins. Maaari mong ulitin ang parehong proseso para sa lahat ng uri ng kalabasa, ngunit magiging nakakapagod iyon. Alamin natin ngayon kung paano isama ang iba't ibang uri ng kalabasa sa ating modelo!
🎃 Congratulations, nakagawa ka lang ng modelong makakatulong hulaan ang presyo ng pie pumpkins. Marahil ay maaari mong ulitin ang parehas na proseso para sa lahat ng uri ng kalabasa, ngunit ito ay magiging mahirap. Alamin natin ngayon kung paano isaalang-alang ang pagkakaiba ng uri ng kalabasa sa ating modelo!
## Categorical Features
Sa ideal na mundo, nais nating mahulaan ang mga presyo para sa iba't ibang uri ng kalabasa gamit ang parehong modelo. Gayunpaman, ang column na `Variety` ay medyo naiiba sa mga column tulad ng `Month`, dahil naglalaman ito ng non-numeric na mga halaga. Ang ganitong mga column ay tinatawag na **categorical**.
Sa perpektong mundo, nais nating mahulaan ang mga presyo para sa iba't ibang uri ng kalabasa gamit ang parehong modelo. Gayunpaman, ang column na `Variety` ay iba mula sa mga column tulad ng `Month`, dahil naglalaman ito ng mga non-numeric na halaga. Ang ganitong mga column ay tinatawag na **categorical**.
[![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
> 🎥 I-click ang imahe sa itaas para sa maikling video overview ng paggamit ng categorical features.
> 🎥 I-click ang larawan sa itaas para sa maikling video overview tungkol sa paggamit ng categorical features.
Narito makikita mo kung paano nakadepende ang average na presyo sa variety:
Dito makikita kung paano nakadepende ang average na presyo sa variety:
<img alt="Average price by variety" src="../../../../translated_images/tl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Upang isama ang variety, kailangan muna nating i-convert ito sa numeric form, o **encode** ito. May ilang paraan upang gawin ito:
Para isaalang-alang ang variety, kailangan muna natin itong i-convert sa numeric form, o **i-encode**. Mayroong ilang paraan kung paano ito gagawin:
* Ang simpleng **numeric encoding** ay gagawa ng table ng iba't ibang varieties, at pagkatapos ay papalitan ang pangalan ng variety ng index sa table na iyon. Hindi ito ang pinakamahusay na ideya para sa linear regression, dahil ang linear regression ay gumagamit ng aktwal na numeric value ng index, at idinadagdag ito sa resulta, na pinararami ng ilang coefficient. Sa ating kaso, ang relasyon sa pagitan ng index number at presyo ay malinaw na hindi linear, kahit na tiyakin natin na ang mga indices ay nakaayos sa isang partikular na paraan.
* Ang **one-hot encoding** ay papalitan ang column na `Variety` ng 4 na magkakaibang column, isa para sa bawat variety. Ang bawat column ay maglalaman ng `1` kung ang kaukulang row ay ng isang partikular na variety, at `0` kung hindi. Nangangahulugan ito na magkakaroon ng apat na coefficients sa linear regression, isa para sa bawat uri ng kalabasa, na responsable para sa "starting price" (o "additional price") para sa partikular na variety.
* Ang simple **numeric encoding** ay gagawa ng table ng iba't ibang varieties, at papalitan ang pangalan ng variety ng isang index sa table na iyon. Hindi ito magandang ideya para sa linear regression, dahil tinatanggap ng linear regression ang aktwal na numeric value ng index, at dinadagdagan ito sa resulta, na pinararami ng isang coefficient. Sa aming kaso, malinaw na hindi linear ang relasyon sa pagitan ng index number at presyo, kahit pa siguraduhin nating nakaayos ang mga indices sa isang partikular na paraan.
* Ang **one-hot encoding** ay papalitan ang column na `Variety` ng 4 na hiwalay na mga column, isa para sa bawat variety. Bawat column ay magkakaroon ng `1` kung ang katumbas na row ay isang partikular na variety, at `0` naman kung hindi. Nangangahulugan ito na magkakaroon ng apat na coefficients sa linear regression, isa para sa bawat uri ng kalabasa, na siyang responsable para sa "simula na presyo" (o mas tamang sabihin ay "karagdagang presyo") para sa partikular na variety na iyon.
Ang code sa ibaba ay nagpapakita kung paano natin mai-one-hot encode ang variety:
Ipinapakita ng code sa ibaba kung paano tayo mag-one-hot encode ng variety:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Upang magsanay ng linear regression gamit ang one-hot encoded variety bilang input, kailangan lang nating i-initialize ang `X` at `y` data nang tama:
Para magsanay ng linear regression gamit ang one-hot encoded variety bilang input, kailangan lang nating i-initialize nang tama ang `X` at `y` data:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
```
Ang natitirang code ay pareho sa ginamit natin sa itaas upang magsanay ng Linear Regression. Kung susubukan mo ito, makikita mo na ang mean squared error ay halos pareho, ngunit nakakakuha tayo ng mas mataas na coefficient of determination (~77%). Upang makakuha ng mas tumpak na prediksyon, maaari nating isama ang mas maraming categorical features, pati na rin ang numeric features, tulad ng `Month` o `DayOfYear`. Upang makakuha ng isang malaking array ng features, maaari nating gamitin ang `join`:
Ang iba pang bahagi ng code ay pareho ng ginamit natin sa itaas para magsanay ng Linear Regression. Kapag sinubukan mo ito, makikita mo na ang mean squared error ay halos pareho, ngunit nakakakuha tayo ng mas mataas na coefficient of determination (~77%). Para makakuha ng mas tumpak na mga hula, maaari nating isaalang-alang ang mas maraming categorical features, pati na rin ang numeric features, tulad ng `Month` o `DayOfYear`. Para makuha ang isang malaking array ng features, maaari nating gamitin ang `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -304,69 +319,70 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
```
```
Dito isinama rin natin ang `City` at `Package` type, na nagbibigay sa atin ng MSE 2.84 (10%), at determination 0.94!
Dito isinasaalang-alang din natin ang `City` at uri ng `Package`, na nagbibigay sa atin ng MSE na 2.84 (10%), at determination na 0.94!
## Pagsasama-sama ng Lahat
## Pinagsasama-sama
Upang makagawa ng pinakamahusay na modelo, maaari nating gamitin ang pinagsamang (one-hot encoded categorical + numeric) data mula sa halimbawa sa itaas kasama ang Polynomial Regression. Narito ang kumpletong code para sa iyong kaginhawahan:
Para makagawa ng pinakamahusay na modelo, maaari nating pagsamahin (one-hot encoded categorical + numeric) data mula sa halimbawa sa itaas kasabay ng Polynomial Regression. Narito ang kumpletong code para sa iyong kaginhawaan:
```python
# set up training data
# ihanda ang datos para sa pagsasanay
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# gumawa ng paghahati sa pagsasanay at pagsubok
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# i-setup at sanayin ang pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# hulaan ang mga resulta para sa test data
pred = pipeline.predict(X_test)
# calculate MSE and determination
# kalkulahin ang MSE at determinasyon
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
```
Dapat nitong ibigay sa atin ang pinakamahusay na determination coefficient na halos 97%, at MSE=2.23 (~8% prediction error).
Ito ay dapat magbigay sa atin ng pinakamataas na coefficient of determination na halos 97%, at MSE=2.23 (~8% na error sa prediksyon).
| Modelo | MSE | Determination |
|-------|-----|---------------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| All features Linear | 2.84 (10.5%) | 0.94 |
| All features Polynomial | 2.23 (8.25%) | 0.97 |
| Modelo | MSE | Determination |
|-------|-----|---------------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| Lahat ng feature Linear | 2.84 (10.5%) | 0.94 |
| Lahat ng feature Polynomial | 2.23 (8.25%) | 0.97 |
🏆 Magaling! Nakagawa ka ng apat na Regression models sa isang aralin, at napabuti ang kalidad ng modelo sa 97%. Sa huling seksyon ng Regression, matututo ka tungkol sa Logistic Regression upang matukoy ang mga kategorya.
🏆 Magaling! Nakagawa ka ng apat na Regression na modelo sa isang leksiyon, at napabuti ang kalidad ng modelo sa 97%. Sa huling bahagi tungkol sa Regression, matututuhan mo ang tungkol sa Logistic Regression para magtakda ng mga kategorya.
---
## 🚀Hamong Gawain
## 🚀Hamunin
Subukan ang ilang iba't ibang mga variable sa notebook na ito upang makita kung paano tumutugma ang correlation sa accuracy ng modelo.
Subukan ang ilang iba't ibang variables sa notebook na ito para makita kung paano nauugnay ang correlation sa katumpakan ng modelo.
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
## Review & Self Study
## Repasuhin at Pag-aaral sa Sarili
Sa araling ito natutunan natin ang tungkol sa Linear Regression. May iba pang mahahalagang uri ng Regression. Basahin ang tungkol sa Stepwise, Ridge, Lasso, at Elasticnet techniques. Isang magandang kurso na maaaring pag-aralan upang matuto pa ay ang [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
Sa leksyong ito ay natutuhan natin ang tungkol sa Linear Regression. May iba pang mahahalagang uri ng Regression. Basahin tungkol sa Stepwise, Ridge, Lasso at Elasticnet na mga pamamaraan. Isang magandang kurso para pag-aralan ay ang [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Takdang Aralin
[Magbuo ng Modelo](assignment.md)
[Build a Model](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 sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Paalala**:
Ang dokumentong ito ay isinalin gamit ang serbisyong AI na pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kaming maging tumpak, pakatandaan na maaaring may mga pagkakamali o di-tiyak na bahagi ang awtomatikong pagsasalin. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagutan sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Mga Classifier ng Lutuin 2
# Mga classifier ng lutuin 2
Sa ikalawang aralin ng klasipikasyon na ito, mas marami kang matutuklasang paraan upang iklasipika ang numerikong datos. Malalaman mo rin ang mga epekto ng pagpili ng isang classifier kumpara sa iba.
Sa ikalawang aralin sa klasipikasyon na ito, susuriin mo ang higit pang mga paraan upang iklasipika ang numerikong datos. Malalaman mo rin ang mga epekto ng pagpili ng isang classifier kaysa sa iba.
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
### Paunang Kaalaman
Inaakala namin na natapos mo na ang mga nakaraang aralin at mayroon kang malinis na dataset sa iyong `data` folder na tinatawag na _cleaned_cuisines.csv_ sa root ng folder na ito na may 4 na aralin.
Ipinagpapalagay namin na nakumpleto mo na ang mga nakaraang aralin at mayroon kang malinis na dataset sa iyong `data` folder na tinatawag na _cleaned_cuisines.csv_ sa root ng 4-lesson folder na ito.
### Paghahanda
Na-load na namin ang iyong _notebook.ipynb_ file gamit ang malinis na dataset at hinati ito sa X at y dataframes, handa na para sa proseso ng paggawa ng modelo.
Na-load namin sa iyong _notebook.ipynb_ file ang malinis na dataset at hinati ito sa mga dataframe na X at y, na handa na para sa proseso ng paggawa ng modelo.
## Isang Mapa ng Klasipikasyon
## Isang mapa ng klasipikasyon
Noong nakaraan, natutunan mo ang iba't ibang opsyon na mayroon ka kapag nagkaklasipika ng datos gamit ang cheat sheet ng Microsoft. Ang Scikit-learn ay nag-aalok ng katulad, ngunit mas detalyadong cheat sheet na makakatulong upang mas mapaliit ang iyong mga pagpipilian sa mga estimator (isa pang termino para sa classifiers):
Dati, natutunan mo ang iba't ibang mga opsyon na mayroon ka sa pagpapangkat ng data gamit ang cheat sheet ng Microsoft. Nag-aalok ang Scikit-learn ng katulad, ngunit mas detalyadong cheat sheet na makakatulong pang paliitin ang iyong mga estimator (ibang tawag sa mga classifier):
![Mapa ng ML mula sa Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Tip: [bisitahin ang mapa online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) at mag-click sa mga landas upang basahin ang dokumentasyon.
![ML Map from Scikit-learn](../../../../translated_images/tl/map.e963a6a51349425a.webp)
> Tip: [bisitahin ang mapang ito online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) at i-click ang mga landas upang basahin ang dokumentasyon.
### Ang Plano
### Ang plano
Ang mapa na ito ay napaka-kapaki-pakinabang kapag malinaw na ang iyong pag-unawa sa datos, dahil maaari kang 'maglakad' sa mga landas nito patungo sa isang desisyon:
Napakabisa ng mapang ito kapag malinaw na ang iyong pagkakaintindi sa data, dahil maaari kang maglakad sa mga landas nito upang makagawa ng desisyon:
- Mayroon tayong >50 na sample
- Mayroon tayong >50 samples
- Gusto nating hulaan ang isang kategorya
- Mayroon tayong labeled na datos
- Mayroon tayong mas kaunti sa 100K na sample
- ✨ Maaari tayong pumili ng Linear SVC
- Kung hindi ito gumana, dahil mayroon tayong numerikong datos
- Maaari nating subukan ang ✨ KNeighbors Classifier
- Kung hindi ito gumana, subukan ang ✨ SVC at ✨ Ensemble Classifiers
- Mayroon tayong tinag na data
- Mas kaunti tayo sa 100K samples
- ✨ Pwede tayong pumili ng Linear SVC
- Kung hindi ito gumana, dahil numeriko ang data natin
- Pwede nating subukan ang ✨ KNeighbors Classifier
- Kung hindi pa rin ito gumana, subukan ang ✨ SVC at ✨ Ensemble Classifiers
Napaka-kapaki-pakinabang na landas na sundan.
Napakagandang landas ito na sundan.
## Ehersisyo - hatiin ang datos
## Ehersisyo - hatiin ang data
Sundin ang landas na ito, dapat tayong magsimula sa pag-import ng ilang mga library na gagamitin.
Sa pagsunod sa landas na ito, magsisimula tayong mag-import ng ilang mga library na gagamitin.
1. I-import ang mga kinakailangang library:
@ -53,28 +53,28 @@ Sundin ang landas na ito, dapat tayong magsimula sa pag-import ng ilang mga libr
1. Hatiin ang iyong training at test data:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Linear SVC classifier
Ang Support-Vector clustering (SVC) ay bahagi ng pamilya ng Support-Vector machines ng mga teknik sa ML (matuto pa tungkol dito sa ibaba). Sa pamamaraang ito, maaari kang pumili ng 'kernel' upang magpasya kung paano iklasipika ang mga label. Ang 'C' na parameter ay tumutukoy sa 'regularization' na nagre-regulate sa impluwensya ng mga parameter. Ang kernel ay maaaring isa sa [marami](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); dito itinakda namin ito sa 'linear' upang matiyak na ginagamit namin ang linear SVC. Ang probability ay default na 'false'; dito itinakda namin ito sa 'true' upang makakuha ng mga probability estimates. Itinakda namin ang random state sa '0' upang i-shuffle ang datos para makakuha ng probabilities.
Ang Support-Vector clustering (SVC) ay bahagi ng pamilya ng Support-Vector machines na mga teknik sa ML (matuto pa tungkol dito sa ibaba). Sa pamamaraang ito, maaari kang pumili ng 'kernel' para tukuyin kung paano i-cluster ang mga label. Ang parameter na 'C' ay tumutukoy sa 'regularization' na nagreregula sa impluwensya ng mga parameter. Ang kernel ay isa sa [marami](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); dito inilagay natin ito sa 'linear' upang matiyak na magagamit natin ang linear SVC. Ang default ng probability ay 'false'; dito itinakda natin ito sa 'true' upang makuha ang mga pagtatantiya ng posibilidad. Itinakda namin ang random state sa '0' upang i-shuffle ang data para makuha ang mga posibilidad.
### Ehersisyo - gamitin ang linear SVC
### Ehersisyo - ipatupad ang linear SVC
Magsimula sa pamamagitan ng paglikha ng array ng mga classifier. Magdadagdag ka nang paunti-unti sa array na ito habang sinusubukan natin.
Magsimula sa paggawa ng array ng mga classifier. Unang idadagdag mo rito habang nagt-test tayo.
1. Magsimula sa Linear SVC:
1. Magsimula sa isang Linear SVC:
```python
C = 10
# Create different classifiers.
# Gumawa ng iba't ibang mga classifier.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. I-train ang iyong modelo gamit ang Linear SVC at i-print ang ulat:
2. I-train ang iyong modelo gamit ang Linear SVC at i-print ang umiulat na ulat:
```python
n_classifiers = len(classifiers)
@ -107,19 +107,19 @@ Magsimula sa pamamagitan ng paglikha ng array ng mga classifier. Magdadagdag ka
## K-Neighbors classifier
Ang K-Neighbors ay bahagi ng "neighbors" na pamilya ng mga pamamaraang ML, na maaaring gamitin para sa parehong supervised at unsupervised learning. Sa pamamaraang ito, isang paunang bilang ng mga punto ang nilikha at ang datos ay kinokolekta sa paligid ng mga puntong ito upang ang mga generalized na label ay mahulaan para sa datos.
Ang K-Neighbors ay bahagi ng "neighbors" na pamilya ng mga ML na pamamaraan, na maaaring gamitin sa parehong supervised at unsupervised na pagkatuto. Sa pamamaraang ito, isang paunang tinukoy na bilang ng mga punto ang nilikha at nakaipon ang data sa paligid ng mga puntong ito upang mahulaan ang mga generalized na label para sa data.
### Ehersisyo - gamitin ang K-Neighbors classifier
### Ehersisyo - ipatupad ang K-Neighbors classifier
Maganda ang naunang classifier at mahusay itong gumana sa datos, ngunit baka mas mapabuti pa natin ang accuracy. Subukan ang K-Neighbors classifier.
Maganda ang naunang classifier, at mabisa sa data, pero baka pwede pa nating mapahusay ang katumpakan. Subukan ang K-Neighbors classifier.
1. Magdagdag ng linya sa iyong classifier array (magdagdag ng comma pagkatapos ng Linear SVC item):
1. Magdagdag ng linya sa iyong classifier array (maglagay ng kuwit pagkatapos ng Linear SVC item):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Ang resulta ay medyo mas mababa:
Medyo mas mababa ang resulta:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -140,19 +140,19 @@ Maganda ang naunang classifier at mahusay itong gumana sa datos, ngunit baka mas
## Support Vector Classifier
Ang Support-Vector classifiers ay bahagi ng [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) na pamilya ng mga pamamaraang ML na ginagamit para sa mga gawain ng klasipikasyon at regression. Ang SVMs ay "nagmamapa ng mga training example sa mga punto sa espasyo" upang ma-maximize ang distansya sa pagitan ng dalawang kategorya. Ang susunod na datos ay ima-map sa espasyong ito upang mahulaan ang kanilang kategorya.
Ang Support-Vector classifiers ay bahagi ng pamilya ng [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) na mga teknik sa ML na ginagamit sa klasipikasyon at regression na mga gawain. Ang SVM ay "nagma-map ng mga halimbawa ng pagsasanay sa mga puntos sa espasyo" upang i-maximize ang distansya sa pagitan ng dalawang kategorya. Ang mga kasunod na data ay pinapasok sa puwang na ito upang mahulaan ang kanilang kategorya.
### Ehersisyo - gamitin ang Support Vector Classifier
### Ehersisyo - ipatupad ang Support Vector Classifier
Subukan natin ang mas magandang accuracy gamit ang Support Vector Classifier.
Subukan natin ang medyo mas mataas na katumpakan gamit ang Support Vector Classifier.
1. Magdagdag ng comma pagkatapos ng K-Neighbors item, at pagkatapos ay idagdag ang linyang ito:
1. Magdagdag ng kuwit pagkatapos ng K-Neighbors item, at idagdag ang linyang ito:
```python
'SVC': SVC(),
```
Maganda ang resulta!
Medyo maganda ang resulta!
```output
Accuracy (train) for SVC: 83.2%
@ -173,14 +173,14 @@ Subukan natin ang mas magandang accuracy gamit ang Support Vector Classifier.
## Ensemble Classifiers
Sundin natin ang landas hanggang sa dulo, kahit na maganda na ang naunang pagsubok. Subukan natin ang ilang 'Ensemble Classifiers', partikular ang Random Forest at AdaBoost:
Sundan natin ang landas hanggang sa dulo, kahit maganda na ang nauna nating test. Subukan natin ang ilang 'Ensemble Classifiers', partikular ang Random Forest at AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Maganda ang resulta, lalo na para sa Random Forest:
Napakabuti ang resulta, lalo na sa Random Forest:
```output
Accuracy (train) for RFST: 84.5%
@ -212,29 +212,31 @@ weighted avg 0.73 0.72 0.72 1199
✅ Matuto tungkol sa [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
Ang pamamaraang ito ng Machine Learning ay "pinagsasama ang mga prediksyon ng ilang base estimators" upang mapabuti ang kalidad ng modelo. Sa ating halimbawa, ginamit natin ang Random Trees at AdaBoost.
Ang pamamaraang ito sa Machine Learning ay "pinaghalong prediksyon ng ilang base estimator" para mapabuti ang kalidad ng modelo. Sa aming halimbawa, gumamit kami ng Random Trees at AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), isang averaging method, ay bumubuo ng 'forest' ng 'decision trees' na may kasamang randomness upang maiwasan ang overfitting. Ang n_estimators parameter ay itinakda sa bilang ng mga puno.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), isang paraan ng pag-average, ay bumubuo ng 'gubat' ng mga 'puno ng desisyon' na may kasamang randomness upang maiwasan ang overfitting. Ang parameter na n_estimators ay itinakda sa bilang ng mga puno.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) ay nagfi-fit ng classifier sa dataset at pagkatapos ay nagfi-fit ng mga kopya ng classifier na iyon sa parehong dataset. Nakatuon ito sa mga weights ng maling na-klasipikang item at ina-adjust ang fit para sa susunod na classifier upang maitama.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) ay nagta-takda ng classifier sa isang dataset at pagkatapos ay nagta-takda ng mga kopya ng classifier na iyon sa parehong dataset. Nakatuon ito sa mga timbang ng mga maling naklasipikang item at inaayos ang fit para sa susunod na classifier upang itama ito.
---
## 🚀Hamunin
## 🚀Pagsubok
Ang bawat isa sa mga teknik na ito ay may malaking bilang ng mga parameter na maaari mong i-tweak. Mag-research sa default parameters ng bawat isa at pag-isipan kung ano ang magiging epekto ng pag-tweak ng mga parameter na ito sa kalidad ng modelo.
Bawat isa sa mga teknik na ito ay may maraming parameter na pwede mong i-tweak. Siyasatin ang mga default na parametro ng bawat isa at pag-isipang ano ang ibig sabihin ng pag-aayos ng mga parameter na ito para sa kalidad ng modelo.
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
## Review at Pag-aaral sa Sarili
## Review at Pansariling Pag-aaral
Maraming jargon sa mga araling ito, kaya maglaan ng oras upang suriin ang [listahang ito](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) ng mga kapaki-pakinabang na termino!
Maraming jargon sa mga araling ito, kaya maglaan ng sandali para suriin ang [listahang ito](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) ng mga kapaki-pakinabang na termino!
## Takdang Aralin
## Takdang-aralin
[Parameter play](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, pakitandaan 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 maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Paunawa**:
Ang dokumentong ito ay isinalin gamit ang serbisyo ng AI na pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kami para sa katumpakan, mangyaring tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o di-tumpak na impormasyon. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasaling-tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Gumawa ng Modelo ng Klasipikasyon\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Paunawa**: \nAng 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, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang orihinal na wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Paliwanag**:\nAng dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kami para sa katumpakan, pakiusap na tandaan na ang mga awtomatikong salin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pinakapinagkukunan ng impormasyon. Para sa mga mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-08-29T15:25:54+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "tl"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Gumawa pa ng Mas Maraming Modelo ng Klasipikasyon\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Subukan ang iba't ibang mga classifier\n"
"# Subukan ang iba't ibang classifier\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Paunawa**: \nAng 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, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Pagsasaad ng Paunawa**: \nAng dokumentong ito ay isinalin gamit ang AI na serbisyo sa pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kami para sa katumpakan, mangyaring tandaan na ang awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang sariling wika ang dapat ituring na opisyal na sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na nagmula sa paggamit ng pagsasaling ito.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-08-29T15:26:12+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "tl"
}
},
"nbformat": 4,

@ -8,78 +8,88 @@
[![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
### 🌐 Suporta sa Maraming Wika
### 🌐 Suporta sa Maramihang Wika
#### Sinusuportahan sa pamamagitan ng GitHub Action (Awtomatik at Laging Napapanahon)
#### Sinusuportahan sa pamamagitan ng GitHub Action (Automatiko at Palaging Napapanahon)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](./README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Mas gusto bang I-clone Locally?**
> Naglalaman ang repositoryong ito ng 50+ pagsasalin ng wika na nagpapalaki ng laki ng download. Para makapag-clone nang walang mga pagsasalin, gamitin ang sparse checkout:
> **Mas gusto mo bang I-clone Lokal?**
>
> Kasama sa repositoryong ito ang mahigit 50 na pagsasalin ng wika na labis na nagpapalaki ng laki ng download. Upang i-clone nang walang mga pagsasalin, gamitin ang sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Binibigyan ka nito ng lahat ng kailangan mo upang matapos ang kurso nang mas mabilis ang pag-download.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Bibigyan ka nito ng lahat ng kailangan mo upang makumpleto ang kurso nang mas mabilis ang pag-download.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Sumali sa Aming Komunidad
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Mayroon kaming patuloy na serye sa Discord na "learn with AI", matuto pa at sumali sa amin sa [Learn with AI Series](https://aka.ms/learnwithai/discord) mula Setyembre 18 - 30, 2025. Makakakuha ka ng mga tip at trick sa paggamit ng GitHub Copilot para sa Data Science.
Mayroon kaming Discord na serye ng pag-aaral kasama ang AI na nagpapatuloy, alamin pa at sumali sa amin sa [Learn with AI Series](https://aka.ms/learnwithai/discord) mula 18 - 30 Setyembre, 2025. Makakakuha ka ng mga tips at tricks sa paggamit ng GitHub Copilot para sa Data Science.
![Learn with AI series](../../translated_images/tl/3.9b58fd8d6c373c20.webp)
# Machine Learning para sa mga Baguhan - Isang Kurikulum
# Machine Learning para sa mga Nagsisimula - Isang Kurikulum
> 🌍 Maglakbay sa buong mundo habang pinag-aaralan natin ang Machine Learning gamit ang mga kultura ng mundo 🌍
> 🌍 Maglakbay sa buong mundo habang tinutuklasan natin ang Machine Learning sa pamamagitan ng mga kultura ng mundo 🌍
Ang mga Cloud Advocates sa Microsoft ay natutuwa na mag-alok ng 12-linggong, 26-aralin na kurikulum tungkol sa **Machine Learning**. Sa kurikulum na ito, matututuhan mo ang tinatawag na **classic machine learning**, gamit ang pangunahing Scikit-learn bilang library at iniiwasan ang deep learning, na tinatalakay sa aming [AI for Beginners' curriculum](https://aka.ms/ai4beginners). Ipares din ang mga araling ito sa aming ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners)!
Ang Cloud Advocates sa Microsoft ay natutuwa na mag-alok ng 12-linggong, 26-leksyon na kurikulum tungkol sa **Machine Learning**. Sa kurikulum na ito, matututuhan mo ang tinatawag na **classic machine learning**, gamit pangunahin ang Scikit-learn bilang isang library at iniiwasan ang deep learning, na saklaw sa aming [AI for Beginners' curriculum](https://aka.ms/ai4beginners). Pagsamahin ang mga leksyong ito sa aming ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners), din!
Maglakbay kasama kami sa buong mundo habang inilalapat natin ang mga klasikong teknik na ito sa data mula sa iba't ibang bahagi ng mundo. Bawat aralin ay may kasamang pre- at post-lesson quizzes, nakasulat na mga tagubilin para matapos ang aralin, solusyon, takdang-aralin, at higit pa. Ang aming pedagogy na nakabase sa proyekto ay nagpapahintulot sa iyo na matuto habang bumubuo, isang napatunayang paraan para maging matatag ang mga bagong kasanayan.
Maglakbay kasama namin sa buong mundo habang inaaplay namin ang mga klasikong teknik na ito sa data mula sa iba't ibang bahagi ng mundo. Bawat leksyon ay may kasamang pre- at post-lesson quizzes, mga nakasulat na tagubilin upang tapusin ang leksyon, solusyon, asignatura, at iba pa. Ang aming project-based na pedagogiya ay nagbibigay-daan sa iyo na matuto habang nagtatayo, isang subok na paraan para matutunan nang mas matagal ang mga bagong kasanayan.
**✍️ Taos-pusong pasasalamat sa aming mga may-akda** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu at Amy Boyd
**🎨 Salamat din sa aming mga ilustrador** Tomomi Imura, Dasani Madipalli, at Jen Looper
**🙏 Espesyal na pasasalamat 🙏 sa aming mga Microsoft Student Ambassador na mga may-akda, tagasuri, at kontribyutor ng nilalaman**, lalo na kina Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, at Snigdha Agarwal
**🙏 Espesyal na pasasalamat 🙏 sa aming mga Microsoft Student Ambassador na mga may-akda, tagasuri, at mga kontribyutor ng nilalaman**, lalo na kina Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, at Snigdha Agarwal
**🤩 Dagdag pasasalamat sa Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, at Vidushi Gupta para sa aming mga aralin sa R!**
**🤩 Karagdagang pasasalamat sa Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, at Vidushi Gupta para sa aming mga R lessons!**
# Pagsisimula
Sundin ang mga hakbang na ito:
1. **I-fork ang Repositoryo**: I-click ang "Fork" na button sa kanang itaas na bahagi ng pahinang ito.
2. **I-clone ang Repositoryo**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
1. **I-fork ang Repository**: I-click ang "Fork" na button sa itaas-kanang bahagi ng pahinang ito.
2. **I-clone ang Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [hanapin lahat ng karagdagang mga resource para sa kursong ito sa aming Microsoft Learn koleksyon](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [hanapin ang lahat ng karagdagang mga mapagkukunan para sa kursong ito sa aming koleksyon ng Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Kailangan ng tulong?** Tingnan ang aming [Troubleshooting Guide](TROUBLESHOOTING.md) para sa mga solusyon sa karaniwang isyu sa pag-install, setup, at pagpapatakbo ng mga aralin.
> 🔧 **Kailangan ng tulong?** Tingnan ang aming [Troubleshooting Guide](TROUBLESHOOTING.md) para sa mga solusyon sa pangkaraniwang isyu sa pag-install, pagsasaayos, at pagpapatakbo ng mga leksyon.
**[Mga estudyante](https://aka.ms/student-page)**, upang magamit ang kurikulum na ito, i-fork ang buong repo sa inyong sariling GitHub account at tapusin ang mga pagsasanay nang mag-isa o kasama ang grupo:
**[Mga estudyante](https://aka.ms/student-page)**, upang magamit ang kurikulum na ito, i-fork ang buong repo sa sarili mong GitHub account at tapusin ang mga ehersisyo nang mag-isa o kasama ang isang grupo:
- Magsimula sa pre-lecture quiz.
- Basahin ang lektura at tapusin ang mga gawain, tumigil at magmuni-muni sa bawat knowledge check.
- Subukang likhain ang mga proyekto sa pag-unawa ng mga aralin sa halip na patakbuhin ang solution code; gayunpaman, ang code na iyon ay available sa `/solution` na mga folder sa bawat araling nakatuon sa proyekto.
- Kunin ang post-lecture quiz.
- Magsimula sa isang pre-lecture quiz.
- Basahin ang lektyur at tapusin ang mga gawain, mag-pause at magmuni-muni sa bawat knowledge check.
- Subukang likhain ang mga proyekto sa pamamagitan ng pag-unawa sa mga leksyon sa halip na patakbuhin agad ang solution code; gayunpaman, magagamit ang code na iyon sa mga `/solution` na folder sa bawat leksyon na naka-focus sa proyekto.
- Sagutin ang post-lecture quiz.
- Tapusin ang hamon.
- Tapusin ang takdang-aralin.
- Pagkatapos tapusin ang isang grupo ng aralin, bisitahin ang [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) at "mag-aral nang malakas" sa pamamagitan ng pagpuno ng angkop na PAT rubric. Ang 'PAT' ay Progress Assessment Tool na isang rubric na pinupunan mo upang higit pang paunlarin ang iyong pagkatuto. Maaari ka ring mag-react sa ibang mga PAT para sabay tayong matuto.
- Tapusin ang asignatura.
- Pagkatapos matapos ang isang pangkat ng leksyon, bisitahin ang [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) at "matuto nang lantaran" sa pamamagitan ng pagpuno ng angkop na PAT rubric. Ang 'PAT' ay isang Progress Assessment Tool na isang rubric na pinupunan mo upang lalo pang mapaunlad ang iyong pagkatuto. Maaari ka ring mag-react sa ibang PAT para matuto tayo nang sama-sama.
> Para sa karagdagang pag-aaral, inirerekomenda naming sundan ang mga [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) na mga module at learning paths.
> Para sa karagdagang pag-aaral, inirerekumenda naming sundan ang mga [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) na modules at learning paths.
**Mga guro**, mayroon kaming [mga mungkahi](for-teachers.md) kung paano gamitin ang kurikulum na ito.
**Mga guro**, mayroon kaming [ilang mungkahi](for-teachers.md) kung paano gamitin ang kurikulum na ito.
---
## Mga walkthrough sa video
## Mga walkthrough na video
Ilan sa mga aralin ay makukuha bilang mga maikling video. Maaari mong makita ang mga ito sa loob ng mga aralin, o sa [ML for Beginners playlist sa Microsoft Developer YouTube channel](https://aka.ms/ml-beginners-videos) sa pamamagitan ng pag-click sa larawan sa ibaba.
Ang ilan sa mga leksyon ay available bilang maikling video. Mahahanap mo ang mga ito nang hilera-hilera sa leksyon, o sa [ML for Beginners playlist sa Microsoft Developer YouTube channel](https://aka.ms/ml-beginners-videos) sa pamamagitan ng pag-click sa larawan sa ibaba.
[![ML for beginners banner](../../translated_images/tl/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -89,81 +99,81 @@ Ilan sa mga aralin ay makukuha bilang mga maikling video. Maaari mong makita ang
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif by** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
**Gif ni** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 I-click ang larawan sa itaas para sa isang video tungkol sa proyekto at sa mga taong gumawa nito!
> 🎥 I-click ang larawan sa itaas para sa isang video tungkol sa proyekto at mga taong lumikha nito!
---
## Pedagohiya
Pinili namin ang dalawang pedagogical tenet habang binubuo ang kurikulum na ito: siguraduhin na ito ay hands-on **project-based** at kasama ang **madalas na quizzes**. Bukod dito, ang kurikulum na ito ay may pangkaraniwang **tema** upang bigyan ito ng pagkakaisa.
Pinili namin ang dalawang pedagogical na prinsipyo habang binubuo ang kurikulum na ito: tiyaking ito ay praktikal at **project-based** at na may **mga madalas na pagsusulit**. Bukod pa rito, may karaniwang **tema** ang kurikulum upang magkaroon ito ng pagkakaisa.
Sa pamamagitan ng pagsigurado na ang nilalaman ay naka-ayon sa mga proyekto, mas nagiging kawili-wili ang proseso para sa mga estudyante at mas mapapahusay ang retention ng mga konsepto. Dagdag pa, ang isang low-stakes quiz bago ang klase ay nagtatakda ng intensyon ng estudyante para matuto ng paksa, habang ang ikalawang quiz pagkatapos ng klase ay nagsisiguro ng mas malalim na retention. Ang kurikulum na ito ay dinisenyo na maging flexible at masaya at maaaring kunin nang buo o bahagya. Ang mga proyekto ay nagsisimula nang maliit at humahantong sa mas kumplikadong gawain sa katapusan ng 12-linggong siklo. Kasama rin dito ang postscript tungkol sa mga totoong aplikasyon ng ML, na maaaring gamitin bilang extra credit o bilang basehan ng talakayan.
Sa pagtitiyak na ang nilalaman ay nakaayon sa mga proyekto, nagiging mas kawili-wili ang proseso para sa mga estudyante at mapapalakas ang pag-alala ng mga konsepto. Dagdag pa, ang isang low-stakes quiz bago ang klase ay nagseset ng layunin ng estudyante sa pag-aaral ng isang paksa, habang ang pangalawang quiz pagkatapos ng klase ay nagtitiyak ng karagdagang retention. Dinisenyo ang kurikulum na ito upang maging maliksi at masaya at maaaring kunin nang buo o bahagi lamang. Nagsisimula ang mga proyekto nang maliit at unti-unting lumalalim pagsapit ng 12-linggong siklo. Kasama rin sa kurikulum ang postscript tungkol sa mga totoong aplikasyon ng ML, na maaaring gamitin bilang dagdag na kredito o bilang pundasyon para sa talakayan.
> Hanapin ang aming [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translation](TRANSLATIONS.md), at [Troubleshooting](TROUBLESHOOTING.md) guidelines. Malugod naming tinatanggap ang iyong konstruktibong feedback!
> Hanapin ang aming [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translation](TRANSLATIONS.md), at [Troubleshooting](TROUBLESHOOTING.md) na mga gabay. Malugod naming tinatanggap ang inyong mga konstruktibong puna!
## Bawat aralin ay may kasamang
## Bawat leksyon ay naglalaman ng
- optional na sketchnote
- optional na karagdagang video
- video walkthrough (ilang aralin lamang)
- opsyonal na sketchnote
- opsyonal na karagdagang video
- walkthrough na video (ilan lang ang leksyon)
- [pre-lecture warmup quiz](https://ff-quizzes.netlify.app/en/ml/)
- nakasulat na lektura
- para sa mga araling nakabatay sa proyekto, gabay hakbang-hakbang kung paano buuin ang proyekto
- nakasulat na leksyon
- para sa mga project-based na leksyon, sunud-sunod na gabay kung paano buuin ang proyekto
- knowledge checks
- hamon
- isang hamon
- karagdagang babasahin
- takdang-aralin
- asignatura
- [post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
> **Tungkol sa mga wika**: Pangunahing nakasulat ang mga araling ito sa Python, ngunit marami rin ang available sa R. Para tapusin ang isang araling R, pumunta sa `/solution` na folder at hanapin ang mga R na aralin. Kasama dito ang .rmd extension na kumakatawan sa isang **R Markdown** file na simpleng maipaliwanag bilang pagsasama ng `code chunks` (ng R o ibang mga wika) at `YAML header` (na nagtuturo kung paano i-format ang mga output tulad ng PDF) sa isang `Markdown document`. Dahil dito, nagsisilbi itong napakainam na framework para sa data science dahil pinapayagan kang pagsamahin ang iyong code, ang output nito, at ang iyong mga kaisipan sa pagsusulat sa Markdown. Bukod dito, ang mga R Markdown documents ay maaaring ire-render sa mga output format tulad ng PDF, HTML, o Word.
> **Isang paalala tungkol sa mga pagsusulit**: Lahat ng pagsusulit ay matatagpuan sa [Quiz App folder](../../quiz-app), na may kabuuang 52 pagsusulit na may tig-tatlong tanong bawat isa. Nakalagay ang mga ito sa loob ng mga aralin ngunit maaaring patakbuhin ang quiz app nang lokal; sundan ang mga tagubilin sa `quiz-app` folder upang mag-host nang lokal o mag-deploy sa Azure.
| Lesson Number | Paksa | Pangkat ng Aralin | Mga Layunin sa Pagkatuto | Nakalink na Aralin | May-akda |
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Panimula sa machine learning | [Introduction](1-Introduction/README.md) | Matutunan ang mga pangunahing konsepto sa likod ng machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Kasaysayan ng machine learning | [Introduction](1-Introduction/README.md) | Matutunan ang kasaysayan sa likod ng larangang ito | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | Katarungan at machine learning | [Introduction](1-Introduction/README.md) | Ano ang mga mahalagang pilosopikal na isyu tungkol sa katarungan na dapat isaalang-alang ng mga estudyante kapag gumagawa at nag-aaplay ng ML models? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Mga teknik para sa machine learning | [Introduction](1-Introduction/README.md) | Anong mga teknik ang ginagamit ng mga mananaliksik sa ML upang bumuo ng mga ML models? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | Panimula sa regression | [Regression](2-Regression/README.md) | Magsimula gamit ang Python at Scikit-learn para sa regression models | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Mga presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | I-visualisa at linisin ang datos bilang paghahanda para sa ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Mga presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | Bumuo ng linear at polynomial regression models | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | Mga presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | Bumuo ng isang logistic regression model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Isang Web App 🔌 | [Web App](3-Web-App/README.md) | Bumuo ng isang web app para gamitin ang iyong na-train na modelo | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Panimula sa classification | [Classification](4-Classification/README.md) | Linisin, ihanda, at i-visualisa ang iyong datos; panimula sa classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Panimula sa mga classifier | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Higit pang mga classifier | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Bumuo ng isang recommender web app gamit ang iyong modelo | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Panimula sa clustering | [Clustering](5-Clustering/README.md) | Linisin, ihanda, at i-visualisa ang iyong datos; panimula sa clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Pagsasaliksik ng mga Ugali sa Musika ng Nigeria 🎧 | [Clustering](5-Clustering/README.md) | Tuklasin ang K-Means clustering method | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Panimula sa natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Matutunan ang mga batayan tungkol sa NLP sa pamamagitan ng paggawa ng isang simpleng bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Mga Karaniwang Gawain sa NLP ☕️ | [Natural language processing](6-NLP/README.md) | Palalimin ang iyong kaalaman sa NLP sa pamamagitan ng pag-unawa sa mga karaniwang gawain na kailangan kapag nakikipag-ugnayan sa mga estruktura ng wika | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Pagsasalin at pagsusuri ng saloobin ♥️ | [Natural language processing](6-NLP/README.md) | Pagsasalin at pagsusuri ng saloobin gamit si Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Mga romantikong hotel sa Europa ♥️ | [Natural language processing](6-NLP/README.md) | Pagsusuri ng saloobin gamit ang mga review ng hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Mga romantikong hotel sa Europa ♥️ | [Natural language processing](6-NLP/README.md) | Pagsusuri ng saloobin gamit ang mga review ng hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Panimula sa time series forecasting | [Time series](7-TimeSeries/README.md) | Panimula sa time series forecasting | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Paggamit ng Enerhiya sa Mundo ⚡️ - time series forecasting gamit ang ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting gamit ang ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Paggamit ng Enerhiya sa Mundo ⚡️ - time series forecasting gamit ang SVR | [Time series](7-TimeSeries/README.md) | Time series forecasting gamit ang Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Panimula sa reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Panimula sa reinforcement learning gamit ang Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Tumulong kay Peter na iwasan ang lobo! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Mga totoong kaso at aplikasyon ng ML | [ML in the Wild](9-Real-World/README.md) | Mga kawili-wili at nakakalantad na mga totoong aplikasyon ng klasikong ML | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Pag-debug ng Modelo sa ML gamit ang RAI dashboard | [ML in the Wild](9-Real-World/README.md) | Pag-debug ng Modelo sa Machine Learning gamit ang Responsible AI dashboard components | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [hanapin ang lahat ng karagdagang mga mapagkukunan para sa kursong ito sa aming Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> **Isang tala tungkol sa mga wika**: Ang mga araling ito ay pangunahing isinulat sa Python, ngunit marami rin ang available sa R. Upang makumpleto ang isang R na aralin, pumunta sa folder na `/solution` at hanapin ang mga aralin sa R. Mayroon silang .rmd na extension na kumakatawan sa isang **R Markdown** file na maaaring ilarawan bilang isang pagsasama ng `code chunks` (ng R o ibang mga wika) at isang `YAML header` (na gumagabay kung paano iformat ang mga output gaya ng PDF) sa isang `Markdown document`. Dahil dito, nagsisilbi itong isang halimbawa ng authoring framework para sa data science dahil pinapayagan kang pagsamahin ang iyong code, ang output nito, at ang iyong mga naiisip sa pamamagitan ng pagsusulat nito sa Markdown. Bukod pa rito, ang mga dokumento ng R Markdown ay maaaring i-render sa mga output format tulad ng PDF, HTML, o Word.
> **Isang tala tungkol sa mga pagsusulit**: Lahat ng mga pagsusulit ay nasa loob ng [Quiz App folder](../../quiz-app), para sa kabuuang 52 na pagsusulit na may tig-3 tanong bawat isa. Nakakabit ang mga ito mula sa loob ng mga aralin ngunit maaaring patakbuhin ang quiz app locally; sundin ang mga tagubilin sa folder na `quiz-app` para i-host nang lokal o i-deploy sa Azure.
| Lesson Number | Paksa | Pagsasama ng Aralin | Mga Layunin sa Pagkatuto | Nakalink na Aralin | May-akda |
| :-----------: | :------------------------------------------------------------: | :-----------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Panimula sa machine learning | [Introduction](1-Introduction/README.md) | Matutunan ang mga pangunahing konsepto sa likod ng machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Kasaysayan ng machine learning | [Introduction](1-Introduction/README.md) | Matutunan ang kasaysayan sa likod ng larangang ito | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen at Amy |
| 03 | Katarungan at machine learning | [Introduction](1-Introduction/README.md) | Ano ang mahahalagang pilosopikal na isyu tungkol sa katarungan na dapat isaalang-alang ng mga mag-aaral kapag bumubuo at gumagamit ng mga ML na modelo? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Mga Teknik para sa machine learning | [Introduction](1-Introduction/README.md) | Anong mga teknik ang ginagamit ng mga mananaliksik sa ML upang bumuo ng ML models? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris at Jen |
| 05 | Panimula sa regression | [Regression](2-Regression/README.md) | Magsimula gamit ang Python at Scikit-learn para sa mga regression models | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | I-visualize at linisin ang datos bilang paghahanda para sa ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | Bumuo ng linear at polynomial regression models | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen at Dmitry • Eric Wanjau |
| 08 | Presyo ng kalabasa sa Hilagang Amerika 🎃 | [Regression](2-Regression/README.md) | Bumuo ng logistic regression model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Isang Web App 🔌 | [Web App](3-Web-App/README.md) | Gumawa ng web app upang gamitin ang iyong na-train na modelo | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Panimula sa classification | [Classification](4-Classification/README.md) | Linisin, paghanda, at i-visualize ang iyong datos; panimula sa classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen at Cassie • Eric Wanjau |
| 11 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Panimula sa mga classifier | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen at Cassie • Eric Wanjau |
| 12 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Iba pang mga classifier | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen at Cassie • Eric Wanjau |
| 13 | Masasarap na lutuing Asyano at Indian 🍜 | [Classification](4-Classification/README.md) | Gumawa ng recommender web app gamit ang iyong modelo | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Panimula sa clustering | [Clustering](5-Clustering/README.md) | Linisin, paghanda, at i-visualize ang iyong datos; panimula sa clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Pagsisiyasat sa mga musikal na panlasa ng Nigeria 🎧 | [Clustering](5-Clustering/README.md) | Siyasatin ang K-Means clustering na pamamaraan | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Panimula sa natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Matutunan ang mga batayan ng NLP sa pamamagitan ng paggawa ng isang simpleng bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Karaniwang mga Gawain sa NLP ☕️ | [Natural language processing](6-NLP/README.md) | Palalimin ang iyong kaalaman sa NLP sa pamamagitan ng pag-unawa sa mga karaniwang gawain na kailangan sa pakikitungo sa mga istruktura ng wika | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Pagsasalin at pagsusuri ng damdamin ♥️ | [Natural language processing](6-NLP/README.md) | Pagsasalin at pagsusuri ng damdamin gamit si Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Mga romantikong hotel sa Europa ♥️ | [Natural language processing](6-NLP/README.md) | Pagsusuri ng damdamin gamit ang mga review ng hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Mga romantikong hotel sa Europa ♥️ | [Natural language processing](6-NLP/README.md) | Pagsusuri ng damdamin gamit ang mga review ng hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Panimula sa forecasting ng time series | [Time series](7-TimeSeries/README.md) | Panimula sa time series forecasting | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Paggamit ng kuryente sa buong mundo ⚡️ - forecasting ng time series gamit ang ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting gamit ang ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Paggamit ng kuryente sa buong mundo ⚡️ - forecasting ng time series gamit ang SVR | [Time series](7-TimeSeries/README.md) | Time series forecasting gamit ang Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Panimula sa reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Panimula sa reinforcement learning gamit ang Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Tulungan si Peter na iwasan ang lobo! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Mga totoong senaryo at aplikasyon ng ML | [ML in the Wild](9-Real-World/README.md) | Kawili-wili at nagpapakita ng mga totoong aplikasyon ng klasikong ML | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Pag-debug ng modelo sa ML gamit ang RAI dashboard | [ML in the Wild](9-Real-World/README.md) | Pag-debug ng modelo sa Machine Learning gamit ang mga Responsible AI dashboard components | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [hanapin ang lahat ng karagdagang mga mapagkukunan para sa kursong ito sa aming koleksyon ng Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Offline access
Maaari mong patakbuhin ang dokumentasyong ito nang offline gamit ang [Docsify](https://docsify.js.org/#/). I-fork ang repo na ito, [i-install ang Docsify](https://docsify.js.org/#/quickstart) sa iyong lokal na makina, at pagkatapos ay sa root folder ng repo na ito, i-type ang `docsify serve`. Ang website ay mase-serve sa port 3000 sa iyong localhost: `localhost:3000`.
Maaari mong patakbuhin ang dokumentasyong ito offline gamit ang [Docsify](https://docsify.js.org/#/). I-fork ang repo na ito, [i-install ang Docsify](https://docsify.js.org/#/quickstart) sa iyong lokal na makina, at pagkatapos sa root folder ng repo na ito, i-type ang `docsify serve`. Ang website ay ihahain sa port 3000 sa iyong localhost: `localhost:3000`.
## PDFs
Hanapin ang pdf ng kurikulum na may mga link [dito](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Iba Pang Mga Kurso
## 🎒 Iba Pang mga Kurso
Ang aming koponan ay gumagawa ng iba pang mga kurso! Silipin:
Gumagawa ang aming koponan ng iba pang mga kurso! Tingnan ang:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -175,31 +185,31 @@ Ang aming koponan ay gumagawa ng iba pang mga kurso! Silipin:
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP para sa mga Baguhan](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents para sa mga Baguhan](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Generative AI Series
[![Generative AI para sa Mga Nagsisimula](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Serye ng Generative AI
[![Generative AI para sa mga Baguhan](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Pangunahing Pagkatuto
[![ML para sa Mga Nagsisimula](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Agham ng Datos para sa Mga Nagsisimula](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI para sa Mga Nagsisimula](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity para sa Mga Nagsisimula](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev para sa Mga Nagsisimula](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT para sa Mga Nagsisimula](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development para sa Mga Nagsisimula](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
### Pangunahing Pag-aaral
[![ML para sa mga Baguhan](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Agham ng Datos para sa mga Baguhan](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI para sa mga Baguhan](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity para sa mga Baguhan](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev para sa mga Baguhan](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT para sa mga Baguhan](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development para sa mga Baguhan](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot Series
### Serye ng Copilot
[![Copilot para sa AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot para sa C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@ -207,17 +217,22 @@ Ang aming koponan ay gumagawa ng iba pang mga kurso! Silipin:
## Pagkuha ng Tulong
Kung ikaw ay na-stuck o may mga tanong tungkol sa paggawa ng mga AI apps. Sumali sa mga kapwa nag-aaral at eksperyensadong mga developer sa mga talakayan tungkol sa MCP. Isa itong suportadong komunidad kung saan malugod na tinatanggap ang mga tanong at malaya ang pagbabahagi ng kaalaman.
Kung ikaw ay naipit o may anumang mga tanong tungkol sa paggawa ng mga AI app. Sumali sa mga kapwa mag-aaral at mga bihasang developer sa mga talakayan tungkol sa MCP. Isa itong suportadong komunidad kung saan malugod ang pagtanggap ng mga tanong at malaya ang pagbabahagi ng kaalaman.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Kung mayroon kang feedback sa produkto o mga error habang nagtatayo, bisitahin:
Kung mayroon kang puna tungkol sa produkto o mga error habang gumagawa, bisitahin ang:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Karagdagang Mga Tips sa Pag-aaral
- Balikan ang mga notebook pagkatapos ng bawat aralin para sa mas mabuting pag-unawa.
- Sanayin ang sarili sa pagpapatupad ng mga algorithm.
- Siyasatin ang mga tunay na dataset gamit ang mga natutunang konsepto.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Paalala**:
Ang dokumentong ito ay isinalin gamit ang serbisyo ng AI na pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kami para sa katumpakan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o kamalian. Ang orihinal na dokumento sa kanyang likas na wika ang itinuturing na may pinakamataas na otoridad. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
**Paalala**:
Ang dokumentong ito ay isinalin gamit ang serbisyo ng AI na pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat nagsusumikap kami para sa katumpakan, pakatandaan na ang awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa wikang ito ay itinuturing na opisyal na sanggunian. Para sa mahahalagang impormasyon, inirerekumenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang maling pagkaunawa o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save