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

pull/935/head
localizeflow[bot] 6 months ago
parent 2197534167
commit 7f4f201295

@ -30,8 +30,8 @@
"language_code": "et"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-10-11T11:27:24+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T11:13:41+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "et"
},
@ -90,8 +90,8 @@
"language_code": "et"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-10-11T11:46:03+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T11:14:48+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "et"
},
@ -186,8 +186,8 @@
"language_code": "et"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-10-11T11:56:46+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T11:15:13+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "et"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "et"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T11:08:14+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "et"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-10-11T11:57:20+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "et"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T11:08:20+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "et"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-10-11T11:57:51+00:00",
@ -540,8 +552,8 @@
"language_code": "et"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T09:24:00+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T11:13:34+00:00",
"source_file": "README.md",
"language_code": "et"
},

@ -1,16 +1,18 @@
# Uurige vastutustundliku tehisintellekti tööriistakomplekti
# Uuri vastutustundliku tehisintellekti tööriistakomplekti
## Juhised
Selles õppetükis õppisite vastutustundliku tehisintellekti tööriistakomplekti kohta, mis on "avatud lähtekoodiga, kogukonna juhitud projekt, mis aitab andmeteadlastel analüüsida ja täiustada tehisintellekti süsteeme." Selle ülesande jaoks uurige ühte RAI Toolboxi [märkmikku](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) ja esitage oma järeldused kas kirjalikus vormis või esitluses.
Selles õppetükis õppisite tundma vastutustundliku tehisintellekti tööriistakomplekti, mis on „avatud lähtekoodiga, kogukonna juhitud projekt, mille eesmärk on aidata andmeteadlastel analüüsida ja parandada tehisintellekti süsteeme.“ Selle ülesande jaoks uurige üht RAI Toolboxi [märkmikku](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) ja esitage oma leiud paberis või esitluses.
## Hindamiskriteeriumid
| Kriteerium | Silmapaistev | Piisav | Vajab parandamist |
| ---------- | ------------ | ------ | ----------------- |
| | Esitatakse kirjalik töö või PowerPointi esitlus, kus arutatakse Fairlearni süsteeme, käivitatud märkmikku ja sellest saadud järeldusi | Esitatakse kirjalik töö ilma järeldusteta | Kirjalikku tööd ei esitata |
| Kriteerium | Näidiskõlbulik | Piisav | Vajab paranemist |
| -------- | -------------- | ------ | ---------------- |
| | Esitatakse paber või PowerPoint esitlus, mis käsitleb Fairlearni süsteeme, käivitatud märkmikku ja tehtud järeldusi | Esitatakse paber ilma järeldusteta | Paberit ei esitata |
---
**Lahtiütlus**:
See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellektil põhinevat tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle algkeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta mingite arusaamatuste või valesti mõistmiste eest, mis võivad tekkida selle tõlke kasutamisel.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Ehita regressioonimudel Scikit-learniga: neli viisi regressiooniks
# Ehita regressioonimudel, kasutades Scikit-learn'i: regressioon neli erinevat viisi
![Lineaarse ja polünoomse regressiooni infograafika](../../../../translated_images/et/linear-polynomial.5523c7cb6576ccab.webp)
> Infograafika autor: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Eelloengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
## Algaja märkus
> ### [See õppetund on saadaval ka R-is!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
Lineaarset regressiooni kasutatakse, kui tahame prognoosida **numbrilist väärtust** (näiteks maja hind, temperatuur või müük).
See töötab leidmisega sirgjoont, mis kõige paremini esindab seost sisendfunktsioonide ja väljundi vahel.
Selles õppetükis keskendume mõiste mõistmisele enne keerukamate regressioonitehnikate uurimist.
![Lineaarne ja polünoomne regressioon infograafik](../../../../translated_images/et/linear-polynomial.5523c7cb6576ccab.webp)
> Infograafik autorilt [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Eelnev loengu visuaaltest](https://ff-quizzes.netlify.app/en/ml/)
> ### [See õppetükk on saadaval ka R keeles!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Sissejuhatus
Siiani olete uurinud, mis on regressioon, kasutades näidisandmeid kõrvitsate hindade andmestikust, mida kasutame kogu selle õppetunni jooksul. Olete seda visualiseerinud ka Matplotlibi abil.
Senini oled uurinud, mis on regressioon, kasutades näidisandmeid kõrvitsahinnast, mida kasutame kogu õppetüki vältel. Oled seda ka visualiseerinud Matplotlib'i abil.
Nüüd olete valmis süvenema regressiooni masinõppe jaoks. Kuigi visualiseerimine aitab andmetest aru saada, peitub masinõppe tõeline jõud _mudelite treenimises_. Mudelid treenitakse ajalooliste andmete põhjal, et automaatselt tabada andmete sõltuvusi, ja need võimaldavad ennustada tulemusi uute andmete põhjal, mida mudel pole varem näinud.
Nüüd oled valmis süvenema regressioonisse masinõppes. Kuigi visualiseerimine aitab andmeid mõista, tuleb masinõppe tõeline jõud _mudelite koolitamisest_. Mudelid koolitatakse ajalooliste andmete põhjal, et automaatselt jäädvustada andmete sõltuvused, võimaldades ennustada tulemusi uutele andmetele, mida mudel varem näinud ei ole.
Selles õppetunnis õpite rohkem kahte tüüpi regressiooni kohta: _lihtne lineaarne regressioon_ ja _polünoomne regressioon_, koos mõningate matemaatiliste alustega, mis neid tehnikaid toetavad. Need mudelid võimaldavad meil ennustada kõrvitsate hindu sõltuvalt erinevatest sisendandmetest.
Selles õppetükis õpid tundma kahte regressioonitüüpi: _lihtsat lineaarset regressiooni_ ja _polünoomset regressiooni_, koos mõningate matemaatiliste aluste selgitustega. Need mudelid võimaldavad meil ennustada kõrvitsahindu erinevate sisendandmete põhjal.
[![ML algajatele - Lineaarse regressiooni mõistmine](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML algajatele - Lineaarse regressiooni mõistmine")
[![Masinõpe algajatele - Lineaarse regressiooni mõistmine](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Masinõpe algajatele - Lineaarse regressiooni mõistmine")
> 🎥 Klõpsake ülaloleval pildil, et vaadata lühikest videot lineaarse regressiooni ülevaatest.
> 🎥 Klõpsa ülalolevale pildile, et vaadata lühikest ülevaadet lineaarse regressiooni kohta.
> Kogu selle õppekava jooksul eeldame minimaalset matemaatikaalast teadmist ja püüame muuta selle arusaadavaks teiste valdkondade õpilastele, seega jälgige märkmeid, 🧮 matemaatilisi vihjeid, diagramme ja muid õppimisvahendeid, mis aitavad mõistmist.
> Selle õppekava jooksul eeldame vähest matemaatikateadmiste hulka ja püüame muuta selle teiste valdkondade üliõpilastele arusaadavaks, nii et jälgi märkusi, 🧮 selgitusi, diagramme ja teisi õppematerjale, mis hõlbustavad mõistmist.
### Eeldused
### Eelteadmised
Praeguseks peaksite olema tuttav kõrvitsate andmete struktuuriga, mida me uurime. Need andmed on selle õppetunni _notebook.ipynb_ failis eelnevalt laaditud ja puhastatud. Failis kuvatakse kõrvitsate hind busheli kohta uues andmeraamis. Veenduge, et saate neid märkmikke Visual Studio Code'i kerneli abil käivitada.
Sul peaks nüüd olema tuttav kõrvitsaandmete struktuur, mida me uurime. Need on eelnevalt laetud ja puhastatud antud õppetüki _notebook.ipynb_ failis. Failis kuvatakse kõrvitsahind busheli kohta uues andmeraamis. Veendu, et suudad need märkmikud Visual Studio Code'is tuumades jooksutada.
### Ettevalmistus
Tuletame meelde, et laadite need andmed, et neilt küsimusi küsida.
Meenutuseks: sa laadid neid andmeid, et esitada neile küsimusi.
- Millal on parim aeg kõrvitsaid osta?
- Millist hinda võin oodata miniatuurse kõrvitsate kasti eest?
- Kas peaksin ostma neid poole busheli korvides või 1 1/9 busheli kastides?
Uurime neid andmeid edasi.
- Millist hinda võib oodata minikõrvitsate paki eest?
- Kas peaksin ostma neid poolbusheli korvides või 1 1/9 busheli karbis?
Jätkame andmete uurimist.
Eelmises õppetunnis lõite Pandase andmeraami ja täitsite selle osa algsest andmestikust, standardiseerides hinnad busheli järgi. Sellega suutsime aga koguda ainult umbes 400 andmepunkti ja ainult sügiskuude kohta.
Eelmisel õppetunnil lõid Pandase andmeraami ja täitsid selle osa algsest andmestikust, standardiseerides hinnad busheli alusel. Selle tegemisega kogusid siiski ainult umbes 400 andmepunkti ja ainult sügisekuude kohta.
Vaadake andmeid, mis on selle õppetunni kaasasolevas märkmikus eelnevalt laaditud. Andmed on eelnevalt laaditud ja algne hajuvusdiagramm on koostatud, et näidata kuude andmeid. Võib-olla saame andmete olemuse kohta rohkem üksikasju, kui neid rohkem puhastame.
Vaata andmeid, mida me eelnevalt laadsime selle õppetüki kaasasolevasse märkmikku. Andmed on eelnevalt laetud ja tehtud algne hajuvusdiagramm, mis näitab kuupõhiseid andmeid. Võib-olla saame andmete olemuse kohta veidi detailsemalt teada, tehes veel puhastust.
## Lineaarse regressioonijoon
Nagu õppisite 1. õppetunnis, on lineaarse regressiooni eesmärk joonistada joon, et:
Nagu õppetükis 1 õppisid, on lineaarse regressiooni eesmärk joonistada joon, mis:
- **Näitab muutujate seoseid**. Näitab seost muutujate vahel
- **Teeb ennustusi**. Teeb täpseid prognoose, kuhu uus andmepunkt joone suhtes langeb.
Tavaliselt joonistatakse sellist joont meetodi **Vähimate ruutude regressioon** abil. Mõiste "Vähimate ruutude" viitab meie mudeli koguviga minimeerimise protsessile. Iga andmepunkti puhul mõõdame vertikaalkauguse (nimetatakse jääkveaks) tegeliku punkti ja regressioonijoone vahel.
- **Näidata muutujate seoseid**. Näidata muutujate vahelist seost
- **Teha ennustusi**. Teha täpseid ennustusi selle kohta, kuhu uus andmepunkt selle joone suhtes paigutuks.
Me ruudutame need kaugused kahe peamise põhjuse tõttu:
Tüüpiline **väikseimate ruutude regressioon** joonistab sellist joont. Termin "väikseimad ruudud" tähendab, et kõik regressioonijoone ümber olevad andmepunktid ruudustatakse ja seejärel liidetakse. Ideaalis on see lõplik summa võimalikult väike, kuna soovime väikest vigade arvu ehk `väikseimad ruudud`.
1. **Suurema tähtsus kui suuna puhul:** Tahame, et -5 vea suurus oleks sama kui +5 viga. Ruudutamine teeb kõik väärtused positiivseks.
Teeme seda, kuna soovime modelleerida joont, millel on kõigi meie andmepunktide suhtes kõige väiksem kumulatiivne kaugus. Samuti ruudustame terminid enne nende liitmist, kuna meid huvitab nende suurus, mitte suund.
2. **Ebatavaliste väärtuste karistamine:** Ruudutamine annab suurematele vigadele suurema kaalu, sundides joont olema lähemal kaugel olevatele punktidele.
Seejärel liidame need ruudutatud väärtused kokku. Meie eesmärk on leida see konkreetne joon, millel see summa on minimaalne (võimalikult väike väärtus) — seega nimi "Vähimate ruutude".
> **🧮 Näita mulle matemaatikat**
>
> Seda joont, mida nimetatakse _parima sobivuse jooneks_, saab väljendada [võrrandiga](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Seda joont, mida nimetatakse _parima sobivusega joon_, saab väljendada [valemi abil](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` on 'selgitav muutuja'. `Y` on 'sõltuv muutuja'. Joone kalle on `b` ja `a` on y-teljelõige, mis viitab `Y` väärtusele, kui `X = 0`.
> `X` on 'selgitav muutuja'. `Y` on 'sõltuv muutuja'. Joonte kalle on `b` ja `a` on y-lõikepunkt, mis tähistab `Y` väärtust, kui `X = 0`.
>
>![kalle arvutamine](../../../../translated_images/et/slope.f3c9d5910ddbfcf9.webp)
>![kallet arvutada](../../../../translated_images/et/slope.f3c9d5910ddbfcf9.webp)
>
> Kõigepealt arvutage kalle `b`. Infograafika autor: [Jen Looper](https://twitter.com/jenlooper)
> Esiteks arvuta kalle `b`. Infograafik autorilt [Jen Looper](https://twitter.com/jenlooper)
>
> Teisisõnu, viidates meie kõrvitsate andmete algsele küsimusele: "ennusta kõrvitsa hinda busheli kohta kuu järgi", viitaks `X` hinnale ja `Y` müügikuule.
> Teisisõnu, viidates meie kõrvitsaandmete algsele küsimusele: "prognoosi kõrvitsa hind busheli kohta kuu järgi", viitab `X` hinnale ja `Y` müügikuule.
>
>![võrrandi täitmine](../../../../translated_images/et/calculation.a209813050a1ddb1.webp)
>![valemi lõpetamine](../../../../translated_images/et/calculation.a209813050a1ddb1.webp)
>
> Arvutage Y väärtus. Kui maksate umbes 4 dollarit, peab olema aprill! Infograafika autor: [Jen Looper](https://twitter.com/jenlooper)
> Arvuta `Y` väärtus. Kui maksad umbes 4 dollarit, peab see olema aprill! Infograafik autorilt [Jen Looper](https://twitter.com/jenlooper)
>
> Matemaatika, mis arvutab joone, peab näitama joone kallet, mis sõltub ka lõikepunktist ehk sellest, kus `Y` asub, kui `X = 0`.
> Matemaatika, mis arvutab joone, peab demonstreerima joone kalde, mis sõltub ka lõikepunktist, ehk kus `Y` asub, kui `X = 0`.
>
> Võite vaadata nende väärtuste arvutamise meetodit veebisaidil [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Külastage ka [väikseimate ruutude kalkulaatorit](https://www.mathsisfun.com/data/least-squares-calculator.html), et näha, kuidas numbrite väärtused joont mõjutavad.
> Saad vaadata nende väärtuste arvutusmeetodit veebisaidil [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Samuti külasta [kasutades vähimate ruutude kalkulaatorit](https://www.mathsisfun.com/data/least-squares-calculator.html), et näha, kuidas numbrite väärtused mõjutavad joont.
## Korrelatsioon
Veel üks termin, mida mõista, on **korrelatsioonikordaja** antud X ja Y muutujate vahel. Hajuvusdiagrammi abil saate kiiresti visualiseerida seda kordajat. Diagramm, mille andmepunktid on korrektselt joondatud, omab kõrget korrelatsiooni, kuid diagramm, mille andmepunktid on X ja Y vahel laiali, omab madalat korrelatsiooni.
Veel üks mõiste, mida mõista, on **Korrelatsioonikordaja** antud X ja Y muutujate vahel. Hajuvusdiagrammiga saab seda kordajat kiiresti visualiseerida. Kui andmepunktid paiknevad korrapärases reas, on kõrge korrelatsioon; kui punktid on hajutatud kõikjale X ja Y vahel, on korrelatsioon madal.
Hea lineaarse regressiooni mudel on selline, millel on kõrge (lähemal 1-le kui 0-le) korrelatsioonikordaja, kasutades väikseimate ruutude regressiooni meetodit koos regressioonijoonega.
Hea lineaarne regressioonimudel omab kõrget (lähemal 1-le kui 0-le) korrelatsioonikordajat, kasutades Vähimate ruutude regressiooni meetodit koos regressioonijoonega.
✅ Käivitage selle õppetunni kaasasolev märkmik ja vaadake kuude ja hindade hajuvusdiagrammi. Kas andmed, mis seostavad kuud ja hinda kõrvitsate müügi puhul, tunduvad teie visuaalse tõlgenduse järgi hajuvusdiagrammil kõrge või madala korrelatsiooniga? Kas see muutub, kui kasutate kuude asemel täpsemat mõõdet, näiteks *aasta päeva* (st päevade arv aasta algusest)?
✅ Käivita selle õppetüki märkmik ja vaata kuupõhist hinna hajuvusdiagrammi. Kas andmed, mis seovad kuupäeva ja kõrvitsate hinna, näivad omavat suurt või väikest korrelatsiooni vastavalt sinu visuaalsele tõlgendusele hajuvusdiagrammil? Kas see muutub, kui kasutad peenemat mõõdikut kui `Kuu`, nt *aasta päev* (st päevade arv aasta algusest)?
Allolevas koodis eeldame, et oleme andmed puhastanud ja saanud andmeraami nimega `new_pumpkins`, mis näeb välja umbes selline:
Järgmises koodis eeldame, et andmed on puhastatud ja meil on andmeraamistik nimega `new_pumpkins`, mis on sarnane järgmisele:
ID | Kuu | AastaPäev | Sort | Linn | Pakend | Madal Hind | Kõrge Hind | Hind
---|-----|-----------|------|------|--------|------------|------------|-----
70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 busheli kastid | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 busheli kastid | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 busheli kastid | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 busheli kastid | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 busheli kastid | 15.0 | 15.0 | 13.636364
ID | Kuu | AastaPäev | Tüüp | Linn | Pakk | Madal hind | Kõrge hind | Hind
---|-------|-----------|---------|------|---------|-----------|------------|-------
70 | 9 | 267 | KÕRVITSA TIPP | BALTIMORE | 1 1/9 busheli kastid | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | KÕRVITSA TIPP | BALTIMORE | 1 1/9 busheli kastid | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | KÕRVITSA TIPP | BALTIMORE | 1 1/9 busheli kastid | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | KÕRVITSA TIPP | BALTIMORE | 1 1/9 busheli kastid | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | KÕRVITSA TIPP | BALTIMORE | 1 1/9 busheli kastid | 15.0 | 15.0 | 13.636364
> Kood andmete puhastamiseks on saadaval failis [`notebook.ipynb`](notebook.ipynb). Oleme teinud samad puhastamistoimingud nagu eelmises õppetunnis ja arvutanud `AastaPäev` veeru järgmise avaldise abil:
> Andmete puhastamise kood on saadaval failis [`notebook.ipynb`](notebook.ipynb). Oleme teinud samad puhastamise sammud nagu eelnevas õppetükis ning arvutanud `AastaPäev` veeru järgmiselt:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Nüüd, kui olete aru saanud lineaarse regressiooni matemaatikast, loome regressioonimudeli, et näha, kas suudame ennustada, milline kõrvitsate pakend pakub parimaid kõrvitsahindu. Keegi, kes ostab kõrvitsaid pühade kõrvitsaplatsi jaoks, võib soovida seda teavet, et optimeerida kõrvitsapakendite ostmist platsi jaoks.
Nüüd, kui sul on arusaam lineaarse regressiooni matemaatikast, loome regressioonimudeli, et näha, kas võime ennustada, milline kõrvitsapakend annab parimad hinnad. Keegi, kes ostab kõrvitsaid püha-kõrvitsapeenrale, võib vajada seda infot, et osta parima hinnaga kõrvitsapakette.
## Korrelatsiooni otsimine
[![ML algajatele - Korrelatsiooni otsimine: lineaarse regressiooni võti](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML algajatele - Korrelatsiooni otsimine: lineaarse regressiooni võti")
[![Masinõpe algajatele - korrelatsiooni otsimine: lineaarse regressiooni võti](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Masinõpe algajatele - korrelatsiooni otsimine: lineaarse regressiooni võti")
> 🎥 Klõpsake ülaloleval pildil, et vaadata lühikest videot korrelatsiooni ülevaatest.
> 🎥 Klõpsa ülalolevale pildile, et vaadata lühikest ülevaadet korrelatsioonist.
Eelmises õppetunnis olete tõenäoliselt näinud, et keskmine hind erinevate kuude kohta näeb välja selline:
Eelmisest õppetükist oled ilmselt näinud, et kuu keskmine hind näeb välja selline:
<img alt="Keskmine hind kuu järgi" src="../../../../translated_images/et/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Keskmine hind kuu kaupa" src="../../../../translated_images/et/barchart.a833ea9194346d76.webp" width="50%"/>
See viitab sellele, et peaks olema mingi korrelatsioon, ja me võime proovida treenida lineaarse regressiooni mudelit, et ennustada seost `Kuu` ja `Hinna` vahel või `AastaPäeva` ja `Hinna` vahel. Siin on hajuvusdiagramm, mis näitab viimast seost:
See viitab võimalusele, et korrelatsioon võiks eksisteerida, ja võime proovida treenida lineaarset regressioonimudelit, mis ennustab seost `Kuu` ja `Hind` vahel või `AastaPäev` ja `Hind` vahel. Siin on hajuvusdiagramm, mis näitab viimast seost:
<img alt="Hajuvusdiagramm hinna ja aasta päeva vahel" src="../../../../translated_images/et/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Vaatame, kas korrelatsioon on olemas, kasutades funktsiooni `corr`:
Vaatame, kas korrelatsiooni on, kasutades funktsiooni `corr`:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Tundub, et korrelatsioon on üsna väike, -0.15 `Kuu` järgi ja -0.17 `AastaPäeva` järgi, kuid võib olla veel üks oluline seos. Tundub, et erinevad kõrvitsasordid moodustavad erinevaid hinnaklastrid. Selle hüpoteesi kinnitamiseks joonistame iga kõrvitsakategooria erineva värviga. Kui edastame `scatter` joonistamisfunktsioonile parameetri `ax`, saame kõik punktid samale graafikule joonistada:
Tundub, et korrelatsioon on suhteliselt väike, -0.15 `Kuu` järgi ja -0.17 `AastaPäeva` järgi, kuid võib olla mõni teine tähtis seos. Näib, et hinnad jagunevad erinevatesse gruppidesse vastavalt kõrvitsatüübile. Selle kinnitamiseks joonistame iga kõrvitsaliigi erinevas värvitoonis. Andmepunktide samaaegseks joonistamiseks peame `scatter` joonistamismetoodil kasutama parameetrit `ax`:
```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="Hajuvusdiagramm hinna ja aasta päeva vahel" src="../../../../translated_images/et/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Hajuvusdiagramm hinna ja aasta päeva vahel värviliselt" src="../../../../translated_images/et/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Meie uurimine viitab sellele, et sordil on müügikuupäevast suurem mõju üldisele hinnale. Seda näeme ka tulpdiagrammist:
Meie uurimine viitab, et liigiga on suurem mõju üldisele hinnale kui müügikuupäeval. Seda näeme ka tulpdiagrammilt:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Tulpdiagramm hinna ja sordi vahel" src="../../../../translated_images/et/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Tulpdiagramm hindade kohta liigiti" src="../../../../translated_images/et/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Keskendume hetkeks ainult ühele kõrvitsasordile, 'pie type', ja vaatame, millist mõju kuupäev hinnale avaldab:
Keskendume hetkel ainult ühele kõrvitsaliigile, 'pirukaliigile', ja vaatame, kuidas hind sõltub kuupäevast:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Hajuvusdiagramm hinna ja aasta päeva vahel" src="../../../../translated_images/et/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Hajuvusdiagramm hinna ja aasta päeva vahel 'pirukaliigile'" src="../../../../translated_images/et/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Kui arvutame nüüd korrelatsiooni `Hinna` ja `AastaPäeva` vahel, kasutades funktsiooni `corr`, saame tulemuseks umbes `-0.27` - mis tähendab, et ennustava mudeli treenimine on mõistlik.
Kui nüüd arvutada korrelatsioon `Price` ja `DayOfYear` vahel funktsiooniga `corr`, saame ligikaudu `-0.27` - mis tähendab, et prognoosimudeli koolitamine on mõistlik.
> Enne lineaarse regressiooni mudeli treenimist on oluline veenduda, et meie andmed on puhtad. Lineaarne regressioon ei tööta hästi puuduvate väärtustega, seega on mõistlik kõik tühjad lahtrid eemaldada:
> Enne lineaarse regressioonimudeli koolitamist on oluline veenduda, et andmed on puhtad. Lineaarne regressioon ei tööta hästi puuduvate väärtustega, seega on mõistlik tühjad lahtrid eemaldada:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Teine lähenemisviis oleks täita need tühjad väärtused vastava veeru keskmiste väärtustega.
Teine võimalus oleks need tühjad väärtused asendada vastava veeru keskmisega.
## Lihtne lineaarne regressioon
[![ML algajatele - Lineaarne ja polünoomne regressioon Scikit-learniga](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML algajatele - Lineaarne ja polünoomne regressioon Scikit-learniga")
[![Masinõpe algajatele - lineaarne ja polünoomne regressioon Scikit-learniga](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Masinõpe algajatele - lineaarne ja polünoomne regressioon Scikit-learniga")
> 🎥 Klõpsake ülaloleval pildil, et vaadata lühikest videot lineaarse ja polünoomse regressiooni ülevaatest.
> 🎥 Klõpsa ülalolevale pildile, et vaadata lühikest ülevaadet lineaarse ja polünoomse regressiooni kohta.
Lineaarse regressiooni mudeli treenimiseks kasutame **Scikit-learn** teeki.
Me koolitame oma lineaarse regressioonimudeli, kasutades **Scikit-learn'i** teeki.
```python
from sklearn.linear_model import LinearRegression
@ -171,30 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Alustame sisendväärtuste (omaduste) ja oodatud väljundi (sildi) eraldamisest eraldi numpy massiividesse:
Alustame sisendväärtuste (tunnuste) ja oodatud väljundi (sildi) eraldamisest eraldi numpy massiivideks:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Pange tähele, et pidime sisendandmetele rakendama `reshape`, et lineaarse regressiooni pakett neid õigesti mõistaks. Lineaarne regressioon eeldab sisendina 2D-massiivi, kus massiivi iga rida vastab sisendi omaduste vektorile. Meie puhul, kuna meil on ainult üks sisend, vajame massiivi kujuga N&times;1, kus N on andmestiku suurus.
> Märka, et pidime sisendandmeid töötlema `reshape` abil, et LinearRepression pakett saaks neid õigesti mõista. Lineaarne regressioon eeldab 2D massiivi sisendina, kus iga rea vastab sisendfunktsioonide vektorile. Meie puhul, kui meil on ainult üks sisend, vajame massiivi kuju N &times; 1, kus N on andmestiku suurus.
Seejärel peame andmed jagama treening- ja testandmestikeks, et saaksime pärast treenimist oma mudelit valideerida:
Seejärel peame andmed jagama koolitus- ja testandmeteks, et saaksime mudelit pärast koolitust valideerida:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Lõpuks võtab tegeliku lineaarse regressiooni mudeli treenimine ainult kaks koodirida. Määratleme `LinearRegression` objekti ja sobitame selle meie andmetega, kasutades meetodit `fit`:
Lõpuks võtab lineaarse regressioonimudeli koolitus vaid kaks koodirida. Defineerime `LinearRegression` objekti ja sobitame selle meie andmetega meetodiga `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
`LinearRegression` objekt pärast `fit`-imist sisaldab kõiki regressiooni koefitsiente, millele pääseb ligi omaduse `.coef_` kaudu. Meie puhul on ainult üks koefitsient, mis peaks olema umbes `-0.017`. See tähendab, et hinnad näivad aja jooksul veidi langevat, kuid mitte liiga palju, umbes 2 senti päevas. Samuti pääseme regressiooni lõikepunktile Y-teljega, kasutades `lin_reg.intercept_` - see on meie puhul umbes `21`, mis näitab hinda aasta alguses.
Et näha, kui täpne meie mudel on, saame prognoosida hindu testandmestikul ja seejärel mõõta, kui lähedased meie prognoosid on oodatud väärtustele. Seda saab teha keskmise ruutvea (MSE) mõõdiku abil, mis on kõigi oodatud ja prognoositud väärtuste ruutude erinevuste keskmine.
`LinearRegression` objekt sisaldab pärast `fit`-imist regressiooni kõiki koefitsiente, millele pääseb ligi `.coef_` omaduse kaudu. Meie puhul on vaid üks koefitsient, mis peaks olema umbes `-0.017`. See tähendab, et hinnad paistavad aja jooksul veidi langemas, aga mitte liiga palju, umbes 2 senti päevas. Samuti saame regressiooni lõikepunkti Y-teljel kätte `lin_reg.intercept_` abil - see on meie puhul umbes `21`, mis näitab hinna väärtust aasta alguses.
Selleks, et näha, kui täpne meie mudel on, saame prognoosida hindu testandmestikul ja seejärel mõõta, kui lähedal on meie prognoosid oodatud väärtustele. Seda saab teha ruutkeskmise vea (MSE) mõõdikuga, mis on kõigi ruutude keskmine erinevus oodatud ja prognoositud väärtuste vahel.
```python
pred = lin_reg.predict(X_test)
@ -203,16 +216,15 @@ mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Meie viga tundub olevat umbes 2 punkti, mis on ~17%. Mitte just väga hea. Teine mudeli kvaliteedi näitaja on **determinatsioonikordaja**, mida saab arvutada järgmiselt:
Meie viga paistab olevat umbes 2 punkti, mis on umbes 17%. Mitte kuigi hea. Teine mudeli kvaliteedi näitaja on **determinisatsioonikordaja**, mida saab saada järgmise koodiga:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Kui väärtus on 0, tähendab see, et mudel ei võta sisendandmeid arvesse ja toimib nagu *kõige halvem lineaarne prognoosija*, mis on lihtsalt tulemuse keskmine väärtus. Väärtus 1 tähendab, et suudame kõiki oodatud väljundeid täiuslikult prognoosida. Meie puhul on kordaja umbes 0.06, mis on üsna madal.
Kui väärtus on 0, tähendab see, et mudel ei arvesta sisendandmeid ja toimib kui *halvim lineaarne ennustaja*, mis on lihtsalt tulemuse keskmine väärtus. Väärtus 1 tähendab, et suudame täiuslikult prognoosida kõiki oodatud väljundeid. Meie puhul on determinatsioonikordaja umbes 0.06, mis on üsna madal.
Samuti saame testandmed koos regressioonijoonega graafikule panna, et paremini näha, kuidas regressioon meie puhul toimib:
Testandmeid võime koos regressioonijoonisega joonistada, et paremini näha, kuidas regressioon meie puhul töötab:
```python
plt.scatter(X_test,y_test)
@ -221,19 +233,19 @@ plt.plot(X_test,pred)
<img alt="Lineaarne regressioon" src="../../../../translated_images/et/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Polünoomiline regressioon
## Polünoomne regressioon
Teine lineaarse regressiooni tüüp on polünoomiline regressioon. Kuigi vahel on muutujate vahel lineaarne seos näiteks mida suurem kõrvitsa maht, seda kõrgem hind ei saa neid seoseid alati kujutada tasapinnana või sirgjoonena.
Teine lineaarse regressiooni tüüp on polünoomne regressioon. Kuigi mõnikord on muutujate vahel lineaarne seos - näiteks suurem kõrvits mahult tähendab kõrgemat hinda -, siis mõnikord neid seoseid ei saa joonistada tasandina ega sirgjoonena.
✅ Siin on [veel mõned näited](https://online.stat.psu.edu/stat501/lesson/9/9.8) andmetest, mis võiksid kasutada polünoomilist regressiooni.
✅ Siin on [veel mõned näited](https://online.stat.psu.edu/stat501/lesson/9/9.8) andmetest, mille puhul võiks kasutada polünoomset regressiooni
Vaata uuesti seost kuupäeva ja hinna vahel. Kas see hajusdiagramm tundub, et seda peaks tingimata analüüsima sirgjoonega? Kas hinnad ei võiks kõikuda? Sellisel juhul võid proovida polünoomilist regressiooni.
Võta veelkord pilk peale seosele kuupäeva ja hinna vahel. Kas see hajuvusdiagramm tundub kindlasti nii, et seda peaks tingimata analüüsima sirgjoonega? Kas hinnad ei kõigu? Sellisel juhul võid proovida polünoomset regressiooni.
✅ Polünoomid on matemaatilised avaldised, mis võivad koosneda ühest või mitmest muutujast ja kordajast.
✅ Polünoomid on matemaatilised avaldised, mis võivad koosneda ühest või mitmest muutujast ja koefitsiendist
Polünoomiline regressioon loob kõvera joone, et paremini sobitada mittelineaarseid andmeid. Meie puhul, kui lisame sisendandmetesse ruutvõrrandi `DayOfYear`, peaksime suutma oma andmeid sobitada paraboolse kõveraga, millel on aasta teatud punktis miinimum.
Polünoomne regressioon loob kõverjoone, mis paremini sobib mittelineaarsete andmetega. Meie puhul, kui lisame sisendandmetesse ruutfunktsiooni `DayOfYear` muutujast, peaksime suutma sobitada andmeid paraboolkuvaga, millel on aasta jooksul mingi miinimumtipp.
Scikit-learn sisaldab kasulikku [pipeline API-d](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), et kombineerida erinevaid andmetöötluse samme. **Pipeline** on **hinnangute** ahel. Meie puhul loome pipeline'i, mis kõigepealt lisab mudelile polünoomilised omadused ja seejärel treenib regressiooni:
Scikit-learn sisaldab kasulikku [pipeline API-d](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), et kombineerida erinevad andmetöötluse sammud. **Pipelines** on **estimatsioonide** kett. Meie puhul loome väärtusahelas esimese sammuna polünoomsed tunnused ja seejärel treenime regressiooni:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -244,43 +256,43 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
`PolynomialFeatures(2)` kasutamine tähendab, et lisame sisendandmetest kõik teise astme polünoomid. Meie puhul tähendab see lihtsalt `DayOfYear`<sup>2</sup>, kuid kahe sisendmuutuja X ja Y korral lisab see X<sup>2</sup>, XY ja Y<sup>2</sup>. Võime kasutada ka kõrgema astme polünoome, kui soovime.
`PolynomialFeatures(2)` kasutamine tähendab, et kaasame kõik teise astme polünoomid sisendandmetest. Meie puhul tähendab see ainult `DayOfYear`<sup>2</sup>, aga kui on kaks sisendmuutujat X ja Y, lisab see X<sup>2</sup>, XY ja Y<sup>2</sup>. Saame kasutada ka kõrgema astme polünoome, kui soovime.
Pipeline'i saab kasutada samamoodi nagu algset `LinearRegression` objekti, st saame pipeline'i `fit`-ida ja seejärel kasutada `predict`, et saada prognoositulemused. Siin on graafik, mis näitab testandmeid ja lähenduskõverat:
Pipeline'idega saab tööd teha samamoodi nagu algse `LinearRegression` objektiga, s.t. saame `fit` väärtusahela ja seejärel `predict` meetodit kasutades saada prognoosid. Järgneval graafikul on testandmed ja ligikaudne kõver:
<img alt="Polünoomiline regressioon" src="../../../../translated_images/et/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polünoomne regressioon" src="../../../../translated_images/et/poly-results.ee587348f0f1f60b.webp" width="50%" />
Polünoomilist regressiooni kasutades saame veidi madalama MSE ja kõrgema determinatsiooni, kuid mitte märkimisväärselt. Peame arvesse võtma ka teisi omadusi!
Polünoomse regressiooni kasutamisel saame kergelt madalama MSE ja kõrgema determinatsiooni, kuid mitte märkimisväärselt. Peame arvesse võtma ka teisi tunnuseid!
> Näed, et minimaalsed kõrvitsahinnad on täheldatud kuskil Halloweeni paiku. Kuidas sa seda selgitaksid?
> Näed, et kõrvitsate hinnad on minimaalsed kusagil õuduspeo (Halloween) ajal. Kuidas seda seletada?
🎃 Palju õnne, sa lõid mudeli, mis aitab prognoosida pirukakõrvitsate hinda. Tõenäoliselt saad sama protseduuri korrata kõigi kõrvitsatüüpide puhul, kuid see oleks tülikas. Õpime nüüd, kuidas arvestada kõrvitsasorti oma mudelis!
🎃 Palju õnne, sa just lõid mudeli, mis aitab prognoosida kookkõrvitsate hinda. Saame tõenäoliselt sama protseduuri korrata kõigi kõrvitsaliikide jaoks, aga see oleks tüütu. Õpime nüüd, kuidas mudelis arvestada kõrvitsa sorti!
## Kategoorilised omadused
## Kategoorilised tunnused
Ideaalis tahame olla võimelised prognoosima hindu erinevate kõrvitsasortide jaoks, kasutades sama mudelit. Kuid `Variety` veerg erineb veidi veergudest nagu `Month`, kuna see sisaldab mitte-numerilisi väärtusi. Selliseid veerge nimetatakse **kategoorilisteks**.
Ideaalis tahame suuta prognoosida erinevate kõrvitsaliikide hindu sama mudeli abil. Kuid `Variety` (sort) veerg erineb sellistest veergudest nagu `Month` (kuu), sest see sisaldab mitte-arvulisi väärtusi. Selliseid veerge nimetatakse **kategoorilisteks**.
[![ML algajatele - Kategooriliste omaduste prognoosimine lineaarse regressiooniga](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML algajatele - Kategooriliste omaduste prognoosimine lineaarse regressiooniga")
[![ML algajatele - kategooriliste tunnuste prognoosimine lineaarse regressiooniga](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML algajatele - kategooriliste tunnuste prognoosimine lineaarse regressiooniga")
> 🎥 Klõpsa ülaloleval pildil, et vaadata lühikest videot kategooriliste omaduste kasutamisest.
> 🎥 Klõpsa ülaloleval pildil, et näha lühikest videot kategooriliste tunnuste kasutamisest.
Siin näed, kuidas keskmine hind sõltub sordist:
<img alt="Keskmine hind sordi järgi" src="../../../../translated_images/et/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Keskmine hind sortide kaupa" src="../../../../translated_images/et/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Sordi arvesse võtmiseks peame esmalt selle numbriliseks vormiks teisendama ehk **kodeerima**. Selleks on mitu võimalust:
Sordi arvesse võtmiseks peame esmalt selle numbriliseks muutma ehk **kodeerima**. Selleks on mitmeid võimalusi:
* Lihtne **numbriline kodeerimine** loob tabeli erinevatest sortidest ja asendab sordinime selle tabeli indeksiga. See pole lineaarse regressiooni jaoks parim idee, kuna lineaarne regressioon võtab indeksi tegeliku numbrilise väärtuse ja lisab selle tulemusele, korrutades mingi kordajaga. Meie puhul on indeksi numbri ja hinna vaheline seos selgelt mittelineaarne, isegi kui tagame, et indeksid on järjestatud mingil konkreetsel viisil.
* **Üks-ühele kodeerimine** asendab `Variety` veeru nelja erineva veeruga, üks iga sordi jaoks. Iga veerg sisaldab `1`, kui vastav rida kuulub antud sordile, ja `0` muidu. See tähendab, et lineaarse regressiooni korral on neli kordajat, üks iga kõrvitsasordi jaoks, mis vastutavad selle konkreetse sordi "algushinna" (või pigem "lisahinna") eest.
* Lihtne **numbriline kodeerimine** loob nimekirja erinevatest sortidest ja asendab seejärel sordinime selle nimekirja indeksi vastu. See pole lineaarse regressiooni jaoks parim idee, sest lineaarne regressioon kasutab indeksi tegelikku numbrilist väärtust ja lisab seda tulemusele teatud koefitsiendiga. Meie puhul on seos indeksi numbri ja hinna vahel selgelt mittelineaarne, isegi kui indekseid järjestada kindlal viisil.
* **One-hot kodeerimine** asendab `Variety` veeru nelja eraldi veeruga, ühe iga sordi jaoks. Igas veerus on väärtuseks `1`, kui vastav rida on antud sorti, ja `0` muul juhul. See tähendab, et lineaarse regressiooni jaoks on neli koefitsienti, üks iga kõrvitsaliigi jaoks, mis vastutab antud sordi "algusehinna" (või pigem "täiendava hinna") eest.
Allolev kood näitab, kuidas saame sordi üks-ühele kodeerida:
Alljärgnev kood näitab, kuidas sorti one-hot kodeerida:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
ID | FAIRYTALE | MINIATURE | SEGASED PÄRANDLIIGID | KOOKKÕRVITS
----|-----------|-----------|---------------------|------------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
@ -290,14 +302,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Lineaarse regressiooni treenimiseks, kasutades üks-ühele kodeeritud sorti sisendina, peame lihtsalt `X` ja `y` andmed õigesti initsialiseerima:
Et kasutada lineaarset regressiooni one-hot kodeeritud sortide põhjal, peame lihtsalt õigesti algatama andmed `X` ja `y`:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
Ülejäänud kood on sama, mida kasutasime ülal lineaarse regressiooni treenimiseks. Kui proovid seda, näed, et keskmine ruutviga on umbes sama, kuid saame palju kõrgema determinatsioonikordaja (~77%). Täpsemate prognooside saamiseks saame arvesse võtta rohkem kategoorilisi omadusi, samuti numbrilisi omadusi, nagu `Month` või `DayOfYear`. Ühe suure omaduste massiivi saamiseks saame kasutada `join`:
Ülejäänud kood on sama, mida kasutati eelnevalt lineaarse regressiooni treenimiseks. Kui proovida, näeme, et ruutkeskmine viga on umbes sama, kuid determinatsioonikordaja on palju kõrgem (~77%). Veelgi täpsemate prognooside saamiseks võime arvesse võtta rohkem kategoorilisi tunnuseid ning ka numbrilisi tunnuseid nagu `Month` või `DayOfYear`. Kõigi tunnuste ühtseks massiiviks saamiseks võime kasutada `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -307,31 +319,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Siin võtame arvesse ka `City` ja `Package` tüüpi, mis annab meile MSE 2.84 (10%) ja determinatsiooni 0.94!
Siin võtame arvesse ka `City` ja `Package` tüüpi, mis annab meile MSE väärtuse 2.84 (10%) ja determinatsiooni 0.94!
## Kõik kokku
Parima mudeli loomiseks saame kasutada kombineeritud (üks-ühele kodeeritud kategoorilised + numbrilised) andmeid ülaltoodud näitest koos polünoomilise regressiooniga. Siin on täielik kood sinu mugavuseks:
Parima mudeli koostamiseks võime kasutada ülaltoodud näite kombineeritud (one-hot kodeeritud kategoorilised + numbrilised) andmed koos polünoomse regressiooniga. Siin on mugavaks kasutamiseks täielik kood:
```python
# set up training data
# seadista treeningandmed
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
# tee koolitus- ja testandmete jagamine
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
# seadista ja treeni andmetöötluskanal
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# ennusta tulemused testandmete jaoks
pred = pipeline.predict(X_test)
# calculate MSE and determination
# arvuta keskmine ruutviga ja määramisaste
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 +351,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
See peaks andma meile parima determinatsioonikordaja, peaaegu 97%, ja MSE=2.23 (~8% prognoosiviga).
See peaks andma parima determinatsioonikordaja, mis on peaaegu 97%, ning MSE=2.23 (~8% ennustuse viga).
| Mudel | MSE | Determinatsioon |
|-------|-----|-----------------|
| `DayOfYear` Lineaarne | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polünoomiline | 2.73 (17.0%) | 0.08 |
| `Variety` Lineaarne | 5.24 (19.7%) | 0.77 |
| Kõik omadused Lineaarne | 2.84 (10.5%) | 0.94 |
| Kõik omadused Polünoomiline | 2.23 (8.25%) | 0.97 |
| `DayOfYear` lineaarne | 2.77 (17.2%) | 0.07 |
| `DayOfYear` polünoomne | 2.73 (17.0%) | 0.08 |
| `Variety` lineaarne | 5.24 (19.7%) | 0.77 |
| Kõik tunnused lineaarne | 2.84 (10.5%) | 0.94 |
| Kõik tunnused polünoomne | 2.23 (8.25%) | 0.97 |
🏆 Tubli töö! Lõid ühe tunni jooksul neli regressioonimudelit ja parandasid mudeli kvaliteeti 97%-ni. Regressiooni viimases osas õpid logistilist regressiooni kategooriate määramiseks.
🏆 Väga hästi! Sa lõid nelja mudelit ühes õppetükis ja parandasid mudeli kvaliteedi 97% peale. Regressiooni viimases osas õpid logistilisest regressioonist, mida kasutatakse kategooriate määramiseks.
---
## 🚀Väljakutse
Testi mitmeid erinevaid muutujaid selles märkmikus, et näha, kuidas korrelatsioon vastab mudeli täpsusele.
Proovi selles märkmes mitu erinevat muutujat, et näha, kuidas korrelatsioon vastab mudeli täpsusele.
## [Loengu järgne viktoriin](https://ff-quizzes.netlify.app/en/ml/)
## [Loengu järgse test](https://ff-quizzes.netlify.app/en/ml/)
## Ülevaade ja iseseisev õppimine
## Kordamine & iseseisev õppimine
Selles tunnis õppisime lineaarset regressiooni. On ka teisi olulisi regressiooni tüüpe. Loe Stepwise, Ridge, Lasso ja Elasticnet tehnikate kohta. Hea kursus, mida õppida, on [Stanfordi statistilise õppimise kursus](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
Selles õppetükis õppisime lineaarset regressiooni. On ka teisi olulisi regressioonitüüpe. Loe Stepwise-, Ridge-, Lasso- ja Elasticnet-meetodite kohta. Heaks õppeallikaks on [Stanfordi statistilise õppe kursus](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
## Ülesanne
## Kodutöö
[Ehita mudel](assignment.md)
---
**Lahtiütlus**:
See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellekti tõlkimisteenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algset dokumenti selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlkega seotud arusaamatuste või valesti mõistmiste eest.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,44 +1,44 @@
# Köögi klassifikaatorid 2
# Köögikliidid 2
Selles teises klassifikatsiooniõppetunnis uurid rohkem viise, kuidas klassifitseerida numbrilisi andmeid. Samuti õpid, millised on tagajärjed ühe klassifikaatori valimisel teise asemel.
Selles teises klassifitseerimise õppetükis uurite rohkem viise, kuidas numbrilisi andmeid klassifitseerida. Samuti õpite, millised on tagajärjed ühe klassifikaatori valimisel teise asemel.
## [Eelloengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
## [Eel-loengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
### Eeldused
### Eeltingimus
Eeldame, et oled läbinud eelnevad õppetunnid ja sul on puhastatud andmestik kaustas `data`, mille nimi on _cleaned_cuisines.csv_ ja mis asub selle nelja õppetunni kausta juurikas.
Eeldame, et olete lõpetanud eelnevad õppetükid ja teil on puhas andmestik kaustas `data` nimega _cleaned_cuisines.csv_ selle nelja õppetüki kausta juures.
### Ettevalmistus
Oleme sinu _notebook.ipynb_ faili laadinud puhastatud andmestikuga ja jaganud selle X ja y andmeraamideks, mis on valmis mudeli loomise protsessiks.
Oleme laadinud teie _notebook.ipynb_ faili puhta andmestikuga ning jaganud selle X ja y andmeraamistikeks, valmis mudeli loomise protsessiks.
## Klassifikatsiooni kaart
## Klassifitseerimise kaart
Eelnevalt õppisid erinevaid võimalusi andmete klassifitseerimiseks, kasutades Microsofti spikrit. Scikit-learn pakub sarnast, kuid detailsemat spikrit, mis aitab veelgi täpsemalt valida sobivaid hindajaid (teine termin klassifikaatorite kohta):
Varem õppisite, millised võimalused teil on andmete klassifitseerimiseks Microsofti petutabelit kasutades. Scikit-learn pakub sarnast, kuid detailsemat petutabelit, mis aitab teil veelgi täpsemalt kitsendada oma hinnanguid (teine nimetus klassifikaatorite kohta):
![ML kaart Scikit-learnilt](../../../../translated_images/et/map.e963a6a51349425a.webp)
> Näpunäide: [vaata seda kaarti veebis](https://scikit-learn.org/stable/tutorial/machine_learning_map/) ja klõpsa teekonnal, et lugeda dokumentatsiooni.
![ML Map from Scikit-learn](../../../../translated_images/et/map.e963a6a51349425a.webp)
> Näpunäide: [külastage seda kaarti veebis](https://scikit-learn.org/stable/tutorial/machine_learning_map/) ja klõpsake rada, et lugeda dokumentatsiooni.
### Plaan
See kaart on väga kasulik, kui sul on selge arusaam oma andmetest, kuna saad selle teekonnal liikuda otsuse suunas:
See kaart on väga abiks, kui teil on andmetest selge arusaam, sest saate selle radadel "liikuda" otsuse tegemiseks:
- Meil on >50 näidet
- Tahame ennustada kategooriat
- Meil on >50 proovi
- Soovime ennustada kategooriat
- Meil on märgistatud andmed
- Meil on vähem kui 100K näidet
- Meil on vähem kui 100K proovi
- ✨ Võime valida Linear SVC
- Kui see ei tööta, kuna meil on numbrilised andmed
- Võime proovida ✨ KNeighbors Classifier
- Kui see ei tööta, proovime ✨ SVC ja ✨ Ensemble Classifiers
- Võime proovida ✨ KNeighbors Klassifikaatorit
- Kui see ei tööta, proovime ✨ SVC ja ✨ Ensemble Klassifikaatoreid
See on väga kasulik teekond, mida järgida.
See on väga kasulik rada järgida.
## Harjutus - andmete jagamine
Selle teekonna järgimiseks peaksime alustama vajalike teekide importimisest.
Sellele rajale järgides peaksime alustama vajalike raamatukogude importimisega.
1. Impordi vajalikud teegid:
1. Importige vajalikud raamatukogud:
```python
from sklearn.neighbors import KNeighborsClassifier
@ -50,31 +50,31 @@ Selle teekonna järgimiseks peaksime alustama vajalike teekide importimisest.
import numpy as np
```
1. Jaga oma treening- ja testandmed:
1. Jagage oma treening- ja testandmed:
```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 klassifikaator
## Lineaarne SVC klassifikaator
Support-Vector clustering (SVC) kuulub Support-Vector masinate ML-tehnikate perekonda (loe nende kohta rohkem allpool). Selles meetodis saad valida 'tuuma', et otsustada, kuidas silte grupeerida. Parameeter 'C' viitab 'regulatsioonile', mis reguleerib parameetrite mõju. Tuum võib olla üks [mitmest](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); siin määrame selle 'lineaarseks', et kasutada lineaarset SVC-d. Tõenäosus on vaikimisi 'vale'; siin määrame selle 'tõeks', et saada tõenäosuse hinnanguid. Määrame juhusliku oleku '0', et andmeid segada ja saada tõenäosusi.
Toetava vektori klasterdamine (SVC) kuulub Toetava vektori masinate perekonda ML tehnikaid (loetle allpool lisaks). Selles meetodis saate valida 'tuuma' ehk kerneli, et otsustada, kuidas siltide klastreid moodustada. Parameeter 'C' viitab 'regularisatsioonile', mis reguleerib parameetrite mõju. Kerneli valikud on [mitmed](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); siin määrame selle väärtuseks 'linear', et kasutada lineaarset SVC-d. Tõenäosus on vaikimisi 'false'; siin seame selle 'true' väärtuseks, et saada tõenäosuse hinnanguid. Määrasime juhuse seisundi '0', et andmeid segada tõenäosuste saamiseks.
### Harjutus - rakenda lineaarne SVC
### Harjutus - rakenda lineaarset SVC-d
Alusta klassifikaatorite massiivi loomisest. Lisad sellele massiivile järk-järgult, kui testime.
Alusta klassifikaatorite massiivi loomisega. Selle massiivi lisad järjest, kui testime.
1. Alusta Lineaarse SVC-ga:
1. Alusta Linear SVC-d kasutades:
```python
C = 10
# Create different classifiers.
# Loo erinevaid klassifikaatoreid.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Treeni oma mudelit, kasutades Lineaarset SVC-d, ja prindi välja raport:
2. Treeni mudelit Linear SVC-ga ja prindi raport:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Alusta klassifikaatorite massiivi loomisest. Lisad sellele massiivile järk-jär
print(classification_report(y_test,y_pred))
```
Tulemus on üsna hea:
Tulemus on päris hea:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -105,21 +105,21 @@ Alusta klassifikaatorite massiivi loomisest. Lisad sellele massiivile järk-jär
weighted avg 0.79 0.79 0.79 1199
```
## K-Naabrite klassifikaator
## K-naabrid klassifikaator
K-Naabrid kuuluvad ML-meetodite "naabrite" perekonda, mida saab kasutada nii juhendatud kui juhendamata õppimiseks. Selles meetodis luuakse eelnevalt määratud arv punkte ja andmed kogutakse nende punktide ümber, et üldistatud silte saaks andmetele ennustada.
K-naabrid kuuluvad "naabrid" perekonda ML meetodites, mida saab kasutada nii juhendatud kui juhendamata õppes. Selles meetodis luuakse ette määratud arv punkte ja andmed kogutakse nende punktide ümber, et andmete jaoks üldistatud silte ennustada.
### Harjutus - rakenda K-Naabrite klassifikaator
### Harjutus - rakenda K-naabrite klassifikaator
Eelmine klassifikaator oli hea ja töötas andmetega hästi, kuid võib-olla saame parema täpsuse. Proovi K-Naabrite klassifikaatorit.
Eelmine klassifikaator oli hea ja töötas andmetega hästi, kuid võib-olla saame parema täpsuse. Proovi K-naabrite klassifikaatorit.
1. Lisa rida oma klassifikaatorite massiivi (lisa koma pärast Lineaarse SVC elementi):
1. Lisa rida klassifikaatorite massiivi (pane koma Linear SVC rea järel):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Tulemus on veidi halvem:
Tulemus on natuke kehvem:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -136,17 +136,17 @@ Eelmine klassifikaator oli hea ja töötas andmetega hästi, kuid võib-olla saa
weighted avg 0.76 0.74 0.74 1199
```
Loe [K-Naabrite](https://scikit-learn.org/stable/modules/neighbors.html#neighbors) kohta
Õpi lähemalt [K-naabritest](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Support-Vector klassifikaator
## Toetava vektori klassifikaator
Support-Vector klassifikaatorid kuuluvad [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) ML-meetodite perekonda, mida kasutatakse klassifikatsiooni ja regressiooni ülesannete jaoks. SVM-id "kaardistavad treeningnäited punktidena ruumis", et maksimeerida kahe kategooria vahelist kaugust. Järgnevad andmed kaardistatakse sellesse ruumi, et nende kategooriat ennustada.
Toetava vektori klassifikaatorid on Toetava vektori masina (Support-Vector Machine) ML meetodite perekond, mida kasutatakse klassifitseerimise ja regressiooni ülesannetes. SVM-id „määratlevad treeningnäited ruumipunktidena”, et maksimeerida kahe kategooria vahelist kaugust. Järgnevaid andmeid kaardistatakse sellesse ruumi, et ennustada nende kategooriat.
### Harjutus - rakenda Support-Vector klassifikaator
### Harjutus - rakenda Toetava vektori klassifikaator
Proovime veidi paremat täpsust Support-Vector klassifikaatoriga.
Proovime veidi paremat täpsust Toetava vektori klassifikaatoriga.
1. Lisa koma pärast K-Naabrite elementi ja seejärel lisa see rida:
1. Lisa koma K-naabrite rea järel, seejärel lisa see rida:
```python
'SVC': SVC(),
@ -169,11 +169,11 @@ Proovime veidi paremat täpsust Support-Vector klassifikaatoriga.
weighted avg 0.84 0.83 0.83 1199
```
Loe [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm) kohta
Õpi lähemalt [Toetavast vektorist](https://scikit-learn.org/stable/modules/svm.html#svm)
## Ensemble klassifikaatorid
## Ansambli klassifikaatorid
Järgime teekonda lõpuni, kuigi eelmine test oli üsna hea. Proovime mõningaid 'Ensemble klassifikaatoreid', eriti Random Forest ja AdaBoost:
Järgneme rajale lõpuni, kuigi eelmine test oli juba päris hea. Proovime ansambli klassifikaatoreid, eriti Random Forestit ja AdaBoosti:
```python
'RFST': RandomForestClassifier(n_estimators=100),
@ -210,31 +210,33 @@ Accuracy (train) for ADA: 72.4%
weighted avg 0.73 0.72 0.72 1199
```
Loe [Ensemble klassifikaatorite](https://scikit-learn.org/stable/modules/ensemble.html) kohta
Õpi lähemalt [Ansambli klassifikaatoritest](https://scikit-learn.org/stable/modules/ensemble.html)
See masinõppe meetod "ühendab mitme baashindaja ennustused", et parandada mudeli kvaliteeti. Meie näites kasutasime Random Trees ja AdaBoosti.
See Masinõppe meetod „ühendab mitme baas-hinnangu tegija ennustused”, et mudeli kvaliteeti parandada. Meie näites kasutasime juhuslikke puid ja AdaBoosti.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), keskmistamismeetod, ehitab 'otsustuspuude' 'metsa', mis on juhuslikkusega infundeeritud, et vältida üleõppimist. Parameeter n_estimators määratakse puude arvuks.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), keskmistamismeetod, ehitab 'puude metsa', mis on juhuslikkusega infundeeritud otsustuspuud, et vältida üleõppimist. n_estimators parameeter määrab puudede arvu.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) sobitab klassifikaatori andmestikuga ja seejärel sobitab selle klassifikaatori koopiaid samale andmestikule. See keskendub valesti klassifitseeritud üksuste kaaludele ja kohandab sobivust järgmise klassifikaatori jaoks, et parandada.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) sobitab klassifikaatori andmestikule ja seejärel sobitab selle klassifikaatori koopiad sama andmestikuga. See keskendub valesti klassifitseeritud esemete kaaludele ja kohandab järgmise klassifikaatori sobivust, et vea parandada.
---
## 🚀Väljakutse
Igal neist tehnikatest on suur hulk parameetreid, mida saad kohandada. Uuri igaühe vaikimisi parameetreid ja mõtle, mida nende parameetrite kohandamine tähendaks mudeli kvaliteedi jaoks.
Iga selle meetodi puhul on palju parameetreid, mida saate häälestada. Uurige iga meetodi vaikeparameetreid ja mõelge, mida nende parameetrite häälestamine mudeli kvaliteedi jaoks tähendaks.
## [Järelloengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
## [Pärast loengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
## Ülevaade ja iseseisev õppimine
## Ülevaade ja iseseisev õpe
Nendes õppetundides on palju erialatermineid, seega võta hetk, et vaadata [seda nimekirja](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) kasulikest terminidest!
Nendes õppetükkides on palju erialatermineid, seega võtke hetk ja vaadake üle [see nimekiri](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) kasulikust terminoloogiast!
## Ülesanne
## Kodune ülesanne
[Parameetrite mäng](assignment.md)
---
**Lahtiütlus**:
See dokument on tõlgitud, kasutades AI tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks lugeda autoriteetseks allikaks. Olulise teabe puhul on soovitatav kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valede tõlgenduste eest.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellektil põhinevat tõlke teenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame täpsust, tuleb arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse ega tõlgenduse eest, mis võivad selle tõlke kasutamisest tekkida.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Klassifikatsioonimudeli loomine\n"
"# Ehita klassifitseerimismudel\n"
]
},
{
@ -116,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**Lahtiütlus**: \nSee dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vastutusest loobumine**: \nSee dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, tuleb arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument oma emakeeles tuleks pidada autoriteetseks allikaks. Kriitilise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste ega väärtõlgenduste eest.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -152,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-10-11T12:32:39+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "et"
}
},
"nbformat": 4,

@ -2,7 +2,7 @@
"cells": [
{
"source": [
"# Loo Rohkem Klassifikatsioonimudeleid\n"
"# Ehita Rohkem Klassifitseerimise Modelle\n"
],
"cell_type": "markdown",
"metadata": {}
@ -116,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": [
"# Proovi erinevaid klassifitseerijaid\n"
"# Proovi erinevaid klassifikaatoreid\n"
]
},
{
@ -148,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)"
]
},
{
@ -263,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Lahtiütlus**: \nSee dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vastutühendus**: \nSee dokument on tõlgitud tehisintellektil põhineva tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi me püüame täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument tema emakeeles on autoriteetne allikas. Olulise info puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse või valesti tõlgendamise eest, mis tuleneb selle tõlke kasutamisest.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -291,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-10-11T12:32:50+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "et"
}
},
"nbformat": 4,

@ -1,169 +1,178 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub licence](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub kaasautorid](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub probleemid](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub tõmbepäringud](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![PRd on teretulnud](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![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/)
[![GitHub jälgijad](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub kahvlid](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub tähed](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
### 🌐 Mitmekeelne tugi
#### Toetatud GitHub Actioni kaudu (automaatne ja alati ajakohane)
#### Toetatud GitHub Action abil (automaatne ja alati ajakohane)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Araabia](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgaaria](../bg/README.md) | [Birma (Myanmar)](../my/README.md) | [Hiina (lihtsustatud)](../zh-CN/README.md) | [Hiina (traditsiooniline, Hongkong)](../zh-HK/README.md) | [Hiina (traditsiooniline, Macau)](../zh-MO/README.md) | [Hiina (traditsiooniline, Taiwan)](../zh-TW/README.md) | [Horvaadi](../hr/README.md) | [Tšehhi](../cs/README.md) | [Taani](../da/README.md) | [Hollandi](../nl/README.md) | [Eesti](./README.md) | [Soome](../fi/README.md) | [Prantsuse](../fr/README.md) | [Saksa](../de/README.md) | [Kreeka](../el/README.md) | [Heebrea](../he/README.md) | [Hindi](../hi/README.md) | [Ungari](../hu/README.md) | [Indoneesia](../id/README.md) | [Itaalia](../it/README.md) | [Jaapani](../ja/README.md) | [Kannada](../kn/README.md) | [Korea](../ko/README.md) | [Leedu](../lt/README.md) | [Malai](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigeeria pidžin](../pcm/README.md) | [Norra](../no/README.md) | [Pärsia (Farsi)](../fa/README.md) | [Poola](../pl/README.md) | [Portugali (Brasiilia)](../pt-BR/README.md) | [Portugali (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumeenia](../ro/README.md) | [Vene](../ru/README.md) | [Serbia (kirillitsa)](../sr/README.md) | [Slovaki](../sk/README.md) | [Sloveeni](../sl/README.md) | [Hispaania](../es/README.md) | [Sahhari](../sw/README.md) | [Rootsi](../sv/README.md) | [Tagalog (filipiino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Tai](../th/README.md) | [Türgi](../tr/README.md) | [Ukraina](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnam](../vi/README.md)
[Araabia](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgaaria](../bg/README.md) | [Burma (Myanmar)](../my/README.md) | [Hiina (lihtsustatud)](../zh-CN/README.md) | [Hiina (traditsiooniline, Hongkong)](../zh-HK/README.md) | [Hiina (traditsiooniline, Macao)](../zh-MO/README.md) | [Hiina (traditsiooniline, Taiwan)](../zh-TW/README.md) | [Horvaadi](../hr/README.md) | [Tšehhi](../cs/README.md) | [Taani](../da/README.md) | [Hollandi](../nl/README.md) | [Eesti](./README.md) | [Soome](../fi/README.md) | [Prantsuse](../fr/README.md) | [Saksa](../de/README.md) | [Kreeka](../el/README.md) | [Heebrea](../he/README.md) | [Hindi](../hi/README.md) | [Ungari](../hu/README.md) | [Indoneesia](../id/README.md) | [Itaalia](../it/README.md) | [Jaapani](../ja/README.md) | [Kannada](../kn/README.md) | [Korea](../ko/README.md) | [Leedu](../lt/README.md) | [Malai](../ms/README.md) | [Malajalami](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigeeria pidžin](../pcm/README.md) | [Norra](../no/README.md) | [Pärsia (Farsi)](../fa/README.md) | [Poola](../pl/README.md) | [Portugali (Brasiilia)](../pt-BR/README.md) | [Portugali (Portugal)](../pt-PT/README.md) | [Pandžabi (Gurmukhi)](../pa/README.md) | [Rumeenia](../ro/README.md) | [Vene](../ru/README.md) | [Serbia (kuulitsakulja)](../sr/README.md) | [Slovaki](../sk/README.md) | [Sloveeni](../sl/README.md) | [Hispaania](../es/README.md) | [Suahiili](../sw/README.md) | [Rootsi](../sv/README.md) | [Tagalogi (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Tai](../th/README.md) | [Türgi](../tr/README.md) | [Ukraina](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnam](../vi/README.md)
> **Eelistate kopeerida kohalikult?**
> See hoidla sisaldab 50+ keele tõlkeid, mis suurendavad oluliselt allalaaditavat mahtu. Kui soovite kloneerida ilma tõlgeteta, kasutage harvendatud kontrollimist:
> **Eelistad kloonida lokaalselt?**
>
> See hoidla sisaldab üle 50 keele tõlkeid, mis suurendavad allalaadimise mahtu. Kui soovid kloonida ilma tõlgeteta, kasuta sparse checkouti:
>
> **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'
> ```
> See annab teile kõik vajaliku kursuse läbimiseks palju kiirema allalaadimisega.
>
> **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"
> ```
>
> See annab sulle kõik vajaliku kursuse läbimiseks palju kiiremalt.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Liitu meie kogukonnaga
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Meil on Discordis käimas sarja "Õpi koos AI-ga", lisateabe saamiseks ja osalemiseks liituge [Learn with AI Series](https://aka.ms/learnwithai/discord) alates 18. kuni 30. septembrini 2025. Saate näpunäiteid GitHub Copiloti kasutamiseks andmeteaduses.
Meil on Discordis käimas AI õppesari, saad rohkem teada ja liituda aadressil [Learn with AI Series](https://aka.ms/learnwithai/discord) ajavahemikus 18.-30. september 2025. Õpid GitHub Copiloti kasutamise nippe andmeteaduses.
![Learn with AI series](../../translated_images/et/3.9b58fd8d6c373c20.webp)
![Õpi koos AI-ga sari](../../translated_images/et/3.9b58fd8d6c373c20.webp)
# Masinõpe algajatele õppekava
> 🌍 Reisige üle maailma, uurides masinõpet maailma kultuuride kaudu 🌍
> 🌍 Reisime mööda maailma, uurides masinõpet maailma kultuuride kaudu 🌍
Microsofti pilve toetajad on rõõmuga loonud 12-nädalase 26-õppetunniga õppekava, mis käsitleb **masinõpet**. Selles õppekavas õpite nii-öelda **klassikalisest masinõppest**, kasutades peamiselt Scikit-learn raamatukogu ja vältides süvaõpet, mida käsitletakse meie [AI algajatele õppekavas](https://aka.ms/ai4beginners). Ühendage need õppetunnid ka meie ['Andmeteadus algajatele' õppekavaga](https://aka.ms/ds4beginners)!
Microsofti Cloud Advocates pakuvad 12-nädalast, 26-loengust koosnevat õppekava, mis on pühendatud **Masinõppele**. Selles õppekavas õpid ehk kuidas ajada niiöelda **klassikalist masinõpet**, kasutades peamiselt Scikit-learn teeki ning vältides sügavat õppimist, mida käsitletakse meie [AI algajate õppekavas](https://aka.ms/ai4beginners). Paarita need õppetunnid ka meie ['Andmeteadus algajatele' õppekavaga](https://aka.ms/ds4beginners)!
Reisige meiega mööda maailma, rakendades neid klassikalisi meetodeid andmetele erinevatest maailma piirkondadest. Igas õppetunnis on eelkohane ja järeltest, kirjalikud juhised, lahendus, ülesanne ja palju muud. Meie projektipõhine õppeviis võimaldab õppida, ehitades ise, mis on tõestatud viis uute oskuste kinnistamiseks.
Reisi meiega üle maailma, kui rakendame neid klassikalisi meetodeid paljude maailma piirkondade andmetele. Iga õppetund sisaldab eel- ja järelloengu viktoriine, kirjalikke juhiseid, lahendust, ülesannet ja muud. Meie projektipõhine pedagoogika võimaldab õppida praktiliselt, mis on tõestatud efektiivne viis uute oskuste omandamiseks.
**✍️ Südamlik tänu meie autoritele** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu ja Amy Boyd
**✍️ Suur tänu meie autoritele** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu ja Amy Boyd
**🎨 Tänu ka meie illustraatoritele** Tomomi Imura, Dasani Madipalli ja Jen Looper
**🎨 Tänud ka meie illustraatoritele** Tomomi Imura, Dasani Madipalli ja Jen Looper
**🙏 Eriline tänu 🙏 meie Microsofti tudengi saadiku autoritele, arvustajatele ja sisuloojatele**, eriti Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila ja Snigdha Agarwal
**🙏 Eriti suur tänu 🙏 meie Microsofti tudengisaadikest autoritele, ülevaatajatele ja sisuloojatele**, eelkõige Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila ja Snigdha Agarwal
**🤩 Täiendav tänu Microsofti tudengi saadikutele Eric Wanjau, Jasleen Sondhi ja Vidushi Guptale meie R-õppetundide eest!**
**🤩 Tänu Microsofti tudengisaadikutele Eric Wanjau, Jasleen Sondhi ja Vidushi Gupta meie R loengute eest!**
# Alustamine
Järgige neid samme:
1. **Täitke hoidla Forkimine**: klõpsake lehe paremas ülanurgas nuppu "Fork".
2. **Kloonige hoidla**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
Järgi neid samme:
1. **Forki hoidla**: Klõpsa selle lehe paremas ülanurgas nuppu "Fork".
2. **Klooni hoidla**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [leidke kõik lisaressursid selle kursuse jaoks meie Microsoft Learn kollektsioonist](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [Leia kursusega seotud lisamaterjalid meie Microsoft Learni kollektsioonist](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Vaja abi?** Vaadake meie [rikete tõrkeotsingu juhendit](TROUBLESHOOTING.md), mis sisaldab lahendusi levinud installatsiooni, seadistamise ja õppetundide käivitamise probleemidele.
> 🔧 **Vajad abi?** Vaata meie [Probleemide lahendamise juhendit](TROUBLESHOOTING.md), kus on lahendused tavalistele paigaldus-, seadistus- ja loengute käivitamise probleemidele.
**[Õpilased](https://aka.ms/student-page)**, selle õppekava kasutamiseks tehke fork kogu hoidlast oma GitHubi kontole ja lahendage harjutused individuaalselt või grupiga:
**[Õpilased](https://aka.ms/student-page)**, et kasutada seda õppekava, forkige kogu hoidla oma GitHubi kontole ja lahendage harjutused ise või grupis:
- Alustage eel-õppetunni testiga.
- Loe loengut ja lõpeta tegevused, peatudes ja mõeldes iga teadmistekontrolli juures.
- Proovige projekte luua, mõistes õppetunde, mitte ainult käivitades lahenduskoodi; see kood on saadaval iga projektipõhise tunni `/solution` kaustas.
- Võtke järel-õppetunni test.
- Täitke väljakutse.
- Täitke ülesanne.
- Peale õppetundide grupi lõpetamist külastage [Arutelufoorumit](https://github.com/microsoft/ML-For-Beginners/discussions) ja "õppige valjusti", täites sobiva PAT hindamislehe. PAT on edenemise hindamisvahend, mille abil te oma õpinguid süvendate. Samuti võite reageerida teiste PAT-dele, et saaksime üheskoos õppida.
- Alusta eel-loengu viktoriiniga.
- Loe loengut ja tee ülesanded, peatu ning mõtiskle iga teadmiste kontrolli juures.
- Püüa projektid üles ehitada loenguid mõistes, mitte lahenduskoodi käivitades; lahendused on saadaval ka igas projektipõhises loengus kaustas `/solution`.
- Tee järel-loengu viktoriin.
- Lahenda väljakutse.
- Täida kodutöö.
- Pärast loengugrupi lõpetamist külasta [Arutelufoorumit](https://github.com/microsoft/ML-For-Beginners/discussions) ja "õpi valjusti", täites sobiva PAT hindamismallija. PAT on Progressiivse Hindamise Tööriist, mida täites süvendad oma õppimist. Võid ka teiste PATide leidudele reageerida, et koos õppida.
> Lisauuringuteks soovitame neid [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) mooduleid ja õpiteid.
> Täiendava õppimise tarvis soovitame neid [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) mooduleid ja õtearasid.
**Õpetajad**, oleme lisanud [soovitusi](for-teachers.md), kuidas seda õppekava kasutada.
**Õpetajad**, oleme lisanud [soovitused](for-teachers.md), kuidas seda õppekava kasutada.
---
## Video juhendid
## Videokäigud
Mõned õppetunnid on saadaval lühivideotena. Need leiate õppetundide seest või [ML for Beginners esitusloendist Microsoft Developer YouTube kanalil](https://aka.ms/ml-beginners-videos), klõpsates alloleval pildil.
Mõned õppetunnid on saadaval lühivideotena. Saad neid vaadata õppetundide sees või [ML algajate esitusloendist Microsofti arendaja YouTube kanalil](https://aka.ms/ml-beginners-videos) pildil klõpsates.
[![ML for beginners banner](../../translated_images/et/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## Meeskonna tutvustus
## Tutvu meeskonnaga
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif autor** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Klõpsake ülaloleval pildil, et vaadata videot projektist ja selle loomisega seotud inimestest!
> 🎥 Klõpsa ülaloleval pildil, et vaadata videot projekti ja selle loojate kohta!
---
## Pedagoogika
Selles õppekavas oleme valinud kaks pedagoogilist alustala: kindlustada, et see on praktiline **projektipõhine** ning sisaldab **sagedasi teste**. Lisaks on sellel õppekaval ühine **teema**, mis annab sellele sidususe.
Õppekava loomisel valisime kaks pedagoogilist põhimõtet: tagada, et see on praktiline **projektipõhine** ja sisaldab **sagedasi viktoriine**. Lisaks on õppekaval ühine **teema**, mis seob kogu sisu.
Sisule projektide kaudu vastavuse tagamine muudab protsessi õpilastele kaasahaaravamaks ning soodustab kontseptsioonide kinnistamist. Madala riskiga test enne tundi seab õppija eesmärgi teemat õppida, teine test pärast tundi kindlustab teadmiste parema kinnistumise. See õppekava on paindlik ja lõbus ning seda saab läbida tervikuna või osadena. Projektid algavad väikeselt ja muutuvad 12-nädalase tsükli lõpetamisel järjest keerukamaks. Õppekava sisaldab ka lisaosa masinõppe reaalmaailma rakendustest, mida saab kasutada lisapunktide teenimiseks või arutelude aluseks.
Sisu projektidega kooskõlla viimine muudab protsessi õpilastele kaasahaaravamaks ning suurendab kontseptsioonide meeldejäämist. Madala panusega viktoriin enne loengut seab õppijale sihi teemat omandada, teine viktoriin pärast loengut aitab teadmisi kinnistada. See õppekava on paindlik ja lõbus ning seda saab läbida tervikuna või osade kaupa. Projektid algavad väikeselt ja muutuvad 12-nädalase tsükli lõpus järjest keerulisemaks. Õppekava sisaldab ka järelmärget masinõppe reaalse maailma rakenduste kohta, mida saab kasutada lisapunktide saamiseks või arutelupõhisena.
> Leidke meie juhised [käitumisreeglid](CODE_OF_CONDUCT.md), [panustamine](CONTRIBUTING.md), [tõlkimine](TRANSLATIONS.md) ja [rikete tõrkeotsing](TROUBLESHOOTING.md). Ootame teie konstruktiivset tagasisidet!
> Tutvu meie [käitumisjuhisega](CODE_OF_CONDUCT.md), [panustamise juhistega](CONTRIBUTING.md), [tõlkimise juhistega](TRANSLATIONS.md) ja [probleemide lahendamise juhendiga](TROUBLESHOOTING.md). Hindame konstruktiivset tagasisidet!
## Igas õppetunnis on
## Iga õppetund sisaldab
- valikuline sketšmärkmed
- valikuline täiendav video
- video juhend (ainult mõnedes õppetundides)
- [eel-loengu soojendustest](https://ff-quizzes.netlify.app/en/ml/)
- vabatahtlik visandmärkmete leht
- vabatahtlik lisa-video
- videokäik (ainult mõne jaoks)
- [eel-loengu soojendusviktoriin](https://ff-quizzes.netlify.app/en/ml/)
- kirjalik õppetund
- projektipõhiste õppetundide juhend samm-sammult projektide ehitamiseks
- teadmistekontrollid
- projektipõhiste õppetundide puhul samm-sammult juhendid projekti ülesehitamiseks
- teadmiste kontroll
- väljakutse
- täiendav lugemine
- ülesanne
- [järel-loengu test](https://ff-quizzes.netlify.app/en/ml/)
> **Märkuse keeltest:** Need õppetunnid on peamiselt kirjutatud Pythonis, kuid paljud on saadaval ka R-s. R-õppetunni läbimiseks minge `/solution` kausta ja otsige R-õppetunde. Nendil on .rmd laiend, mis tähistab **R Markdown** faili, mida saab lihtsalt defineerida kui 'koodiplokkide' (R või teiste keelte) ja `YAML päise` (mis juhib väljundite, näiteks PDF-i vormindamist) manustamist Markdown dokumendi sees. Seetõttu on see eeskujulik andmeteaduse raamistik, kuna võimaldab kombineerida koodi, selle väljundit ja mõtteid, kirjutades neid Markdownis. Lisaks saab R Markdown dokumente renderdada väljund vormingutesse nagu PDF, HTML või Word.
> **Märkus viktoriinide kohta**: Kõik viktoriinid asuvad [Quiz App kaustas](../../quiz-app), kokku on 52 viktoriini, milles igaühes on kolm küsimust. Neile viidatakse tundide sees, kuid viktoriinirakendust saab käivitada ka lokaalselt; tutvu juhistega `quiz-app` kaustas, et hostida lokaalselt või paigaldada Azurei.
| Tunni number | Teema | Tunni grupp | Õpieesmärgid | Seotud tund | Autor |
| :-----------: | :------------------------------------------------------------: | :---------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Masinõppe tutvustus | [Sissejuhatus](1-Introduction/README.md) | Õppida masinõppe põhikontseptsioone | [Tund](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Masinõppe ajalugu | [Sissejuhatus](1-Introduction/README.md) | Õppida selle valdkonna ajaloo kohta | [Tund](1-Introduction/2-history-of-ML/README.md) | Jen ja Amy |
| 03 | Õiglus ja masinõpe | [Sissejuhatus](1-Introduction/README.md) | Mis on olulised filosoofilised õiglusprobleemid, mida õppijad peaksid arvestama, ehitades ja rakendades masinõppe mudeleid? | [Tund](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Masinõppe tehnikad | [Sissejuhatus](1-Introduction/README.md) | Milliseid meetodeid kasutavad masinõppe uurijad mudelite loomisel? | [Tund](1-Introduction/4-techniques-of-ML/README.md) | Chris ja Jen |
| 05 | Regresiooni tutvustus | [Regressioon](2-Regression/README.md) | Alustamine Pythoni ja Scikit-learniga regressioonimudelite loomiseks | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Andmete visualiseerimine ja puhastamine masinõppe ettevalmistamiseks | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Lineaarsete ja polünoomsete regressioonimudelite ehitamine | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen ja Dmitry • Eric Wanjau |
| 08 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Logistilise regressioonimudeli loomine | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Veebirakendus 🔌 | [Veebirakendus](3-Web-App/README.md) | Ehita veebirakendus, mis kasutab sinu väljaõpetatud mudelit | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Klassifitseerimise tutvustus | [Klassifitseerimine](4-Classification/README.md) | Andmete puhastamine, ettevalmistamine ja visualiseerimine; tutvustus klassifitseerimisse | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen ja Cassie • Eric Wanjau |
| 11 | Maitsvad Aasia ja India köögid 🍜 | [Klassifitseerimine](4-Classification/README.md) | Tutvustus klassifikaatoritele | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen ja Cassie • Eric Wanjau |
| 12 | Maitsvad Aasia ja India köögid 🍜 | [Klassifitseerimine](4-Classification/README.md) | Rohkem klassifikaatoreid | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen ja Cassie • Eric Wanjau |
| 13 | Maitsvad Aasia ja India köögid 🍜 | [Klassifitseerimine](4-Classification/README.md) | Ehita oma mudelit kasutav soovitusrakendus veebis | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Klastrite tutvustus | [Klastrid](5-Clustering/README.md) | Andmete puhastamine, ettevalmistamine ja visualiseerimine; tutvustus klastritele | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Nigeeria muusikamaitse uurimine 🎧 | [Klastrid](5-Clustering/README.md) | K-Meansi klastrimeetodi uurimine | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Loodusliku keele töötlemise tutvustus ☕️ | [Loodusliku keele töötlemine](6-NLP/README.md) | Õpi NLP põhialuseid, ehitades lihtsa roboti | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tavalised NLP ülesanded ☕️ | [Loodusliku keele töötlemine](6-NLP/README.md) | Süvenda NLP teadmisi, mõistes keelestruktuuridega tegelemisel vajalikke tavalisi ülesandeid | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tõlkimine ja meeleolu analüüs ♥️ | [Loodusliku keele töötlemine](6-NLP/README.md) | Tõlkimine ja meeleolu analüüs Jane Austeni tekstidega | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Euroopa romantilised hotellid ♥️ | [Loodusliku keele töötlemine](6-NLP/README.md) | Meeleolu analüüs hotellide arvustustega 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Euroopa romantilised hotellid ♥️ | [Loodusliku keele töötlemine](6-NLP/README.md) | Meeleolu analüüs hotellide arvustustega 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Ajasarja ennustamise tutvustus | [Ajasarja](7-TimeSeries/README.md) | Ajasarja ennustamise tutvustus | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Maailma energiatarbimine ⚡️ - ajasarja ennustamine ARIMA abil | [Ajasarja](7-TimeSeries/README.md) | Ajasarja ennustamine ARIMA mudeliga | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Maailma energiatarbimine ⚡️ - ajasarja ennustamine SVR abil | [Ajasarja](7-TimeSeries/README.md) | Ajasarja ennustamine tugivektori regressori abil | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Tugevdusõppe tutvustus | [Tugevdusõpe](8-Reinforcement/README.md) | Tugevdusõppe tutvustus Q-õppe abil | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Aita Peteril hunti vältida! 🐺 | [Tugevdusõpe](8-Reinforcement/README.md) | Tugevdusõppe Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Järelsõna | Masinõppe stsenaariumid ja rakendused pärismaailmas | [Masinõpe pärismaailmas](9-Real-World/README.md) | Klassikalise masinõppe huvitavad ja valgustavad reaalsed rakendused | [Tund](9-Real-World/1-Applications/README.md) | Team |
| Järelsõna | Masinõppe mudelite silumine RAI juhtpaneeli abil | [Masinõpe pärismaailmas](9-Real-World/README.md) | Masinõppe mudelite silumine kasutades Responsible AI juhtpaneeli | [Tund](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [leiad kõik selle kursuse lisamaterjalid meie Microsoft Learn kogust](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Võimalus kasutada võrguühenduseta
Seda dokumentatsiooni saab kasutada võrguühenduseta, kasutades [Docsify](https://docsify.js.org/#/). Halda seda repo forki, paigalda [Docsify](https://docsify.js.org/#/quickstart) oma arvutisse ja seejärel selle repo juurkaustas käivita käsk `docsify serve`. Veebileht laetakse localhosti pordile 3000: `localhost:3000`.
- lisalugemine
- kodutöö
- [järel-loengu viktoriin](https://ff-quizzes.netlify.app/en/ml/)
> **Märk keeltest**: Need õppetunnid on peamiselt kirjutatud Pythonis, kuid paljud on saadaval ka R-is. R-õppetunni läbimiseks minge kausta `/solution` ja otsige R-õppetunnid. Neil on .rmd laiendus, mis tähistab **R Markdown** faili, mida saab lihtsalt määratleda kui `kooditükkide` (R-i või teiste keelte) ja `YAML päise` (mis juhib, kuidas vormindada väljundeid nagu PDF) manustamist `Markdown dokumendis`. Seetõttu on see eeskujuks andmeteaduse autoriraamistiku jaoks, kuna võimaldab kombineerida koodi, selle väljundi ja oma mõtted, lubades need Markdownis kirja panna. Lisaks saab R Markdown dokumente renderdada väljundvormingutesse nagu PDF, HTML või Word.
> **Märk viktoriinide kohta**: Kõik viktoriinid asuvad [Quiz App kaustas](../../quiz-app), kokku 52 viktoriini, millest igaühes on kolm küsimust. Neid lingitakse õppetundide sees, kuid viktoriinirakendust saab käivitada ka kohapeal; järgige juhiseid `quiz-app` kaustas kohalikuks hostimiseks või Azure'i juurutamiseks.
| Õppetunni number | Teema | Õppetunni grupeerimine | Õppe eesmärgid | Lingitud õppetund | Autor |
| :--------------: | :------------------------------------------------------------: | :--------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| 01 | Sissejuhatus masinõppesse | [Sissejuhatus](1-Introduction/README.md) | Õppida masinõppe põhimõisteid | [Õppetund](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Masinõppe ajalugu | [Sissejuhatus](1-Introduction/README.md) | Õppida selle valdkonna tausta puudutavat ajalugu | [Õppetund](1-Introduction/2-history-of-ML/README.md) | Jen ja Amy |
| 03 | Õiglus ja masinõpe | [Sissejuhatus](1-Introduction/README.md) | Millised on olulised filosoofilised küsimused õiglusest, mida õpilased peaksid kaaluma masinõppemudelite ehitamisel ja kasutamisel? | [Õppetund](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Masinõppe tehnikad | [Sissejuhatus](1-Introduction/README.md) | Milliseid tehnikaid kasutavad masinõppe uurijad mudelite loomiseks? | [Õppetund](1-Introduction/4-techniques-of-ML/README.md) | Chris ja Jen |
| 05 | Sissejuhatus regressiooni | [Regressioon](2-Regression/README.md) | Alustada Pythoniga ja Scikit-learniga regressioonimudelite puhul | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Andmete visualiseerimine ja puhastamine masinõppeks valmistumiseks | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Ehita lineaarsed ja polünoomsed regressioonimudelid | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen ja Dmitry • Eric Wanjau |
| 08 | Põhja-Ameerika kõrvitsa hinnad 🎃 | [Regressioon](2-Regression/README.md) | Ehita logistiline regressioonimudel | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Veebirakendus 🔌 | [Veebirakendus](3-Web-App/README.md) | Ehita veebirakendus treenitud mudeli kasutamiseks | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Sissejuhatus klassifikatsiooni | [Klassifikatsioon](4-Classification/README.md) | Puhasta, valmista ette ja visualiseeri andmeid; sissejuhatus klassifikatsiooni | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen ja Cassie • Eric Wanjau |
| 11 | Maitsvad Aasia ja India köögid 🍜 | [Klassifikatsioon](4-Classification/README.md) | Sissejuhatus klassifikaatoritesse | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen ja Cassie • Eric Wanjau |
| 12 | Maitsvad Aasia ja India köögid 🍜 | [Klassifikatsioon](4-Classification/README.md) | Rohkem klassifikaatoreid | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen ja Cassie • Eric Wanjau |
| 13 | Maitsvad Aasia ja India köögid 🍜 | [Klassifikatsioon](4-Classification/README.md) | Ehita soovitusrakendus veebis oma mudeli põhjal | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Sissejuhatus klasterdamisse | [Klasterdamine](5-Clustering/README.md) | Puhasta, valmista ette ja visualiseeri andmeid; sissejuhatus klasterdamisse | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Nigeeria muusikamaitsete uurimine 🎧 | [Klasterdamine](5-Clustering/README.md) | Uuri K-Meansi klasterdamismeetodit | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Sissejuhatus loomuliku keele töötlemisse ☕️ | [Loomuliku keele töötlemine](6-NLP/README.md) | Õpi NLP baase, ehitades lihtsa boti | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Tavalised NLP ülesanded ☕️ | [Loomuliku keele töötlemine](6-NLP/README.md) | Süvenda teadmisi NLP-st, mõistes keelestruktuuride käsitlemisel vajaminevaid tavapäraseid ülesandeid | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tõlge ja sentimentide analüüs ♥️ | [Loomuliku keele töötlemine](6-NLP/README.md) | Tõlge ja emotsioonianalüüs Jane Austeni tekstidega | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Euroopa romantilised hotellid ♥️ | [Loomuliku keele töötlemine](6-NLP/README.md) | Emotsioonianalüüs hotellikriitikatest 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Euroopa romantilised hotellid ♥️ | [Loomuliku keele töötlemine](6-NLP/README.md) | Emotsioonianalüüs hotellikriitikatest 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Sissejuhatus ajaseeria ennustamisse | [Ajaseeria](7-TimeSeries/README.md) | Sissejuhatus ajaseeria ennustamisse | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Maailma elektritarbimine ⚡️ - ajaseeria ennustamine ARIMA-ga | [Ajaseeria](7-TimeSeries/README.md) | Ajaseeria ennustamine ARIMA meetodiga | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Maailma elektritarbimine ⚡️ - ajaseeria ennustamine SVR-ga | [Ajaseeria](7-TimeSeries/README.md) | Ajaseeria ennustamine tugi-vektor regressiooniga | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Sissejuhatus tugevdusõppesse | [Tugevdusõpe](8-Reinforcement/README.md) | Sissejuhatus tugevdusõppesse Q-õppimise abil | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Aita Peteril hunti vältida! 🐺 | [Tugevdusõpe](8-Reinforcement/README.md) | Tugevdusõpe Gymiga | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Masinõppe reaalsed stsenaariumid ja rakendused | [ML metsikus looduses](9-Real-World/README.md) | Klassikalise masinõppe huvitavad ja valgustavad reaalsed rakendused | [Õppetund](9-Real-World/1-Applications/README.md) | Meeskond |
| Postscript | Masinõppe mudelite silumine RAI juhtpaneeliga | [ML metsikus looduses](9-Real-World/README.md) | Masinõppe mudelite silumine kasutades Responsible AI juhtpaneeli | [Õppetund](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [leidke kõik selle kursuse lisamaterjalid meie Microsoft Learn kogus](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Võrgust väljas juurdepääs
Seda dokumentatsiooni saab käitada ka võrguühenduseta, kasutades [Docsify](https://docsify.js.org/#/). Forkige see repo, [installige Docsify](https://docsify.js.org/#/quickstart) oma kohalikusse masinasse ja seejärel tippige selle repo juurkaustas käsk `docsify serve`. Veebilehte serveeritakse pordil 3000 teie localhostil: `localhost:3000`.
## PDF-id
Leia õppekava pdf koos linkidega [siit](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
Leidke õppekava pdf linkidega [siit](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Muud kursused
## 🎒 Teised kursused
Meie meeskond toodab ka muud kursused! Vaata lähemalt:
Meie meeskond toodab ka teisi kursuseid! Vaadake:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -176,48 +185,53 @@ Meie meeskond toodab ka muud kursused! Vaata lähemalt:
[![AZD algajatele](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 algajatele](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 algajatele](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 Agendid algajatele](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)
[![AI agentide algajatele](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)
---
### Generatiivne tehisintellekti seeria
[![Loomuliku intelligentsuse genereerimine algajatele](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)
[![Loomuliku intelligentsuse genereerimine (.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)
[![Loomuliku intelligentsuse genereerimine (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)
[![Loomuliku intelligentsuse genereerimine (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)
### Generatiivse tehisintellekti sari
[![Generatiivne tehisintellekt algajatele](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)
[![Generatiivne tehisintellekt (.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)
[![Generatiivne tehisintellekt (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)
[![Generatiivne tehisintellekt (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)
---
### Põhioskuste õppimine
[![Masinõpe algajatele](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)
### Põhjalõimumine
[![ML algajatele](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)
[![Andmeteadus algajatele](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)
[![Tehisintellekt algajatele](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)
[![Küberjulgeolek algajatele](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)
[![Veebiarendus algajatele](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)
[![Asjade internet (IoT) algajatele](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)
[![Asjade interneti algajatele](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 arendus algajatele](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)
---
### Copiloti sari
[![Copilot tehisintellekti paariprogrammeerimiseks](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 tehisintellektiga paarisprogrammeerimiseks](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 C#/.NET jaoks](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)
[![Copiloti seiklus](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 -->
## Abi saamine
Kui jääd kinni või sul on küsimusi tehisintellekti rakenduste ehitamise kohta, liitu teiste õppijate ja kogenud arendajatega MCP aruteludes. See on toetav kogukond, kus küsimused on teretulnud ja teadmisi jagatakse vabalt.
Kui jääd hätta või sul on küsimusi AI-rakenduste loomise kohta, liitu teiste õppijate ja kogenud arendajatega MCP teemalistes aruteludes. See on toetav kogukond, kus küsimused on teretulnud ja teadmisi jagatakse vabalt.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Kui sul on toote tagasisidet või ehitamise käigus esineb vigu, külasta järgmist:
Kui sul on tootearenduse tagasisidet või ehitamise ajal ilmneb vigu, külasta:
[![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)
## Täiendavad õpi nõuanded
[![Microsoft Foundry arendajate foorum](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)
- Vaata õppetükkide järel märkmeid paremaks arusaamiseks üle.
- Harjuta algoritmide iseseisvat rakendamist.
- Uuri õpitud kontseptsioonide abil reaalse maailma andmekogumeid.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellekti tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüdleme täpsuse poole, tuleb arvestada, et automaatsel tõlkel võivad esineda vead või ebatäpsused. Algne dokument selle emakeeles tuleks pidada usaldusväärseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tingitud arusaamatuste või moonutuste eest.
**Tähelepanek**:
See dokument on tõlgitud kasutades tehisintellekti tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, tuleb arvestada, et automatiseeritud tõlgetes võib esineda vigu või ebatäpsusi. Algne dokument selle emakeeles tuleks pidada autoriteetseks allikaks. Kriitilise tähtsusega teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või väärarusaamade eest.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "pcm"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-11-18T18:23:40+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T11:16:33+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "pcm"
},
@ -90,8 +90,8 @@
"language_code": "pcm"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-11-18T18:41:54+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T11:17:29+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "pcm"
},
@ -186,8 +186,8 @@
"language_code": "pcm"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-11-18T18:53:54+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T11:17:47+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "pcm"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "pcm"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T11:08:24+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "pcm"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-11-18T18:54:41+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "pcm"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T11:08:29+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "pcm"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-11-18T18:55:25+00:00",
@ -540,8 +552,8 @@
"language_code": "pcm"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T09:25:50+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T11:16:27+00:00",
"source_file": "README.md",
"language_code": "pcm"
},

@ -2,17 +2,17 @@
## Instructions
For dis lesson, you don learn about di Responsible AI Toolbox, wey be "open-source, community-driven project wey go help data scientists analyze and improve AI systems." For dis assignment, make you explore one of RAI Toolbox's [notebooks](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) and report wetin you find for paper or presentation.
For dis lesson, you learn about di Responsible AI Toolbox, wey be "open-source, community-driven project wey dey help data scientists analyze and improve AI systems." For dis assignment, make you explore one from RAI Toolbox [notebooks](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) and report wetin you find inside paper or presentation.
## Rubric
| Criteria | Exemplary | Adequate | Needs Improvement |
| -------- | --------- | -------- | ----------------- |
| | Paper or PowerPoint presentation dey wey talk about Fairlearn systems, di notebook wey dem run, and di conclusions wey dem get from am | Paper dey but e no get conclusions | No paper dey |
| | Paper or powerpoint presentation wey discuss Fairlearn system dem, di notebook wey dem run, plus di conclusions wey dem draw from running am | Paper wey no get conclusion | No paper at all |
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis docu don use AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator) take translate am. Even though we dey try make e accurate, abeg sabi say automated translations fit get mistake or no correct well. Di original docu for im native language na di main correct source. For important information, e good make una use professional human translation. We no go dey responsible for any misunderstanding or wrong interpretation wey fit happen because of dis translation.
Dis document don translate wit AI translation service wey dem dey call [Co-op Translator](https://github.com/Azure/co-op-translator). Even tho we dey try make e correct, make you sabi say automatic translation fit get mistake or no too correct. Di original document wey dey di language wey e suppose dey na di correct one wey you go trust. If na serious matter, make you use professional human translation. We no go fit take responsibility if person misunderstanding or misinterpret something because of dis translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,5 +1,11 @@
# Build regression model wit Scikit-learn: regression four ways
# Build a regression model using Scikit-learn: regression four ways
## Beginner Note
Linear regression dey used wen we want predict **numerical value** (like house price, temperature, or sales).
E dey work by finding straight line way best represent di relationship between input features and di output.
For dis lesson, we go focus on understanding di concept before we explore more advanced regression techniques.
![Linear vs polynomial regression infographic](../../../../translated_images/pcm/linear-polynomial.5523c7cb6576ccab.webp)
> Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
@ -7,79 +13,85 @@
> ### [Dis lesson dey available for R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Introduction
So far, you don learn wetin regression be wit sample data wey we gather from pumpkin pricing dataset wey we go use for dis lesson. You don also use Matplotlib take visualize am.
So far, you don explore wetin regression be with sample data wey we collect from di pumpkin pricing dataset wey we go use for dis lesson. You don also visualize am using Matplotlib.
Now, you ready to go deeper into regression for ML. While visualization dey help you understand data, the real power of Machine Learning na from _training models_. Models dey train wit old data to automatically capture how data dey relate, and dem go help you predict wetin go happen for new data wey model never see before.
Now you fit dive deeper into regression for ML. While visualization dey help you make sense of data, real power of Machine Learning na from _training models_. Models dey train on historic data to automatically catch data dependencies, and dem allow you predict outcomes for new data wey di model never see before.
For dis lesson, you go learn more about two types of regression: _basic linear regression_ and _polynomial regression_, plus some of the math wey dey behind dis techniques. Dis models go help us predict pumpkin prices based on different input data.
For dis lesson, you go learn more about two types of regression: _basic linear regression_ and _polynomial regression_, plus some math way dey behind these techniques. Dem models go allow us predict pumpkin prices based on different input data.
[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
> 🎥 Click di image above for short video wey explain linear regression.
> 🎥 Click di image wey dey above for short video overview of linear regression.
> For dis curriculum, we dey assume say you no sabi too much math, and we dey try make am easy for students wey dey come from other fields, so watch out for notes, 🧮 callouts, diagrams, and other tools wey go help you understand.
> Throughout dis curriculum, we assume say person no get much knowledge for math before, and we dey try make am easy for students wey dey comot from other fields, so watch for notes, 🧮 callouts, diagrams, and other learning tools to help you understand.
### Prerequisite
By now, you suppose don sabi di structure of di pumpkin data wey we dey look. You go find am preloaded and pre-cleaned for dis lesson _notebook.ipynb_ file. For di file, di pumpkin price dey show per bushel for new data frame. Make sure say you fit run dis notebooks for kernels inside Visual Studio Code.
You suppose sabi di structure of di pumpkin data wey we dey check by now. You fit find am preloaded and pre-cleaned inside dis lesson's _notebook.ipynb_ file. Inside di file, di pumpkin price dey show per bushel for new dataframe. Make sure say you fit run these notebooks inside Visual Studio Code kernels.
### Preparation
Make we remind you, you dey load dis data so you fit ask questions about am.
As reminder, you dey load dis data make you fit ask questions about am.
- When na di best time to buy pumpkins?
- Wetin price fit be for one case of miniature pumpkins?
- I suppose buy dem for half-bushel baskets or buy by 1 1/9 bushel box?
Make we continue to look into dis data.
- When be di best time to buy pumpkins?
- Wetin be di price wey I fit expect for case of miniature pumpkins?
- I go buy dem for half-bushel baskets or di 1 1/9 bushel box?
Make we continue to dig di data.
For di previous lesson, you create Pandas dataframe and put small part of di original dataset for am, standardizing di pricing by di bushel. But by doing that, you only fit collect about 400 datapoints and na only for di fall months.
For di previous lesson, you create Pandas data frame and put part of di original dataset inside, standardizing di pricing by di bushel. But as you do am, you only fit gather about 400 datapoints and na only for di fall months.
Check di data way we preload for dis lesson notebook. Di data dey preloaded and initial scatterplot dey show month data. Maybe we fit get small better detail about di nature of di data if we clean am more.
Check di data wey we preloaded for dis lesson notebook. Di data don dey preloaded and we don chart initial scatterplot to show month data. Maybe we fit get more detail about di data nature if we clean am more.
## A linear regression line
## Linear regression line
As you learn for Lesson 1, di aim of linear regression exercise na to fit plot one line to:
As you learn for Lesson 1, di goal of linear regression na to fit plot line wey go:
- **Show variable relationships**. Show di relationship between variables
- **Make predictions**. Make correct predictions on where new datapoint for fit fall inside relation to dat line.
- **Show variable relationships**. Show how di variables dey relate
- **Make predictions**. Make correct predictions about where new datapoint go fall for di line.
E common for **Least-Squares Regression** to draw dis kain line. Di term "Least-Squares" mean say you want minimize total error for our model. For every data point, we dey measure vertical distance (we call am residual) between di real point and our regression line.
Di normal way for **Least-Squares Regression** na to draw dis type of line. Di term 'least-squares' mean say all di datapoints wey dey around di regression line go square and then add up. Ideally, di final sum suppose dey as small as e fit be, because we want low number of errors, or `least-squares`.
We dey square these distances for two main reasons:
We dey do am because we want model line wey get di least total distance from all our data points. We dey square di terms before we add dem because we dey focus on di size, no be di direction.
1. **Magnitude over Direction:** We wan make error of -5 equal to error of +5. Squaring go make all values positive.
2. **Penalizing Outliers:** Squaring dey put more weight on bigger errors, e go make di line stay closer to points wey far away.
Then we add all these squared values together. Our goal na to find di line where dis total sum go minimum (smallest value)—na why dem call am "Least-Squares".
> **🧮 Show me di math**
>
> Dis line, wey dem dey call _line of best fit_ fit dey express by [one equation](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Dis line wey we call _line of best fit_ fit be expressed by [one equation](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` na di 'explanatory variable'. `Y` na di 'dependent variable'. Di slope of di line na `b` and `a` na di y-intercept, wey mean di value of `Y` when `X = 0`.
> `X` na 'explanatory variable'. `Y` na 'dependent variable'. Di slope of di line na `b` and `a` na di y-intercept, way mean di value of `Y` when `X = 0`.
>
>![calculate di slope](../../../../translated_images/pcm/slope.f3c9d5910ddbfcf9.webp)
>
> First, calculate di slope `b`. Infographic by [Jen Looper](https://twitter.com/jenlooper)
>
> In other words, and referring to our pumpkin data original question: "predict di price of pumpkin per bushel by month", `X` go mean di price and `Y` go mean di month of sale.
> To talk am another way, and referring to di pumpkin data original question: "predict price of pumpkin per bushel by month", `X` na price and `Y` na month of sale.
>
>![complete di equation](../../../../translated_images/pcm/calculation.a209813050a1ddb1.webp)
>
> Calculate di value of Y. If you dey pay around $4, e fit be April! Infographic by [Jen Looper](https://twitter.com/jenlooper)
> Calculate di value of Y. If you dey pay around $4, e be say na April! Infographic by [Jen Looper](https://twitter.com/jenlooper)
>
> Di math wey dey calculate di line suppose show di slope of di line, wey also depend on di intercept, or where `Y` dey when `X = 0`.
> Di math wey calculate di line must show di slope of di line, way still depend on di intercept, or where `Y` dey when `X = 0`.
>
> You fit see di method of calculation for dis values for [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) web site. Also visit [dis Least-squares calculator](https://www.mathsisfun.com/data/least-squares-calculator.html) to see how di numbers' values dey affect di line.
> You fit check di way to calculate dis values on di [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) website. Also visit [dis Least-squares calculator](https://www.mathsisfun.com/data/least-squares-calculator.html) to see how di numbers value affect di line.
## Correlation
Another term wey you need understand na di **Correlation Coefficient** between di given X and Y variables. Using scatterplot, you fit quickly see dis coefficient. Scatterplot wey get datapoints wey dey arrange well for line get high correlation, but scatterplot wey get datapoints wey dey scatter anyhow between X and Y get low correlation.
Another term to sabi na di **Correlation Coefficient** between X and Y variables. Using scatterplot, you fit quickly visualize dis coefficient. If plot get datapoints scatter for neat line, e get high correlation, but if datapoints scatter everywhere between X and Y, e get low correlation.
Good linear regression model go be di one wey get high (nearer to 1 than 0) Correlation Coefficient using di Least-Squares Regression method wit regression line.
Good linear regression model na di one way get high (near 1 pass near 0) Correlation Coefficient using Least-Squares Regression method and regression line.
✅ Run di notebook wey follow dis lesson and look di Month to Price scatterplot. Di data wey dey associate Month to Price for pumpkin sales dey get high or low correlation, based on how you see di scatterplot? E go change if you use more detailed measure instead of `Month`, like *day of di year* (i.e. number of days since di year start)?
✅ Run di notebook wey join dis lesson and check di Month to Price scatterplot. Di data way associate Month to Price for pumpkin sales get high or low correlation according to your visual interpretation? E go change if you use more detailed measure instead of `Month`, like *day of di year* (meaning number of days since year start)?
For di code below, we go assume say we don clean di data, and we don get data frame wey dem dey call `new_pumpkins`, wey look like dis:
For di code below, we go assume say we don clean di data, and get data frame named `new_pumpkins`, similar to dis:
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
---|-------|-----------|---------|------|---------|-----------|------------|-------
@ -89,36 +101,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
> Di code to clean di data dey available for [`notebook.ipynb`](notebook.ipynb). We don do di same cleaning steps as di previous lesson, and we don calculate `DayOfYear` column using dis expression:
> Di code wey clean di data dey inside [`notebook.ipynb`](notebook.ipynb). We do di same cleaning steps like before, and we calculate `DayOfYear` column with dis expression:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Now wey you don understand di math wey dey behind linear regression, make we create Regression model to see if we fit predict which package of pumpkins go get di best pumpkin prices. Person wey dey buy pumpkins for holiday pumpkin patch fit want dis info to optimize di purchase of pumpkin packages for di patch.
Now wey you understand di math behind linear regression, make we create Regression model to see if we fit predict which pumpkin package go get di best pumpkin prices. Anybody buying pumpkins for holiday pumpkin patch fit want dis info to optimize how dem go buy pumpkin packages for di patch.
## Looking for Correlation
[![ML for beginners - Looking for Correlation: Di Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: Di Key to 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")
> 🎥 Click di image above for short video wey explain correlation.
> 🎥 Click di image above to watch short video overview about correlation.
From di previous lesson, you don probably see say di average price for different months dey look like dis:
From di last lesson, you probably don see dat average price for different months look like dis:
<img alt="Average price by month" src="../../../../translated_images/pcm/barchart.a833ea9194346d76.webp" width="50%"/>
Dis suggest say correlation dey, and we fit try train linear regression model to predict di relationship between `Month` and `Price`, or between `DayOfYear` and `Price`. Dis scatter plot dey show di relationship between `DayOfYear` and `Price`:
Dis show say should get some correlation, and we fit try train linear regression model to predict di relationship between `Month` and `Price`, or between `DayOfYear` and `Price`. Dis na di scatter plot wey show di latter one:
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/pcm/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Make we see if correlation dey using di `corr` function:
Make we check if correlation dey using `corr` function:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
E be like say di correlation small, -0.15 by `Month` and -0.17 by di `DayOfMonth`, but e fit get another important relationship. E be like say different clusters of prices dey correspond to different pumpkin varieties. To confirm dis hypothesis, make we plot each pumpkin category using different color. By passing `ax` parameter to di `scatter` plotting function, we fit plot all points for di same graph:
E be like say correlation small, -0.15 by `Month` and -0.17 by `DayOfMonth`, but fit be say another important relationship dey. E be like say different clusters of prices dey waka with different pumpkin varieties. To confirm dis hypothesis, make we plot each pumpkin category with different color. By passing `ax` parameter to `scatter` plotting function, we fit plot all points for one graph:
```python
ax=None
@ -130,7 +142,7 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/pcm/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Our investigation dey suggest say variety dey affect di overall price pass di actual selling date. We fit see dis wit bar graph:
Our check show say variety get more effect on overall price pass di actual selling date. We fit see dis with bar graph:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
@ -138,7 +150,7 @@ new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
<img alt="Bar graph of price vs variety" src="../../../../translated_images/pcm/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Make we focus for now only on one pumpkin variety, di 'pie type', and see wetin di date dey do to di price:
Make we focus for now on one pumpkin variety, di 'pie type', and see wetin di date do to di price:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
@ -146,22 +158,22 @@ pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/pcm/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
If we now calculate di correlation between `Price` and `DayOfYear` using `corr` function, we go get something like `-0.27` - wey mean say training predictive model dey make sense.
If we calculate correlation between `Price` and `DayOfYear` using `corr` function, we go get like `-0.27` - mean say e make sense to train predictive model.
> Before we train linear regression model, e dey important to make sure say our data clean. Linear regression no dey work well wit missing values, so e make sense to remove all empty cells:
> Before train linear regression model, e important to make sure our data clean well. Linear regression no dey work well if values dey miss, so e make sense to clear all empty cells:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Another way na to fill di empty values wit mean values from di corresponding column.
Another way na to fill empty values with mean values from corresponding column.
## Simple Linear Regression
[![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")
> 🎥 Click di image above for short video wey explain linear and polynomial regression.
> 🎥 Click di image above for short video overview of linear and polynomial regression.
To train our Linear Regression model, we go use **Scikit-learn** library.
@ -171,30 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
We go first separate input values (features) and di expected output (label) into separate numpy arrays:
We start by separating input values (features) and expected output (label) into separate numpy arrays:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Note say we need perform `reshape` for di input data so di Linear Regression package go understand am well. Linear Regression dey expect 2D-array as input, where each row of di array dey correspond to vector of input features. For our case, since we get only one input - we need array wey get shape N&times;1, where N na di dataset size.
> Note say we gatz do `reshape` on input data so Linear Regression package go fit understand am well well. Linear Regression dey expect 2D-array as input, where each row of di array represent vector of input features. Our case, we get only one input - so we need array with shape N&times;1, where N na size of dataset.
Then, we go split di data into train and test datasets, so we fit validate our model after training:
Then, we need to split data into train and test datasets so we fit validate our model after training:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Finally, training di actual Linear Regression model na just two lines of code. We go define di `LinearRegression` object, and fit am to our data using di `fit` method:
Finally, training actual Linear Regression model na just two lines of code. We define `LinearRegression` object, and fit am to our data using `fit` method:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Di `LinearRegression` object after `fit`-ting go get all di coefficients of di regression, wey you fit access using `.coef_` property. For our case, na just one coefficient dey, wey suppose dey around `-0.017`. E mean say prices dey drop small small wit time, but no too much, around 2 cents per day. We fit also access di intersection point of di regression wit Y-axis using `lin_reg.intercept_` - e go dey around `21` for our case, wey dey show di price at di beginning of di year.
To check how correct our model dey, we fit predict price for test dataset, then measure how close our prediction dey to the expected value. We fit use mean square error (MSE) metrics do am, wey be the mean of all squared difference between expected and predicted value.
Di `LinearRegression` object afta `fit`-ting get all di coefficients of di regression, we fit fit access using `.coef_` property. For our case, na only one coefficient wey dey, wey suppose dey around `-0.017`. E mean sey prices fit dey drop small with time, but e no too much, around 2 cents per day. We fit access di intersection point of di regression with Y-axis using `lin_reg.intercept_` - e go dey around `21` for our case, wey mean di price for beginning of di year.
To see how correct our model be, we fit predict prices for test dataset, then measure how close our predictions be to di expected values. Dis one fit use mean square error (MSE) metrics, wey be di mean of all squared differences between expected and predicted value.
```python
pred = lin_reg.predict(X_test)
@ -203,16 +216,16 @@ mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Our error dey around 2 points, wey be ~17%. E no too good. Another way to check model quality na **coefficient of determination**, wey we fit get like this:
Our error dey around 2 points, wey be ~17%. E no too good. Another indicator of model quality na di **coefficient of determination**, wey fit get like dis:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
If the value na 0, e mean say the model no dey use input data at all, and e dey act like *worst linear predictor*, wey na just the mean value of the result. If the value na 1, e mean say we fit perfectly predict all expected outputs. For our case, the coefficient dey around 0.06, wey no too high.
If di value na 0, e mean sey di model no dey consider input data, e just dey act as di *worst linear predictor*, wey na mean value of di result. If di value na 1, e mean sey we fit perfectly predict all expected outputs. For our case, di coefficient na around 0.06, wey low shaa.
We fit also plot the test data together with the regression line to see how regression dey work for our case:
We fit also plot di test data join with di regression line so dat we go fit see correct how regression dey work for our case:
```python
plt.scatter(X_test,y_test)
@ -223,17 +236,17 @@ plt.plot(X_test,pred)
## Polynomial Regression
Another type of Linear Regression na Polynomial Regression. Sometimes, e get linear relationship between variables - like the bigger the pumpkin volume, the higher the price - but sometimes these relationships no fit dey as plane or straight line.
Another kin of Linear Regression na Polynomial Regression. Sometimes, e for be say the relationship between variables be straight line - like di bigger di pumpkin volume, di higher di price - but sometimes, dis kain relationship no fit plot as plane or straight line.
✅ Here be [some more examples](https://online.stat.psu.edu/stat501/lesson/9/9.8) of data wey fit use Polynomial Regression.
✅ Here na [some more examples](https://online.stat.psu.edu/stat501/lesson/9/9.8) of data wey polynomial regression fit work for
Look again at the relationship between Date and Price. This scatterplot e sure say e suppose dey analyzed by straight line? Prices no fit dey fluctuate? For this case, you fit try polynomial regression.
Look di relationship between Date and Price again. Dis scatterplot seem like e suppose analyze by straight line? Prices no dey fluctuate sef? For dis situation, you fit try polynomial regression.
✅ Polynomials na mathematical expressions wey fit get one or more variables and coefficients.
✅ Polynomials na mathematical expressions wey fit get one or more variables and coefficients
Polynomial regression dey create curved line to fit nonlinear data well. For our case, if we add squared `DayOfYear` variable into input data, we fit fit our data with parabolic curve, wey go get minimum for one point inside the year.
Polynomial regression dey create curved line to fit nonlinear data better. For our case, if we add squared `DayOfYear` variable enter input data, we suppose fit our data with parabolic curve, wey get minimum for one point inside di year.
Scikit-learn get one helpful [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) to join different steps of data processing together. **Pipeline** na chain of **estimators**. For our case, we go create pipeline wey first add polynomial features to our model, then train the regression:
Scikit-learn get beta [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) wey dey help combine different data processing steps together. **pipeline** na chain of **estimators**. For our case, we go create pipeline wey first add polynomial features to our model, then train di regression:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -244,36 +257,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
Using `PolynomialFeatures(2)` mean say we go include all second-degree polynomials from the input data. For our case, e go just mean `DayOfYear`<sup>2</sup>, but if we get two input variables X and Y, e go add X<sup>2</sup>, XY and Y<sup>2</sup>. We fit also use higher degree polynomials if we want.
Use `PolynomialFeatures(2)` mean sey we go include all second-degree polynomials from di input data. For us, e mean say na just `DayOfYear`<sup>2</sup>, but if we get two input variables X and Y, e go add X<sup>2</sup>, XY and Y<sup>2</sup>. We fit also use higher degree polynomials if we want.
Pipelines fit dey used same way as the original `LinearRegression` object, like we fit `fit` the pipeline, then use `predict` to get the prediction results. Here be the graph wey show test data, and the approximation curve:
Pipelines fit act like di original `LinearRegression` object, e.g. we fit `fit` di pipeline, then use `predict` to get prediction results. Dis na di graph wey show test data and approximation curve:
<img alt="Polynomial regression" src="../../../../translated_images/pcm/poly-results.ee587348f0f1f60b.webp" width="50%" />
Using Polynomial Regression, we fit get slightly lower MSE and higher determination, but e no dey significant. We need to consider other features!
Using Polynomial Regression, we fit get small lower MSE and higher determination, but e no too much. We need consider other features!
> You fit see say the minimum pumpkin prices dey somewhere around Halloween. How you fit explain this?
> You fit see sey minimal pumpkin prices dey around Halloween. How you fit explain dat?
🎃 Congrats, you don create model wey fit help predict the price of pie pumpkins. You fit repeat the same process for all pumpkin types, but e go dey stressful. Make we learn how to take pumpkin variety into account for our model!
🎃 Congrats, you just create model wey fit help predict pie pumpkins price. You fit fit repeat di same process for all pumpkin types, but dat one go dey tiring. Make we learn now how to take pumpkin variety enter our model!
## Categorical Features
For ideal world, we go want predict prices for different pumpkin varieties using the same model. But the `Variety` column dey different from columns like `Month`, because e get non-numeric values. These kind columns na **categorical**.
For correct world, we want fit predict prices for different pumpkin varieties using same model. But di `Variety` column differ from columns like `Month`, because e get non-numeric values. Dis kind columns 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")
> 🎥 Click the image above for short video overview of how to use categorical features.
> 🎥 Click di image wey dey above for short video wey summarize how to use categorical features.
Here you fit see how average price dey depend on variety:
Here you fit see how average price depend on variety:
<img alt="Average price by variety" src="../../../../translated_images/pcm/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
To take variety into account, we first need to change am to numeric form, or **encode** am. E get different ways we fit do am:
To take variety enter account, we first need to convert am to numeric form, or **encode** am. We get different ways to do am:
* Simple **numeric encoding** go build table of different varieties, then replace the variety name with index for that table. This no be the best idea for linear regression, because linear regression dey use the actual numeric value of the index, and e dey add am to the result, multiplying by some coefficient. For our case, the relationship between the index number and the price no dey linear, even if we arrange indices in some specific way.
* **One-hot encoding** go replace the `Variety` column with 4 different columns, one for each variety. Each column go get `1` if the row dey for that variety, and `0` if e no dey. This mean say linear regression go get four coefficients, one for each pumpkin variety, wey go show "starting price" (or "additional price") for that variety.
* Simple **numeric encoding** go build table of different varieties, then replace variety name with index for that table. Dis one no too good for linear regression, because linear regression go take di numeric value of di index, add am to result, multiply by some coefficient. For our case, di relationship between index number and price no linear, even if we arrange indices some specific way.
* **One-hot encoding** go replace `Variety` column with 4 different columns, one for each variety. Each column go get `1` if that row na dat variety, else `0`. Mean sey four coefficients go dey for linear regression, one for each pumpkin variety, wey dey responsible for "starting price" (or "additional price") for dat variety.
The code below show how we fit one-hot encode variety:
Dis code below show how we fit one-hot encode variety:
```python
pd.get_dummies(new_pumpkins['Variety'])
@ -290,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
To train linear regression using one-hot encoded variety as input, we just need to set `X` and `y` data correctly:
To train linear regression using one-hot encoded variety as input, we just need to initialize `X` and `y` data well:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
The rest of the code na the same as the one we use before to train Linear Regression. If you try am, you go see say the mean squared error dey about the same, but we go get higher coefficient of determination (~77%). To get more accurate predictions, we fit take more categorical features into account, plus numeric features like `Month` or `DayOfYear`. To get one big array of features, we fit use `join`:
Di rest of di code na di same wey we use above for Linear Regression training. If you try am, you go see say mean squared error dey about di same, but coefficient of determination go much higher (~77%). To get better predictions, we fit take more categorical features enter account, plus numeric features, like `Month` or `DayOfYear`. To get one large features array, we fit use `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -307,31 +320,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Here we also dey consider `City` and `Package` type, wey give us MSE 2.84 (10%), and determination 0.94!
Here we also take `City` and `Package` type enter account, wey give MSE 2.84 (10%), plus determination 0.94!
## Putting it all together
To make the best model, we fit use combined (one-hot encoded categorical + numeric) data from the example above together with Polynomial Regression. Here be the complete code for your convenience:
To make di best model, we fit combine (one-hot encoded categorical + numeric) data from di example above join Polynomial Regression. Dis na di complete code for your ease:
```python
# set up training data
# prepare training data
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
# divide train and test data
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
# prepare and train di pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# predict results for test data dem
pred = pipeline.predict(X_test)
# calculate MSE and determination
# calculate MSE and determination score
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -339,7 +352,7 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
This go give us the best determination coefficient of almost 97%, and MSE=2.23 (~8% prediction error).
This one suppose give us best determination coefficient near 97%, and MSE=2.23 (~8% prediction error).
| Model | MSE | Determination |
|-------|-----|---------------|
@ -349,18 +362,18 @@ This go give us the best determination coefficient of almost 97%, and MSE=2.23 (
| All features Linear | 2.84 (10.5%) | 0.94 |
| All features Polynomial | 2.23 (8.25%) | 0.97 |
🏆 Well done! You don create four Regression models for one lesson, and improve the model quality to 97%. For the final section on Regression, you go learn about Logistic Regression to determine categories.
🏆 Well done! You create four Regression models for one lesson, plus you improve model quality to 97%. For di last part of Regression, you go learn about Logistic Regression to determine categories.
---
## 🚀Challenge
Test different variables for this notebook to see how correlation dey affect model accuracy.
Test different variables for dis notebook to see how correlation link to model accuracy.
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
## Review & Self Study
For this lesson we learn about Linear Regression. E get other important types of Regression. Read about Stepwise, Ridge, Lasso and Elasticnet techniques. One good course to study more na the [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
For dis lesson, we learn about Linear Regression. Get other important Regression types too. Read about Stepwise, Ridge, Lasso and Elasticnet techniques. One good course to study be di [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Assignment
@ -370,5 +383,5 @@ For this lesson we learn about Linear Regression. E get other important types of
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis dokyument don use AI transle-shon service [Co-op Translator](https://github.com/Azure/co-op-translator) do di transle-shon. Even as we dey try make am accurate, abeg make you sabi say transle-shon wey machine do fit get mistake or no dey correct well. Di original dokyument for im native language na di one wey you go take as di correct source. For important mata, e good make you use professional human transle-shon. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because you use dis transle-shon.
Dis document don translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg sabi say automated translation fit get errors or no too correct. Di original document wey dey dia in im own language na di correct one. If na serious matter, better make person wey sabi do proper human translation do am. We no go hold ourselves responsible if pesin misunderstand or misinterpret any tin wey come from dis translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,44 +1,44 @@
# Cuisine classifiers 2
For dis second lesson for classification, you go learn more ways wey you fit take classify numeric data. You go also sabi wetin fit happen if you choose one classifier instead of another one.
Inside dis second classification lesson, you go explore more ways to classify numeric data. You go also learn about wetin fit happen if you choose one classifier pass the oda one.
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
### Prerequisite
We dey assume say you don finish the previous lessons and you get clean dataset for your `data` folder wey dem call _cleaned_cuisines.csv_ for the root of dis 4-lesson folder.
We dey assume say you don finish di previous lessons and you get cleaned dataset for your `data` folder wey dem call _cleaned_cuisines.csv_ for di root of dis 4-lesson folder.
### Preparation
We don load your _notebook.ipynb_ file with the clean dataset and we don divide am into X and y dataframes, ready for the model building process.
We don load your _notebook.ipynb_ file wit di cleaned dataset and we don divide am into X and y dataframes, ready for di model building process.
## A classification map
Before, you don learn about the different options wey you fit use to classify data using Microsoft's cheat sheet. Scikit-learn get similar cheat sheet wey dey more detailed and fit help you narrow down your estimators (another name for classifiers):
Before now, you don learn about di different options wey you get wen you dey classify data using Microsoft cheat sheet. Scikit-learn get similar, but more detailed cheat sheet wey fit help you narrow down your estimators (another word for classifiers):
![ML Map from Scikit-learn](../../../../translated_images/pcm/map.e963a6a51349425a.webp)
> Tip: [visit dis map online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) and click along the path to read documentation.
> Tip: [visit dis map online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) and click along di path to read documentation.
### The plan
Dis map dey very helpful once you sabi your data well, as you fit 'walk' along the paths to make decision:
Dis map go help wella if you done sabi your data well, because you fit 'walk' along e paths go make decision:
- We get >50 samples
- We wan predict category
- We want predict category
- We get labeled data
- We get less than 100K samples
- ✨ We fit choose Linear SVC
- If e no work, since we get numeric data
- If dis no work, since we get numeric data
- We fit try ✨ KNeighbors Classifier
- If e no work, try ✨ SVC and ✨ Ensemble Classifiers
- If dat one no work, try ✨ SVC and ✨ Ensemble Classifiers
Dis path dey very helpful to follow.
Dis na better way wey you fit follow.
## Exercise - split the data
Follow dis path, we suppose start by importing some libraries wey we go use.
Follow dis path, we suppose start by import some libraries to use.
1. Import the libraries wey we need:
1. Import di libraries wey you need:
```python
from sklearn.neighbors import KNeighborsClassifier
@ -53,12 +53,12 @@ Follow dis path, we suppose start by importing some libraries wey we go use.
1. Split your training and 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
Support-Vector clustering (SVC) na one method from the Support-Vector machines family of ML techniques (learn more about dem below). For dis method, you fit choose 'kernel' to decide how to cluster the labels. The 'C' parameter dey refer to 'regularization' wey dey control how parameters go influence the model. The kernel fit be one of [several](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); here we set am to 'linear' to make sure say we dey use linear SVC. Probability dey default to 'false'; here we set am to 'true' to gather probability estimates. We set the random state to '0' to shuffle the data to get probabilities.
Support-Vector clustering (SVC) na pikin from di Support-Vector machines family of ML techniques (you fit learn more about dem below). For dis method, you fit choose 'kernel' to decide how you go cluster di labels. Di 'C' parameter mean 'regularization' wey dey control how parameters go influence di model. Di kernel fit be one of [plenty](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); for here we set am to 'linear' make we use linear SVC. Probability set to 'false' by default; but here we set am to 'true' to get probability estimates. We set random state to '0' to shuffle di data so that we fit get probabilities.
### Exercise - apply a linear SVC
@ -68,13 +68,13 @@ Start by creating array of classifiers. You go dey add to dis array as we dey te
```python
C = 10
# Create different classifiers.
# Make different classifier dem.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Train your model using Linear SVC and print report:
2. Train your model using di Linear SVC and print report:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Start by creating array of classifiers. You go dey add to dis array as we dey te
print(classification_report(y_test,y_pred))
```
The result dey okay:
Di result good:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -107,19 +107,19 @@ Start by creating array of classifiers. You go dey add to dis array as we dey te
## K-Neighbors classifier
K-Neighbors na part of the "neighbors" family of ML methods, wey fit work for supervised and unsupervised learning. For dis method, dem dey create predefined number of points and gather data around dem points so dat generalized labels fit dey predicted for the data.
K-Neighbors na part of di "neighbors" family of ML methods, wey fit dey used for both supervised and unsupervised learning. For dis method, dem go set how many points before and gather data around dem points so that you fit predict labels wey fit generalize for di data.
### Exercise - apply the K-Neighbors classifier
The previous classifier dey okay, e work well with the data, but maybe we fit get better accuracy. Try K-Neighbors classifier.
Di previous classifier good and e work well for di data, but maybe we fit get better accuracy. Try K-Neighbors classifier.
1. Add one line to your classifier array (add comma after the Linear SVC item):
1. Add one line to your classifier array (put comma after the Linear SVC item):
```python
'KNN classifier': KNeighborsClassifier(C),
```
The result no too good:
Di result just small worse:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -140,19 +140,19 @@ The previous classifier dey okay, e work well with the data, but maybe we fit ge
## Support Vector Classifier
Support-Vector classifiers na part of the [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) family of ML methods wey dem dey use for classification and regression tasks. SVMs "map training examples to points for space" to maximize the distance between two categories. Data wey go come later go dey mapped into dis space so dem fit predict their category.
Support-Vector classifiers na part of di [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) family of ML methods wey dem dey use for classification and regression tasks. SVMs "go map training examples go points for space" to make distance between two categories max. Data wey come after go also map inside dis space so that dem fit predict di category.
### Exercise - apply a Support Vector Classifier
Make we try get better accuracy with Support Vector Classifier.
Make we try small better accuracy with Support Vector Classifier.
1. Add comma after the K-Neighbors item, then add dis line:
1. Add comma after K-Neighbors item then add dis line:
```python
'SVC': SVC(),
```
The result dey very good!
Di result good well!
```output
Accuracy (train) for SVC: 83.2%
@ -173,14 +173,14 @@ Make we try get better accuracy with Support Vector Classifier.
## Ensemble Classifiers
Make we follow the path reach the end, even though the previous test dey very good. Make we try some 'Ensemble Classifiers, like Random Forest and AdaBoost:
Make we follow di path reach last, even though di previous test good well. Make we try some 'Ensemble Classifiers, especially Random Forest and AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
The result dey very good, especially for Random Forest:
Di result correct wella, especially for Random Forest:
```output
Accuracy (train) for RFST: 84.5%
@ -212,23 +212,23 @@ weighted avg 0.73 0.72 0.72 1199
✅ Learn about [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
Dis method of Machine Learning "combine the predictions of several base estimators" to improve the model quality. For our example, we use Random Trees and AdaBoost.
Dis Machine Learning method "go join di predictions from many base estimators" to make di model better. For our example, we use Random Trees and AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), na averaging method, e dey build 'forest' of 'decision trees' wey get randomness to avoid overfitting. The n_estimators parameter dey set to the number of trees.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), averaging method, dey build 'forest' of 'decision trees' wey get random nature to avoid overfitting. Di n_estimators parameter na di number of trees.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) dey fit classifier to dataset and then fit copies of dat classifier to the same dataset. E dey focus on the weights of items wey dem classify wrong and adjust the fit for the next classifier to correct am.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) dey fit classifier to dataset then e fit many copies of dat classifier to di same dataset. E dey focus for weights of items wey classifier no classify well and e fit adjust di fit for next classifier to correct am.
---
## 🚀Challenge
Each of dis techniques get plenty parameters wey you fit tweak. Research each one default parameters and think about wetin tweaking dis parameters go mean for the model quality.
Each of these techniques get plenti parameters wey you fit change. Research how each one their default parameters be and reason how changing dem fit affect di model quality.
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
## Review & Self Study
Plenty grammar dey for dis lessons, so take small time review [dis list](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) of useful terminology!
Plenty big big words dey dis lessons, so take small time review [dis list](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) of useful terms!
## Assignment
@ -238,5 +238,5 @@ Plenty grammar dey for dis lessons, so take small time review [dis list](https:/
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis dokyument don use AI transleshion service [Co-op Translator](https://github.com/Azure/co-op-translator) do di transleshion. Even though we dey try make am accurate, abeg make you sabi say machine transleshion fit get mistake or no dey correct well. Di original dokyument wey dey for im native language na di main source wey you go fit trust. For important informashon, e good make you use professional human transleshion. We no go fit take blame for any misunderstanding or wrong meaning wey fit happen because you use dis transleshion.
Dis document don translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg sabi say automated translation fit get some errors or mistake. Di original document for im own language na di correct source. If na important information, make you use professional human translation. We no go take responsibility for any wrong understanding or mistake wey fit happen because of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -116,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<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**: \nDis dokyument don use AI transleto service [Co-op Translator](https://github.com/Azure/co-op-translator) do di translation. Even though we dey try make am accurate, abeg sabi say machine translation fit get mistake or no dey correct well. Di original dokyument wey dey for im native language na di main source wey you go fit trust. For important information, e better make professional human translator check am. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because you use dis translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDis dokument don translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even tho we dey try make am correct, abeg sabi say automated translation fit get mistake or no too correct. Di original dokument wey dey dia for im own language na di correct one. If na serious matter, make person use professional human translation. We no go take responsibility if pesin no understand well or if dem misinterpret dis translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -152,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-11-18T19:24:24+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "pcm"
}
},
"nbformat": 4,

@ -116,8 +116,8 @@
}
],
"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()"
]
},
{
@ -148,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)"
]
},
{
@ -263,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**: \nDis dokyument don use AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator) do di translation. Even as we dey try make am accurate, abeg sabi say machine translation fit get mistake or no dey correct well. Di original dokyument wey dey for im native language na di main source wey you go trust. For important information, e good make professional human translator check am. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because you use dis translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nDis dokument don translate wit AI translation service wey dem dey call [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we try make am correct, abeg sabi say automatic translate fit get some mistakes or wahala. Di original dokument wey dem write for im own language na im be di main correct one. If na important info, better make human professional do di translate. We no go responsible for any gbege wen dem misunderstand or use dis translation wrong.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -291,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-11-18T19:24:32+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "pcm"
}
},
"nbformat": 4,

@ -10,77 +10,86 @@
### 🌐 Multi-Language Support
#### Supported via GitHub Action (Automated & Always Up-to-Date)
#### Dem dey supported via GitHub Action (Automatic & Always Up-to-Date)
<!-- 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](./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)
> **Prefer to Clone Locally?**
> Dis repo get 50+ language translations wey dey make di download size big pass. To clone without di translation dem, use sparse checkout:
> **You prefer make you Clone am for your local machine?**
>
> Dis repo get more than 50 language translation wey go make di download big well-well. If you wan clone without di translations, use 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'
> ```
> Dis go give you everything wey you need to complete di course fast.
>
> **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"
> ```
>
> Dis one go give you everything you need to finish di course quick-quick.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Join Our Community
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
We get one Discord learn wit AI series wey never stop, learn more and join us for [Learn with AI Series](https://aka.ms/learnwithai/discord) from 18 - 30 September, 2025. You go fit get tips and tricks on how to use GitHub Copilot for Data Science.
We get one Discord "learn with AI" series wey dey go on, learn more and join us for [Learn with AI Series](https://aka.ms/learnwithai/discord) from 18 - 30 September, 2025. You go fit collect tips and now-how for how to use GitHub Copilot for Data Science.
![Learn with AI series](../../translated_images/pcm/3.9b58fd8d6c373c20.webp)
# Machine Learning for Beginners - A Curriculum
> 🌍 Travel around di world as we dey explore Machine Learning through world cultures 🌍
> 🌍 Make we waka all around di world as we dey explore Machine Learning through different world cultures 🌍
Cloud Advocates for Microsoft happy to offer 12-week, 26-lesson curriculum wey dey all about **Machine Learning**. Inside dis curriculum, you go learn wetin dem dey call **classic machine learning**, mainly using Scikit-learn as library and no go enter deep learning wey dey inside our [AI for Beginners' curriculum](https://aka.ms/ai4beginners). You fit also pair dis lessons with our ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners).
Cloud Advocates for Microsoft dey happy to offer one 12-week, 26-lesson curriculum wey dey all about **Machine Learning**. For this curriculum, you go learn about wetin dem dey call sometimes **classic machine learning**, we go mainly use Scikit-learn as library and avoid deep learning, wey dem cover for our [AI for Beginners' curriculum](https://aka.ms/ai4beginners). Combine this lessons with our ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners), too!
Travel with us around di world as we apply di classic techniques to data from many parts of di world. Every lesson get pre- and post-lesson quizzes, written instructions to complete di lesson, solution, assignment, and more. Our project-based methodology allow you to learn as you dey build, na better way for new skills to stick.
Make you waka with us round di world as we take these classic techniques apply to data from plenty areas for di world. Every lesson get pre- and post-lesson quizzes, written instructions to finish the lesson, solution, assignment, and plenty more. Our project-based way to teach dey help you learn as you build, na better way to make new skills dey stay for your head.
**✍️ Big thanks to our authors** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu and Amy Boyd
**✍️ Big tori and thanks to our authors** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu and Amy Boyd
**🎨 Thanks also go to our illustrators** Tomomi Imura, Dasani Madipalli, and Jen Looper
**🎨 Thanks again to our illustrators** Tomomi Imura, Dasani Madipalli, and Jen Looper
**🙏 Special thanks 🙏 to our Microsoft Student Ambassador authors, reviewers, and content contributors**, especially Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, and Snigdha Agarwal
**🤩 Extra gratitude to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for our R lessons!**
**🤩 Extra big thanks to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for our R lessons!**
# Getting Started
# How to Start
Follow dis steps:
1. **Fork the Repository**: Click di "Fork" button for di top-right corner of dis page.
Follow these steps:
1. **Fork the Repository**: Click the "Fork" button wey dey for di top-right corner of this page.
2. **Clone the Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [Find all di extra resources for dis course inside our Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [You go find all other materials for dis course for our Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Need help?** Check our [Troubleshooting Guide](TROUBLESHOOTING.md) for solutions to common problems with installation, setup, and running lessons.
> 🔧 **You need help?** Check our [Troubleshooting Guide](TROUBLESHOOTING.md) for solutions to common wahala with installation, setup, and to run lessons.
**[Students](https://aka.ms/student-page)**, to use dis curriculum, fork di full repo to your own GitHub account and complete di exercises by yourself or wit group:
**[Students](https://aka.ms/student-page)**, to use this curriculum, fork the whole repo to your own GitHub account and do the exercises your own or with group:
- Start wit pre-lecture quiz.
- Read di lecture and complete di activities, pause and think for every knowledge check.
- Try make you create di projects by understanding di lessons well instead of just running di solution code; but if you want, dat code dey available inside di `/solution` folders for each project-oriented lesson.
- Start with pre-lecture quiz.
- Read di lecture and complete di activities, stop sometimes and reflect at every knowledge check.
- Try make you create the projects by understanding di lessons rather than just running di solution code; but dat code dey available for the `/solution` folders for each project-based lesson.
- Take di post-lecture quiz.
- Complete di challenge.
- Complete di assignment.
- After you don finish one lesson group, go visit di [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions), and "learn out loud" by filling di correct PAT rubric. PAT na Progress Assessment Tool, na rubric wey you fill to help your learning grow. You fit also respond to other PATs so we all fit learn together.
- Finish di challenge.
- Finish di assignment.
- After you don finish one lesson group, go visit di [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) and "learn out loud" by filling out di correct PAT rubric. PAT na Progress Assessment Tool wey be rubric wey you go fill to help your learning. You fit react to other PATs so we fit learn together.
> For more study, we recommend you follow these [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modules and learning paths.
> For more study, we recommend sey you follow these [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modules and learning paths.
**Teachers**, we don [include some suggestions](for-teachers.md) on how to use dis curriculum.
**Teachers**, we don put [some suggestions](for-teachers.md) on top how to use this curriculum.
---
## Video walkthroughs
Some lessons get short video form. You fit find all dese inside di lessons or for di [ML for Beginners playlist on the Microsoft Developer YouTube channel](https://aka.ms/ml-beginners-videos) by clicking di image below.
Some lessons dey available as short form video. You fit find all of them inline for di lessons, or for di [ML for Beginners playlist on di Microsoft Developer YouTube channel](https://aka.ms/ml-beginners-videos) by clicking the image below.
[![ML for beginners banner](../../translated_images/pcm/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -92,23 +101,23 @@ Some lessons get short video form. You fit find all dese inside di lessons or fo
**Gif by** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Click di picture wey dey above for video about di project and di people wey create am!
> 🎥 Click di picture above for video about di project and di people wey create am!
---
## Pedagogy
We choose two teaching principles as we build dis curriculum: to make am hands-on **project-based** and get **frequent quizzes** inside. Plus, dis curriculum get one common **theme** to make am balanced.
We choose two main tinz wey we go dey follow while making this curriculum: make e hands-on **project-based** and make e get **frequent quizzes**. Plus, dis curriculum get one common **theme** to make e get connection.
By making sure say content match projects, e go make learning more interesting for students and e go help concepts stay for head well. Plus, low-stakes quiz before class dey help student focus to learn di topic, and another quiz after class go help keep di memory strong. Dis curriculum dey flexible and fun, and you fit take am whole or part. Projects start small and get more complex as di 12-week cycle dey end. Dis curriculum even get one postscript about real-world ways di ML fit take, for extra credit or discussion base.
By making sure sey di content match with projects, di process go be more interesting for students and e go help dem remember better. Plus, one low-stakes quiz before class dey set di student mind to learn topic, and the second quiz after class dey make dem remember more. This curriculum na flexible and fun, you fit do am complete or part-part. The projects start small and dem dey get more complex as di 12 weeks dey reach end. This curriculum also get one postscript about real-world ways to use ML, wey fit be extra credit or foundation for discussion.
> Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translation](TRANSLATIONS.md), and [Troubleshooting](TROUBLESHOOTING.md) guidelines. We dey always welcome your constructive feedback!
> Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translation](TRANSLATIONS.md), and [Troubleshooting](TROUBLESHOOTING.md) guidelines. We dey happy to hear your constructive feedback!
## Each lesson get
## Every lesson get
- optional sketchnote
- optional supplemental video
- video walkthrough (some lessons only)
- optional additional video
- video walkthrough (only some lessons get am)
- [pre-lecture warmup quiz](https://ff-quizzes.netlify.app/en/ml/)
- written lesson
- for project-based lessons, step-by-step guides on how to build the project
@ -117,49 +126,49 @@ By making sure say content match projects, e go make learning more interesting f
- supplemental reading
- assignment
- [post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
> **One note about languages**: These lessons mainly dem write for Python, but plenti sef dey available for R. To finish one R lesson, go the `/solution` folder and find R lessons. Dem get .rmd extension wey mean **R Markdown** file wey fit be simply talk say na di joining of `code chunks` (we fit get for R or other languages) and one `YAML header` (wey dey guide how outputs like PDF go be formatted) for one `Markdown document`. So e be like example authoring framework for data science because e go allow you put your code, di output, and your thoughts together by allowing you write am for Markdown. Plus, R Markdown documents fit get rendered to output formats like PDF, HTML, or Word.
> **Note about languages**: Most lessons dey for Python, but plenty still dey for R too. To finish one R lesson, waka go `/solution` folder and find R lessons. Dem get .rmd extension wey mean **R Markdown** file, wey be embedding of `code chunks` (fit be R or other languages) and `YAML header` (wey show how to format outputs like PDF) for one `Markdown document`. So, e be one correct way make you combine your code, wetin e produce, and your thoughts, by writing all down for Markdown. Plus, R Markdown documents fit convert to output formats like PDF, HTML, or Word.
> **One tok bout quizzes**: All quizzes dey inside [Quiz App folder](../../quiz-app), get 52 quizzes for three questions each. Dem link from inside di lessons but you fit run di quiz app for your own machine; follow di instruction wey dey inside di `quiz-app` folder make you fit host am local or deploy am for Azure.
> **One note about quizzes**: All di quizzes dey for [Quiz App folder](../../quiz-app), get 52 quizzes wey get three questions each. Dem link dem from inside di lessons but you fit run di quiz app local; just follow di instruction wey dey di `quiz-app` folder to run or deploy am to Azure.
| Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Introduction to machine learning | [Introduction](1-Introduction/README.md) | Learn di basic tins wey dey back machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | The History of machine learning | [Introduction](1-Introduction/README.md) | Learn di history wey dey back dis kain field | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | Fairness and machine learning | [Introduction](1-Introduction/README.md) | Wetin be di important philosophical tins about fairness wey students suppose consider wen dem dey build and use ML models? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniques for machine learning | [Introduction](1-Introduction/README.md) | Wetin kain techniques ML researchers dey use make dem build ML models? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | Introduction to regression | [Regression](2-Regression/README.md) | Start to use Python and Scikit-learn for regression models | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Make diagram and clean data before ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 01 | Introduction to machine learning | [Introduction](1-Introduction/README.md) | Learn the basic concepts behind machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | The History of machine learning | [Introduction](1-Introduction/README.md) | Learn the history underlying this field | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | Fairness and machine learning | [Introduction](1-Introduction/README.md) | Wetin be di important philosophical issues about fairness wey students suppose consider when dem dey build and use ML models? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniques for machine learning | [Introduction](1-Introduction/README.md) | Which techniques ML researchers dey use to build ML models? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | Introduction to regression | [Regression](2-Regression/README.md) | Start to waka for Python and Scikit-learn for regression models | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Visualize and clean data to prepare for ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build linear and 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 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build logistic regression model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | A Web App 🔌 | [Web App](3-Web-App/README.md) | Build web app wey go use your trained model | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Introduction to classification | [Classification](4-Classification/README.md) | Clean, prepare, and make diagram of your data; introduction to classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 08 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build one logistic regression model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | A Web App 🔌 | [Web App](3-Web-App/README.md) | Build web app to use your trained model | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Introduction to classification | [Classification](4-Classification/README.md) | Clean, prepare, and visualize your data; introduction to classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Introduction to classifiers | [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 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | More classifiers | [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 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Build recommender web app wit your model | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Introduction to clustering | [Clustering](5-Clustering/README.md) | Clean, prepare, and draw diagram for your data; Introduction to clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](5-Clustering/README.md) | Explore di 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 | Introduction to natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Learn basics about NLP by building simple bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Common NLP Tasks ☕️ | [Natural language processing](6-NLP/README.md) | Deep your NLP knowledge by understanding common tasks wey dem need sometimes for language structures | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Build recommender web app using your model | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Introduction to clustering | [Clustering](5-Clustering/README.md) | Clean, prepare, and visualize your data; Introduction to clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](5-Clustering/README.md) | Learn about 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 | Introduction to natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Learn di small-small basics about NLP by building one simple bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Common NLP Tasks ☕️ | [Natural language processing](6-NLP/README.md) | Sharpen your NLP knowledge by understanding common tasks to do when you dey reason language structures | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Introduction to time series forecasting | [Time series](7-TimeSeries/README.md) | Introduction to time series forecasting | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting with ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ World Power Usage ⚡️ - time series forecasting with SVR | [Time series](7-TimeSeries/README.md) | Time series forecasting wit Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 23 | ⚡️ World Power Usage ⚡️ - time series forecasting with SVR | [Time series](7-TimeSeries/README.md) | Time series forecasting with Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Introduction to reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Real-World ML scenarios and applications | [ML in the Wild](9-Real-World/README.md) | Interesting and true true real-world applications of classical ML | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Real-World ML scenarios and applications | [ML in the Wild](9-Real-World/README.md) | Interesting real-world applications of classical ML | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Model Debugging in ML using RAI dashboard | [ML in the Wild](9-Real-World/README.md) | Model Debugging in Machine Learning using Responsible AI dashboard components | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [find all additional resources for this course in our Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Offline access
You fit run dis documentation offline by using [Docsify](https://docsify.js.org/#/). Fork dis repo, [install Docsify](https://docsify.js.org/#/quickstart) for your own machine, then for di root folder of dis repo, type `docsify serve`. Di website go dey for port 3000 for your localhost: `localhost:3000`.
You fit run this documentation offline using [Docsify](https://docsify.js.org/#/). Fork this repo, [install Docsify](https://docsify.js.org/#/quickstart) for your local machine, then for di root folder of this repo, type `docsify serve`. Di website go dey serve for port 3000 for your localhost: `localhost:3000`.
## PDFs
Find pdf of di curriculum with links [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
Find pdf version of di curriculum with links [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Other Courses
@ -208,17 +217,22 @@ Our team dey produce other courses! Check am out:
## Getting Help
If you dey jam problem or get question about how to build AI apps. Join other learners and beta developers dem for talks about MCP. Na supportive community wey questions dey welcome and knowledge dey share freely.
If you get stuck or get any question about how to build AI apps. Join other learners and experience developers for talk about MCP. Na supportive community wey dey open for questions and knowledge dey share freely.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
If you get product feedback or errors while you dey build visit:
If you get product feedback or errors while you dey build, visit:
[![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)
## Additional Learning Tips
- Check your notebooks after every lesson to understand better.
- Try dey practice to implement algorithms by yourself.
- Explore real-world datasets using the things wey you learn.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis document dem translate am wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg sabi say automated translation fit get some errors or wahala. Di original document wey dey dia for e own language na im be di main correct source. If na serious matter, better make person wey sabi language translate am. We no go take any blame if person no understand or misunderstand tins because of dis translation.
Dis document na AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator) translate am. Even though we try make am correct, abeg sabi say automated translation fit get wahala or mistakes. The original document for the original language be di correct source. If na important thing, e better make professional human translation do am. We no go responsible if person waka misunderstand or use dis translation wrong.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "ta"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-10-11T11:27:17+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T11:10:19+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "ta"
},
@ -90,8 +90,8 @@
"language_code": "ta"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-10-11T11:44:57+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T11:11:40+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "ta"
},
@ -186,8 +186,8 @@
"language_code": "ta"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-10-11T11:56:25+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T11:12:09+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "ta"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "ta"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T11:08:03+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "ta"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-10-11T11:57:16+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "ta"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T11:08:10+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "ta"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-10-11T11:57:24+00:00",
@ -540,8 +552,8 @@
"language_code": "ta"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T09:22:05+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T11:10:11+00:00",
"source_file": "README.md",
"language_code": "ta"
},

@ -1,16 +1,18 @@
# பொறுப்பான AI Toolbox ஐ ஆராயுங்கள
# பொறுப்பான AI கருவிப் பெட்டகத்தை ஆய்வு செய்யவும
## வழிமுறைகள்
## निर्देशங்கள்
இந்த பாடத்தில், "AI அமைப்புகளை பகுப்பாய்வு செய்து மேம்படுத்த உதவும் திறன் கொண்ட, திறந்த மூல, சமூகத்தால் இயக்கப்படும் திட்டம்" எனக் கூறப்படும் பொறுப்பான AI Toolbox பற்றி நீங்கள் கற்றுக்கொண்டீர்கள். இந்த பணிக்கான செயல்பாட்டில், RAI Toolbox இன் [குறிப்பேடுகளில்](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) ஒன்றை ஆராய்ந்து, உங்கள் கண்டுபிடிப்புகளை ஒரு கட்டுரை அல்லது பிரசன்டேஷனில் அறிக்கையிடுங்கள்.
இந்த பாடத்தில் நீங்கள் பொறுப்பான AI கருவிப் பெட்டகம் பற்றி கற்றுக்கொண்டீர்கள், இது "தரவு விஞ்ஞானிகளை AI அமைப்புகளை பகுப்பாய்வு செய்து மேம்படுத்த உதவும் திறந்த மூல, சமூக இயக்கமான திட்டம்" ஆகும். இந்த பணிக்கானதிற்கு, RAI கருவிப் பெட்டகத்தின் [நோட்புக்களுள் ஒன்றைப்](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) பரிசீலித்து, உங்கள் கண்டறிதல்களை ஒரு கட்டுரை அல்லது இடுகையில் அறிக்கை அளிக்கவும்.
## மதிப்பீட்டு அளவுகோல
## மதிப்பீடு பழக்கம
| அளவுகோல் | சிறந்தது | போதுமானது | மேம்பாடு தேவை |
| அளவுருக்கள் | சிறந்தது | போதுமானது | மேம்பாடு தேவை |
| -------- | --------- | -------- | ----------------- |
| | Fairlearn அமைப்புகள், இயக்கப்பட்ட குறிப்பேடு, மற்றும் அதிலிருந்து பெறப்பட்ட முடிவுகளை விவரிக்கும் ஒரு கட்டுரை அல்லது பவர் பாயிண்ட் பிரசன்டேஷன் வழங்கப்பட்டுள்ளது | முடிவுகள் இல்லாமல் ஒரு கட்டுரை வழங்கப்பட்டுள்ளது | எந்த கட்டுரையும் வழங்கப்படவில்லை |
| | Fairlearn அமைப்புகள், இயக்கப்பட்ட நோட்புக் மற்றும் அதனை இயக்கியதன் முடிவுகள் குறித்து விவாதிப்பதால் ஒரு கட்டுரை அல்லது பவர்பாயிண்ட் சமர்ப்பிக்கப்படுகிறது | முடிவின்றி ஒரு கட்டுரை சமர்ப்பிக்கப்படுகிறது | எதுவும் சமர்ப்பிக்கப்படவில்லை |
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**குறிப்பு**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையை பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கிறோம், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.
இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) மூலம் மொழிபெயர்க்கப்பட்டது. துல்லியத்திற்காக முயற்றினாலும், தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது துல்லியக்கூறுகளிருக்கும் வாய்ப்பு உள்ளது என்பதை கவனத்தில் கொள்ளவும். மூல ஆவணம் அதன் தாய்மொழியில் அதிகாரப்பூர்வமான வலைப்புள்ளியாக கருதப்பட வேண்டும். முக்கிய தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்புக் கலைஞரின் உதவியைப் பெற பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பின் பயன்படுத்துதலால் உண்டாகும் எந்த புரிதல் தவறுகள் அல்லது தவறான விளக்கங்கள் பற்றியனால் நாங்கள் பொறுப்பேற்கவில்லை.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Scikit-learn பயன்படுத்தி ஒரு ரிக்ரஷன் மாடல் உருவாக்குதல்: நான்கு விதமான ரிக்ரஷன்
# Scikit-learnஐப் பயன்படுத்தி ஒரு ரிகிரெஷன் மாதிரியை கட்டியெழுது: நான்கு விதமான ரிகிரெஷன்
![நேரியல் மற்றும் பாலினோமியல் ரிக்ரஷன் தகவல் வரைபடம்](../../../../translated_images/ta/linear-polynomial.5523c7cb6576ccab.webp)
> தகவல் வரைபடம்: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [முன்-வகுப்பு வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
## ஆரம்ப நிலை குறிப்பு
> ### [இந்த பாடம் R-இல் கிடைக்கிறது!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
நேரியல் ரிகிரெஷன் **எண்ணிக்கையான மதிப்பை** (உதாரணமாக, வீட்டு விலை, வெப்பநிலை, அல்லது விற்பனை) கணிக்க பயன்படுத்தப்படுகிறது.
இது உள்ளீட்டு அம்சங்களுக்கும் வெளிப்பாட்டிற்குமான உறவைக் சிறந்த முறையிலான நேரியல் கோட்டைக் கண்டறிந்து செயல்படுகிறது.
இந்த பாடத்தில், மேம்பட்ட ரிகிரெஷன் நுட்பங்களை ஆராய்வதற்கு முன் கருத்தை புரிந்து கொள்ளவே நாம் கவனம் செலுத்துகிறோம்.
![நேரியல் மற்றும் பன்முக ரிகிரெஷன் தகவல்நூல்](../../../../translated_images/ta/linear-polynomial.5523c7cb6576ccab.webp)
> தகவல்நூல் தயாரிப்பு: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [முன்-பாடக் குறுஸ்வட்டு](https://ff-quizzes.netlify.app/en/ml/)
> ### [இந்த பாடம் R மொழியில் கிடைக்கிறது!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### அறிமுகம்
இ bisher நீங்கள் ரிக்ரஷன் என்ன என்பதை கற்றுக்கொண்டீர்கள், மற்றும் இந்த பாடத்தில் பயன்படுத்தப்படும் கம்பளி விலை தரவுத்தொகுப்பிலிருந்து எடுத்த மாதிரி தரவுடன் அதை ஆராய்ந்தீர்கள். மேலும், அதை Matplotlib பயன்படுத்தி காட்சிப்படுத்தியுள்ளீர்கள்.
இதுவரை நீங்கள் ரிகிரெஷன் என்றது என்னவென்று பம்ப்கின் விலைமதிப்புக்கான மாதிரித் தரவுகளைப் பயன்படுத்தி ஆராய்ந்துள்ளீர்கள். இதை Matplotlib கொண்டு காட்சிப்படுத்தியுள்ளீர்கள்.
இப்போது நீங்கள் இயந்திர கற்றல் ரிகிரெஷனில் மேலும் ஆழமாக செல்வதற்கு தயார். காட்சிப்படுத்தல் தரவைப் புரிந்துகொள்ள உதவுவதாக இருந்தால், இயந்திரக் கற்றலின் உண்மையான சக்தி _மாதிரிகளை பயிற்றுவிப்பதில்_ உள்ளது. மாதிரிகள் பழைய தரவுகளிலும் இருந்து தானாக தரவு சார்புகளைக் கொண்டிருப்பதைக் கற்றுக்கொள்கின்றன, மேலும் புதிய தரவுகளுக்கான முடிவுகளை முன்கூட்டியே கணிக்க உதவுகின்றன, அவை மாதிரியில் முன்னரே காணப்படாதவை.
இந்தப் பாடத்தில், இரண்டு வகை ரிகிரெஷன்களை வலியுறுத்தி கற்றுக்கொள்வீர்கள்: _அடிப்படை நேரியல் ரிகிரெஷன்_ மற்றும் _பன்முக ரிகிரெஷன்_, மற்றும் அவற்றுக்கு அடிப்படை கணித ரீதியையும். இவற்றின் மூலம் நான்கு விதமான உள்ளீட்டு தரவுகளுக்கு ஏற்ப பம்ப்கின் விலை கணிக்க முடியும்.
[![ML ஆரம்பகாலத்துக்கான - நேரியல் ரிகிரெஷன் புரிதல்](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
இப்போது நீங்கள் எம்.எல். ரிக்ரஷனை மேலும் ஆழமாக ஆராய தயாராக உள்ளீர்கள். காட்சிப்படுத்தல் தரவின் அர்த்தத்தை புரிந்துகொள்ள உதவுகிறது, ஆனால் இயந்திர கற்றலின் உண்மையான சக்தி _மாடல்களை பயிற்சி செய்வதில்_ உள்ளது. மாடல்கள் வரலாற்று தரவின் அடிப்படையில் பயிற்சி பெறுகின்றன, தரவின் சார்புகளை தானாகவே பிடிக்கின்றன, மேலும் மாடல் முன்பே பார்த்திராத புதிய தரவுக்கான முடிவுகளை கணிக்க அனுமதிக்கின்றன.
> 🎥 மேலே உள்ள படத்தை அழுத்தி நேரியல் ரிகிரெஷனின் சுருக்கமான காணொளி காட்சியூடாக பாருங்கள்.
இந்த பாடத்தில், நீங்கள் இரண்டு வகையான ரிக்ரஷனைப் பற்றி மேலும் கற்றுக்கொள்வீர்கள்: _அடிப்படை நேரியல் ரிக்ரஷன்_ மற்றும் _பாலினோமியல் ரிக்ரஷன்_, மற்றும் இந்த நுட்பங்களின் அடிப்படையில் உள்ள சில கணிதங்களை. இந்த மாடல்கள் வெவ்வேறு உள்ளீட்டு தரவுகளின் அடிப்படையில் கம்பளி விலைகளை கணிக்க உதவும்.
> இந்த பாடத்திட்டத்தில், கணித அறிவு குறைந்தவர்களுக்காகவும், பிற துறைகள் வந்த மாணவர்களுக்காகவும் இதை எளிமையாகக் கற்பதாக வைத்திருக்கிறோம், எனவே குறிப்பு, 🧮 கணிதக் குறிப்புகள், வரைபடங்கள் மற்றும் பிற கற்றல் கருவிகள் காணும்.
[![தொடக்க நிலை எம்.எல். - நேரியல் ரிக்ரஷனைப் புரிந்துகொள்வது](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "தொடக்க நிலை எம்.எல். - நேரியல் ரிக்ரஷனைப் புரிந்துகொள்வது")
### முன்னோடியான அறிவு
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து நேரியல் ரிக்ரஷனின் சுருக்கமான வீடியோ கண்ணோட்டத்தைப் பாருங்கள்.
நாம் ஆய்வு செய்யும் பம்ப்கின் தரவுத் தொகுப்பின் அமைப்பை நீங்கள் தற்போது அறிவீர்கள். இந்தப் பாடத்தின் _notebook.ipynb_ கோப்பில் அது முன்பே ஏற்றப்பட்டு சுத்தப்படுத்தப்பட்டிருக்கும். கோப்பில் பம்ப்கின் விலை ஒரு புஷலில் காட்டப்பட்டுள்ளது. Visual Studio Code இன் கர்னெல்கள் மூலம் இந்த நோட்புக் கோப்புகளை இயக்கக் கூடியதா என உறுதி செய்யுங்கள்.
> இந்த பாடத்திட்டத்தின் முழுவதும், கணிதத்தில் குறைந்த அறிவை நாம் கருதுகிறோம், மற்றும் பிற துறைகளிலிருந்து வரும் மாணவர்களுக்கு அதை அணுகக்கூடியதாக மாற்ற முயற்சிக்கிறோம். குறிப்புகள், 🧮 அழைப்புகள், வரைபடங்கள் மற்றும் புரிதலுக்கு உதவும் பிற கற்றல் கருவிகளை கவனிக்கவும்.
### முன்னமைப்பு
### முன்-தயாரிப்பு
நாம் இந்த தரவை ஏற்றுகிறோம் என்பது அதனைப் பற்றிய கேள்விகளை கேட்கவும்.
இப்போது நீங்கள் கம்பளி தரவின் அமைப்புடன் பரிச்சயமாக இருக்க வேண்டும். இந்த பாடத்தின் _notebook.ipynb_ கோப்பில் இது முன்பே ஏற்றப்பட்டு சுத்தம் செய்யப்பட்டு கிடைக்கிறது. இந்த கோப்பில், கம்பளி விலை ஒரு புதிய தரவுப் பிரேமில் புஷெல் ஒன்றுக்கு காட்டப்படுகிறது. Visual Studio Code-இல் கர்னல்களில் இந்த நோட்புக்குகளை இயக்க முடியும் என்பதை உறுதிப்படுத்தவும்.
- பம்ப்கின்களை வாங்க சிறந்த நேரம் எப்போது?
- சிறிய பம்ப்கின் பொதுத்தொகைப்பெட்டிக்கு நான் எதிர்பார்க்கும் விலை என்ன?
- அதனை அரை-புஷல் கூடை அல்லது 1 1/9 புஷல் பெட்டியில் வாங்குவது நல்லதா?
நாம் இந்த தரவைக் கொண்டு மேலும் ஆழமாக ஆராய்ந்து போகலாம்.
### தயாரிப்பு
முந்தைய பாடத்தில், நீங்கள் Pandas தரவு தொகுப்பை உருவாக்கி, அசல் தரவு தொகுப்பில் இருந்து விலை மாதிரியை புஷலுக்கு சீராக்கி நிரப்பினீர்கள். ஆனால் அதனால் சுமார் 400 தரவுப் புள்ளிகளுக்கு மட்டுமே நெருங்கியதாகவும், வெறும் விழா மாதங்களுக்கு மட்டுமே இருந்தது.
நினைவூட்டலுக்காக, நீங்கள் இந்த தரவுகளை ஏற்றுவதன் மூலம் அதில் கேள்விகளை கேட்க முடியும்.
இந்த பாடத்துடனான நோட்புக் பக்கத்தில் முன்பே ஏற்றப்பட்ட தரவைப் பாருங்க. தரவு ஏற்றப்பட்டு, ஆரம்பப் புள்ளிவிவர வரைபடம் மாத நிவாரணத்தைக் காட்டுகிறது. நாம் இன்னும் சிறிது சுத்தம் செய்யலாம் என நினைக்கலாம்.
- கம்பளிகளை வாங்க சிறந்த நேரம் எது?
- சிறிய கம்பளிகளின் ஒரு கேஸின் விலையை நான் எதிர்பார்க்க முடியுமா?
- நான் அவற்றை அரை புஷெல் கூளங்களில் வாங்க வேண்டுமா அல்லது 1 1/9 புஷெல் பெட்டியில் வாங்க வேண்டுமா?
இந்த தரவுகளை மேலும் ஆராய்வோம்.
## ஒரு நேரியல் ரிகிரெஷன் கோடு
முந்தைய பாடத்தில், நீங்கள் ஒரு Pandas தரவுப் பிரேமை உருவாக்கி, அசல் தரவுத்தொகுப்பின் ஒரு பகுதியை அதில் நிரப்பி, புஷெல் மூலம் விலையை நிலைப்படுத்தினீர்கள். ஆனால், அதைச் செய்வதன் மூலம், நீங்கள் சுமார் 400 தரவுப் புள்ளிகளை மட்டுமே சேகரிக்க முடிந்தது, மேலும் அவை விழுந்து காலங்களில் மட்டுமே இருந்தன.
பாடம் 1ல் கற்றுக்கொண்டபடி, நேரியல் ரிகிரெஷனின் நோக்கம் ஒரு கோட்டை வரைபடமாக பதிவது:
இந்த பாடத்துடன் இணைக்கப்பட்ட நோட்புக்கில் முன்பே ஏற்றப்பட்ட தரவைக் கவனிக்கவும். தரவுகள் முன்பே ஏற்றப்பட்டு, ஆரம்ப ஸ்காட்டர்ப்ளாட் மாத்திரம் வரைபடமாக்கப்பட்டுள்ளது. மாதத் தரவைக் காட்டுகிறது. தரவின் இயல்பைப் பற்றி மேலும் விவரங்களைப் பெற சுத்தம் செய்ய முயற்சிக்கலாம்.
- **மாறிலிகள் இடையிலான உறவை காட்டுவது**: மாறிலிகள் இடையிலான உறவை காட்ட
- **பயனுள்ள கணிப்புகளை செய்வது**: புதிய தரவுப் புள்ளி அந்த கோட்டுக்கு எங்கு தாக்கும் என்பதில் சரியான கணிப்புகளை செய்வது.
## ஒரு நேரியல் ரிக்ரஷன் கோடு
**குறைந்த-சதுரங்கள் ரிகிரெஷன்** (Least-Squares Regression) இந்த வித கோட்டை வரைவதில் பொதுவாகப் பயன்படுத்தப்படுகிறது. "குறைந்த-சதுரங்கள்" என்றால் மாதிரியில் மும்முரணத்தைக் குறைக்க முயற்சிப்பது. ஒவ்வொரு தரவுபுள்ளிக்கும் உண்மையான புள்ளி மற்றும் ரிகிரெஷன் கோட்டுக்கு இடையே நின்ற சரியான பார்க்கப்பட்ட தொலைவு (residual) மதிப்பை அளக்கின்றோம்.
Lesson 1-இல் நீங்கள் கற்றுக்கொண்டது போல, ஒரு நேரியல் ரிக்ரஷன் பயிற்சியின் நோக்கம் ஒரு கோட்டை வரைபடமாக்குவதில் உள்ளது:
இந்த தொலைவுகளை நாம் சதுரமாக்குகிறோம் இரண்டு முக்கிய காரணங்களுக்காக:
- **மாறிலி உறவுகளை காட்டுதல்**. மாறிலிகளுக்கிடையேயான உறவுகளை காட்டுதல்
- **கணிப்புகளைச் செய்யுதல்**. புதிய தரவுப் புள்ளி அந்த கோட்டுடன் தொடர்புடைய இடத்தில் எங்கு இருக்கும் என்பதை துல்லியமாக கணிக்குதல்.
1. **திசை மதிப்பு பொருட்டல்லாமல் அளவு முக்கியம்:** -5 என்ற தவறு +5 என்ற தவறுக்கு சமமாக கருத வேண்டும். சதுரம் எவ்வளவு இருந்தாலும் கொண்டு வரும்.
இது **குறைந்த-சதுர ரிக்ரஷன்** மூலம் இந்த வகையான கோட்டை வரைபடமாக்குவது வழக்கமாகும். 'குறைந்த-சதுரங்கள்' என்ற சொல், ரிக்ரஷன் கோட்டின் சுற்றியுள்ள அனைத்து தரவுப் புள்ளிகளும் சதுரமாக்கப்பட்டு பின்னர் சேர்க்கப்படுகின்றன என்பதை குறிக்கிறது. இறுதியில், அந்த மொத்த தொகை மிகச் சிறியதாக இருக்க வேண்டும், ஏனெனில் நாம் குறைந்த பிழைகள், அல்லது `குறைந்த-சதுரங்கள்` வேண்டும்.
2. **விலகல் மதிப்புள்ளவைகளை தண்டித்தல்:** பெரிய பிழைகளை அதிகமாக எடுக்கும், இது கோட்டை அப்பொழுது விலகிய புள்ளிகளுக்குக் கூட அருகிலும் வைக்க முயல்கிறது.
நாம் தரவுப் புள்ளிகளின் மொத்த தூரம் குறைவாக இருக்க வேண்டும் என்பதற்காக இதைச் செய்கிறோம். மேலும், அதன் திசையை விட அதன் அளவைக் கவனிக்கிறோம் என்பதற்காக நிபந்தனைகளை சதுரமாக்கி பின்னர் சேர்க்கிறோம்.
இத்தகைய சதுர மதிப்புகளை நாம் அனைவரையும் சேர்க்கிறோம். அந்த கூட்டு சிறிய மதிப்பு வரை இருக்கும் வகையில் கோட்டை கண்டறியும் முயற்சி செய்கிறோம்; அதுவே "குறைந்த-சதுரங்கள்" என்று அழைக்கப்படுகிறது.
> **🧮 கணிதத்தை காட்டுங்கள்**
> **🧮 கணிதத்தைப் பார்ப்போம்**
>
> இந்த கோடு, _சிறந்த பொருத்தம் கொண்ட கோடு_ [ஒரு சமன்பாட்டால்](https://en.wikipedia.org/wiki/Simple_linear_regression) வெளிப்படுத்தப்படலாம்:
> இந்த கோட்டை, _சிறந்த பொருத்தக் கோடு_ எனப்படும், [இடைவெளி ரீதியியலில் காணப்படும் சமன்பாட்டின்](https://en.wikipedia.org/wiki/Simple_linear_regression) மூலம் எழுதப்படுகிறது:
>
> ```
> Y = a + bX
> ```
>
> `X` என்பது 'விளக்க மாறிலி'. `Y` என்பது 'சார்ந்த மாறிலி'. கோட்டின் சாய்வு `b` மற்றும் `a` என்பது y-இன்டர்செப்ட், இது `X = 0` என்ற போது `Y` இன் மதிப்பை குறிக்கிறது.
> `X` என்பது 'விளக்கமாற்றி' (explanatory variable). `Y` என்பது 'மாறுபடி மாறி' (dependent variable). கோட்டின் சரிவு `b` ஆகும் மற்றும் `a` என்பது y-சந்திப்புச் நிலை, அதாவது `X = 0` என்ற போது `Y`'யின் மதிப்பு.
>
>![சாய்வை கணக்கிடுங்கள்](../../../../translated_images/ta/slope.f3c9d5910ddbfcf9.webp)
>![சரிவைக் கணக்கிடு](../../../../translated_images/ta/slope.f3c9d5910ddbfcf9.webp)
>
> முதலில், சாய்வு `b` ஐ கணக்கிடுங்கள். தகவல் வரைபடம்: [Jen Looper](https://twitter.com/jenlooper)
> முதலில், சரிவு `b` கணக்கிடவும். தகவல்நூல்: [Jen Looper](https://twitter.com/jenlooper)
>
> வேறு வார்த்தைகளில், மற்றும் கம்பளி தரவின் அசல் கேள்வியைப் பார்க்கும்போது: "மாதத்தின் அடிப்படையில் புஷெல் ஒன்றுக்கு கம்பளி விலையை கணிக்க", `X` விலையை குறிக்கிறது மற்றும் `Y` விற்பனை மாதத்தை குறிக்கிறது.
> வேறு சொற்களில், நமது பம்ப்கின் தரவின் அசல் கேள்விக்குத் திரும்பி பார்க்கும் போது: "ஒரு மாதத்தில் பம்ப்கின் விலையை புஷல் ஒன்றுக்கு கணிக்க செய்", `X` விலைபிரிவுக்கு, `Y` விற்பனை மாதத்துக்கு குறிக்கிறது.
>
>![சமன்பாட்டை முடிக்கவும்](../../../../translated_images/ta/calculation.a209813050a1ddb1.webp)
>![சமன்பாட்டைப் பூர்த்தி செய்](../../../../translated_images/ta/calculation.a209813050a1ddb1.webp)
>
> `Y`ன் மதிப்பை கணக்கிடுங்ள். நீங்கள் சுமார் $4 செலுத்துகிறீர்கள் எ்றால், அது ஏப்ரல் மாதம்! தகவல் வரைபடம்: [Jen Looper](https://twitter.com/jenlooper)
> Y-ன் மதிப்பை கணக்கிடுக. நீங்கள் சுமார் $4 செலுத்தினால், அது ஏப்ரல் மாதமாக இருக்கும்! தகவல்நூல்: [Jen Looper](https://twitter.com/jenlooper)
>
> கோட்டின் சாய்வை கணக்கிடும் கணிதம், இது இன்டர்செப்ட்டின் அடிப்படையிலும் சார்ந்தது, அல்லது `X = 0` என்ற போது `Y` எங்கு அமைந்துள்ளது என்பதை காட்ட வேண்டும்.
> கோட்டை கணக்கிடும் கணிதம் சரிவையும் சந்திப்பையும் வெளிப்படுத்த வேண்டும், அதாவது `X = 0` என்ற போது `Y` எங்கு வெளியாகிறது என்பதையும்.
>
> இந்த மதிப்புகளை கணக்கிடும் முறை [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) வலைத்தளத்தில் காணலாம். மேலும், [இந்த குறைந்த-சதுரங்கள் கணக்கிடும் கருவி](https://www.mathsisfun.com/data/least-squares-calculator.html) க்கு சென்று எண்களின் மதிப்புகள் கோட்டில் எப்படி பாதிக்கின்றன என்பதைப் பாருங்கள்.
> இந்த மதிப்புகளை அணுகும் முறையை [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) இணையதளத்திலாம் காணலாம். மேலும் [இந்த குறைந்த-சதுரங்கள் க்கணக்கி](https://www.mathsisfun.com/data/least-squares-calculator.html) மூலம் எண்கள் கோட்டுக்கு எப்படி சென்று சேர்வதைப் பார்க்கலாம்.
## தொடர்பு
## தொடர்பு_coef
மற்றொரு முக்கியமான சொல் **ொடர்ப குணகம்** என்பது கொடுக்கப்பட்ட X மற்றும் Y மாறிலிகளுக்கிடையே. ஒரு ஸ்காட்டர்ப்ளாட்டைப் பயன்படுத்தி, நீங்கள் இந்த குணகத்தை விரைவாக காட்சிப்படுத்தலாம். தரவுப் புள்ளிகள் ஒழுங்காக ஒரு கோட்டில் சிதறியுள்ள ஒரு வரைபடம் அதிக தொடர்பு கொண்டதாக இருக்கும், ஆனால் X மற்றும் Y இடையே தரவுப் புள்ளிகள் எங்கும் சிதறியுள்ள ஒரு வரைபடம் குறைந்த தொடர்பு கொண்டதாக இருக்கும்.
மற்றொரு புரிதல் முக்கியமானது என்பது கொடுக்கப்பட்ட X மற்றும் Y மாறிலிகளுக்கிடையேயான **தொடர்பு கூட்டி (Correlation Coefficient)**. ஸ்காட்டர்பிளாட்டைப் பயன்படுத்தி இம்மதிப்பை விரைவாக காணலாம். தரவுப் புள்ளிகள் நன்கு ஒரே கோட்டிலோ அண்டையில் இருந்தால் அதில் அதிக தொடர்பு இருக்கும், ஆனால் புள்ளிகள் எங்கு வேண்டுமானாலும் சாய்ந்து இருந்தால் குறைந்த தொடர்பு இருப்பதாகக் கணிக்கலாம்.
ஒரு நல்ல நேரியல் ரிக்ரஷன் மாடல், **குறைந்த-சதுர ரிக்ரஷன்** முறையைப் பயன்படுத்தி ஒரு ரிக்ரஷன் கோட்டுடன் 1 க்கு அருகிலுள்ள (0 க்கு அருகிலல்ல) தொடர்பு குணகத்தை கொண்டிருக்கும்.
நல்ல நேரியல் ரிகிரெஷன் மாதிரி என்பது குறைந்த-சதுரங்கள் முறையைப் பயன்படுத்தி, 1க்கு அண்மையில் (0க்கு அருகில் இல்லாமல்) ஒரு அதிக தொடர்பு கூற்றைக் கொண்டதே ஆகும்.
✅ இந்த பாடத்துடன் இணைக்கப்பட்ட நோட்புக்கை இயக்கி, மாதத்திற்கும் விலைக்கும் இடையேயான ஸ்காட்டர்ப்ளாட்டைப் பாருங்கள். கம்பளி விற்பனைக்கு மாதத்திற்கும் விலைக்கும் இடையேயான தரவுகள், உங்கள் கண்ணோட்டத்தின் அடிப்படையில் ஸ்காட்டர்ப்ளாட்டில் அதிக அல்லது குறைந்த தொடர்பு கொண்டதாக தோன்றுகிறதா? `மாதம்` என்பதற்குப் பதிலாக *ஆண்டின் நாள்* (அதாவது ஆண்டின் தொடக்கத்திலிருந்து நாட்களின் எண்ணிக்கை) போன்ற நுண்ணறிவு அளவீட்டை நீங்கள் பயன்படுத்தினால் அது மாறுமா?
✅ இந்த பாடத்துடனான நோட்புக் இயக்கி, மாதத்தையும் விலையையும் காட்டும் ஸ்காட்டர்பிளாட்டைப் பாருங்கள். பம்ப்கின் விற்பனைக்கான மாதத்திற்கும் விலை இடையேயான தொடர்பு அதிகமா அல்லது குறைவா தெரிகிறதா? *மாதம்* எனினும், *ஆண்டின் நாள்* போன்ற சிதறலான அளவீடைக் பயன்படுத்தினால் அது மாறுமா?
கீழே உள்ள குறியீட்டில், தரவுகளை சுத்தம் செய்துவிட்டு, `new_pumpkins` என்ற ஒரு தரவுப் பிரேமைப் பெற்றுள்ளோம் என்று கருதுவோம், இது பின்வருமாறு இருக்கும்:
பின்வரும் குறியீட்டில், தரவு சுத்தமாக்பட்டதும் `new_pumpkins` என்ற புதிய தரவுத்தொகுப்பை பெற்றுள்ளோம் என்று நாம் எடுத்துக்கொள்கிறோம்.
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
ID | மாதம் | ஆண்டின் நாள் | விதம் | நகரம் | தொகுப்பு | குறைந்த விலை | உயர்ந்த விலை | விலை
---|-------|-----------|---------|------|---------|-----------|------------|-------
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
70 | 9 | 267 | பை வகை | பால்டிமோர் | 1 1/9 புஷல் பெட்டிகள் | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | பை வகை | பால்டிமோர் | 1 1/9 புஷல் பெட்டிகள் | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | பை வகை | பால்டிமோர் | 1 1/9 புஷல் பெட்டிகள் | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | பை வகை | பால்டிமோர் | 1 1/9 புஷல் பெட்டிகள் | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | பை வகை | பால்டிமோர் | 1 1/9 புஷல் பெட்டிகள் | 15.0 | 15.0 | 13.636364
> தரவுகளை சுத்தம் செய்யும் குறியீடு [`notebook.ipynb`](notebook.ipynb) இல் கிடைக்கிறது. முந்தைய பாடத்தில் செய்த அதே சுத்தம் செய்யும் படிகளை நாம் மேற்கொண்டுள்ளோம், மேலும் `DayOfYear` பத்தியை பின்வரும் வெளிப்பாட்டைப் பயன்படுத்தி கணக்கிட்டுள்ளோம்:
> தரவை சுத்தப்படுத்தும் குறியீடு [`notebook.ipynb`](notebook.ipynb) கோப்பில் உள்ளது. நாம் முந்தைய பாடத்துடன் ஒரே சுத்தப்படுத்தும் செயல்முறைகளை செய்துள்ளோம். `DayOfYear` நெட்வொர்க்கை பின்வரும் அலையில் கணக்கிட்டுள்ளோம்:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
இப்போது நீங்கள் நேரியல் ரிக்ரஷனின் கணிதத்தைப் புரிந்துகொண்டுள்ளீர்கள், கம்பளி விலைகளுக்கான சிறந்த தொகுப்பை கணிக்க முடியும் என்றால், ஒரு ரிக்ரஷன் மாடலை உருவாக்குவோம். ஒரு விடுமுறை கம்பளி தோட்டத்திற்காக கம்பளிகளை வாங்கும் ஒருவர், தோட்டத்திற்கான கம்பளி தொகுப்புகளைப் பெற தன் வாங்குதலை மேம்படுத்த இந்த தகவலை விரும்பலாம்.
இப்போது நேரியல் ரிகிரெஷன் கணிதத்தை புரிந்துவிட்டதால், எந்த பம்ப்கின் தொகுப்பு சிறந்த விலைகளை தருமோ என்பதை கணிக்க ஒரு ரிகிரெஷன் மாதிரியை உருவாக்குவோம். பண்டிகை அருகில் பம்ப்கின் வாங்கும் ஒருவருக்கு இது அவர்களின் வாங்குதலை மேம்படுத்த உதவும்.
## தொடர்பு தேடுதல்
[![தொடக்க நிலை எம்.எல். - தொடர்பு தேடுதல்: நேரியல் ரிக்ரஷனுக்கான முக்கியம்](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "தொடக்க நிலை எம்.எல். - தொடர்பு தேடுதல்: நேரியல் ரிக்ரஷனுக்கான முக்கியம்")
[![ML ஆரம்ப நிலை - தொடர்பு தேடுதல்: நேரியல் ரிகிரெஷனின் மையம்](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")
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து தொடர்பின் சுருக்கமான வீடியோ கண்ணோட்டத்தைப் பாருங்கள்.
> 🎥 மேலே உள்ள படத்தை அழுத்தி தொடர்பின் சுருக்கமான காணொளி காட்சியூடாக பாருங்கள்.
முந்தைய பாடத்தில் நீங்கள் பார்த்திருப்பீர்கள், வெவ்வேறு மாதங்களுக்கான சராசரி விலை இவ்வாறு தோன்றுகிறது:
முந்தைய பாடத்தில் இருந்து நீங்கள் பார்த்திருப்பீர்கள் மாதங்களுக்கு ஏற்ப சராசரி விலை இப்படி இருக்கும்:
<img alt="மாதத்திற்கான சராசரி விலை" src="../../../../translated_images/ta/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="மாதப்படி சராசரி விலை" src="../../../../translated_images/ta/barchart.a833ea9194346d76.webp" width="50%"/>
இது தொடர்பு இருக்க வேண்டும் என்று பரிந்துரைக்கிறது, மேலும் `Month` மற்றும் `Price` அல்லது `DayOfYear` மற்றும் `Price` இடையேயான உறவுகளை கணிக்க ஒரு நேரியல் ரிக்ரஷன் மாடலை பயிற்சி செய்ய முயற்சிக்கலாம். இதோ பின்வரும் உறவைக் காட்டும் ஸ்காட்டர்ப்ளாட்:
இதிலிருந்து தொடர்பு இருக்க வேண்டும் என்று தோன்றுகிறது; ஆகவே `Month` மற்றும் `Price` இடையேயான அல்லது `DayOfYear` மற்றும் `Price` இடையேயான உறவை கணிக்க நேரியல் ரிகிரெஷன் மாதிரியை பயிற்றுவிக்கலாம். கீழுள்ள ஸ்காட்டர் பிளாட் அதனைக் காட்டுகிறது:
<img alt="Day of Year-க்கு எதிராக விலை ஸ்காட்டர்ப்ளாட்" src="../../../../translated_images/ta/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Day of Year மற்றும் Price இடையேயான ஸ்காட்டர் பிளாட்" src="../../../../translated_images/ta/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
`corr` செயல்பாட்டைப் பயன்படுத்தி தொடர்பு இருக்கிறதா என்பதைப் பார்ப்போம்:
`corr` செயல்பாட்டைப் பயன்படுத்தி தொடர்பு மதிப்பைப் பார்ப்போம்:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
து தொடர்பு மிகவும் குறைவாக உள்ளது என்று தோன்றுகிறது, `Month` மூலம் -0.15 மற்றும் `DayOfMonth` மூலம் -0.17, ஆனால் மற்றொரு முக்கியமான உறவு இருக்கலாம். இது வெவ்வேறு கம்பளி வகைகளுக்கு தொடர்புடைய விலைகளின் வெவ்வேறு குழுக்களைக் கொண்டுள்ளது போல தோன்றுகிறது. இந்த யூகத்தை உறுதிப்படுத்த, ஒவ்வொரு கம்பளி வகையையும் வெவ்வேறு நிறத்தில் வரைபடமாக்குவோம். `scatter` வரைபட செயல்பாட்டிற்கு `ax` அளவுருவை அனுப்புவதன் மூலம், அனைத்து புள்ளிகளையும் ஒரே வரைபடத்தில் வரைபடமாக்கலாம்:
ப்போதுபார 보면 தொடர்பு சிறியதுதான் போல இருக்கு, `Month`க்கு -0.15, `DayOfMonth`க்கு -0.17; ஆனால் வேறு முக்கிய உறவும்கூட இருப்பது போலத் தெரியிறது. விலை மாறுபடும் பம்ப்கின் வகைகளுக்கு தற்காலிக வகைப்படுத்தல்கள் இருக்கின்றன. இதனை உறுதிப்படுத்த, பழிவாங்கும் நிறம் வேறுபட்ட பம்ப்கின் பிரிவுகளைப் பார்க்கலாம். `scatter` வரைபடத்தில் `ax` அளவை கொடுத்தால் அனைத்து புள்ளிகளும் ஒரே வரைபடத்தில் இருக்கும்:
```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="Day of Year-க்கு எதிராக விலை ஸ்காட்டர்ப்ளாட்" src="../../../../translated_images/ta/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Day of Year மற்றும் விலை இடையேயான நிற வேறுபாடு உள்ள ஸ்காட்டர் பிளாட்" src="../../../../translated_images/ta/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
எங்கள் விசாரணை, விற்பனை தேதியை விட வகை மொத்த விலைக்கு அதிக தாக்கத்தை ஏற்படுத்துகிறது என்பதை பரிந்துரைக்கிறது. இதை ஒரு பட்டை வரைபடத்தில் காணலாம்:
நமது ஆராய்ச்சி கொண்டு வகையானது விற்பனைக் காலத்தைவிட அதிக தாக்கம் உண்டு என தெரிகிறது. இது ஒரு பட்டி வரைபடத்தில் தெளிவாகக் காணப்படுகிறது:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="வகைக்கு எதிராக விலை பட்டை வரைபடம்" src="../../../../translated_images/ta/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="விலை மற்றும் வகை இடையேயான பட்டி வரைபடம்" src="../../../../translated_images/ta/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
இப்போது 'pie type' என்ற ஒரு கம்பளி வகையை மட்டும் கவனித்து, தேதியின் விலைக்கு என்ன தாக்கம் உள்ளது என்பதைப் பார்ப்போம்:
தற்போது நாம் 'பை வகை' என்ற ஒரு பம்ப்கின் வகை மீது கவனம் செலுத்துவோம். மற்றும் விற்பனை நாளின் விலைப்படுத்தலில் தாக்கத்தைக் காண்போம்:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Day of Year-க்கு எதிராக விலை ஸ்காட்டர்ப்ளாட்" src="../../../../translated_images/ta/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Day of Year மற்றும் விலை இடையேயான பை வகை பம்ப்கின் ஸ்காட்டர் பிளாட்" src="../../../../translated_images/ta/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
இப்போது `corr` செயல்பாட்டைப் பயன்படுத்தி `Price` மற்றும் `DayOfYear` இடையேயான தொடர்பை கணக்கிடினால், `-0.27` போன்ற ஒன்றைப் பெறுவோம் - இது ஒரு கணிப்பீட்டு மாடலை பயிற்சி செய்வது பொருத்தமாக உள்ளது என்று பொருள்.
இப்போது `Price` மற்றும் `DayOfYear` இடையேயான தொடர்பினை `corr` மூலம் கணக்கிடினால் `-0.27` வந்தால், இது கணிப்புப் மாதிரி பயிற்சிக்கு பொருத்தமாக இருப்பதைக் குறிக்கிறது.
> ஒரு நேரியல் ரிக்ரஷன் மாடலை பயிற்சி செய்வதற்கு முன், எங்கள் தரவுகள் சுத்தமாக உள்ளன என்பதை உறுதிப்படுத்துவது முக்கியம். நேரியல் ரிக்ரஷன் வெற்றிட மதிப்புகளுடன் நன்றாக வேலை செய்யாது, எனவே அனைத்து காலியான செல்களை அகற்றுவது பொருத்தமாக இருக்கும்:
> நேரியல் ரிகிரெஷன் மாதிரியை பயிற்றுவதற்கு முன் தரவு சுத்தமானதாக இருத்தல் அவசியம். காலியான மதிப்புகளை உள்ளடக்கிய தரவோடு நேரியல் ரிகிரெஷன் நன்றாக வேலை செய்யாது; ஆகவே காலியான செல்கள்லை அகற்றுவது நல்லது.
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
மற்றொரு அணுகுமுறை, காலியான மதிப்புகளை தொடர்புடைய பத்தியில் இருந்து சராசரி மதிப்புகளால் நிரப்புவது.
மற்றொரு வழி அந்த காலியான மதிப்புகளை சார்ந்த நெடுவரிசையின் சராசரி மதிப்புகளால் நிரப்புவதுமாகும்.
## எளிய நேரியல் ரிக்ரஷன்
## எளிய நேரியல் ரிகிரெஷன்
[![தொடக்க நிலை எம்.எல். - Scikit-learn பயன்படுத்தி நேரியல் மற்றும் பாலினோமியல் ரிக்ரஷன்](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "தொடக்க நிலை எம்.எல். - Scikit-learn பயன்படுத்தி நேரியல் மற்றும் பாலினோமியல் ரிக்ரஷன்")
[![ML ஆரம்ப நிலை - 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")
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து Scikit-learn பயன்படுத்தி நேரியல் மற்றும் பாலினோமியல் ரிக்ரஷனின் சுருக்கமான வீடியோ கண்ணோட்டத்தைப் பாருங்கள்.
> 🎥 மேலே உள்ள படம் கிளிக் செய்து நேரியல் மற்றும் பன்முக ரிகிரெஷனின் சுருக்க காணொளியைப் பாருங்கள்.
எங்கள் நேரியல் ரிக்ரஷன் மாடலை பயிற்சி செய்ய, **Scikit-learn** நூலகத்தைப் பயன்படுத்துவோம்.
நமது நேரியல் ரிகிரெஷன் மாதிரியை பயிற்றுவதற்கு **Scikit-learn** நூலகத்தைப் பயன்படுத்துவோம்.
```python
from sklearn.linear_model import LinearRegression
@ -171,23 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
முதலில், உள்ளீட்டு மதிப்புகள் (அம்சங்கள்) மற்றும் எதிர்பார்க்கப்படும் வெளியீடு (லேபல்) ஆகியவற்றை தனித்தனியாக numpy வரிசைகளாக பிரிக்கிறோம்:
முதலில் உள்ளீட்டு மதிப்புகள் (அம்சங்கள்) மற்றும் எதிர்பார்க்கப்பட்ட வெளிப்பாடு (லேபிள்) வெவ்வேறு numpy வரிசைகளாக பிரிக்கப்பட்டு நிர்மாணிக்கப்படுகிறன:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> கவனிக்கவும், Linear Regression தொகுப்பு அதை சரியாக புரிந்துகொள்ள `reshape` செய்ய வேண்டியிருந்தது. Linear Regression ஒரு 2D-வரிசையை உள்ளீடாக எதிர்பார்க்கிறது, அங்கு வரிசையின் ஒவ்வொரு வரிசையும் உள்ளீட்டு அம்சங்களின் ஒரு வெக்டருக்கு இணையாக இருக்கும். எங்கள் வழக்கில், ஏனெனில் எங்களுக்கு ஒரு உள்ளீடு மட்டுமே உள்ளது - N&times;1 வடிவத்துடன் ஒரு வரிசை தேவை, N தரவுத்தொகுப்பின் அளவு.
> புகுபதிகை: உள்ளீட்டுப் தரவுகளுக்கு `reshape` செய்ய வேண்டியதாயிருக்கிறது, ஆகையால் Linear Regression தொகுப்பிற்கு அதை சரியாக புரிந்துகொள்ளும் வகையில் செய்ய வேண்டும். Linear Regression 2D வரிசையைப் பெறும், அதில் ஒவ்வொரு வரிசையும் உள்ளீட்டு அம்சங்கள் வெக்டாரை குறிக்கும். நமது நிலை ஒரு உள்ளீடு மட்டுமே இருக்கிறதால், N×1 வடிவமைப்புடைய வரிசை தேவையானது.
பின்னர், தரவுகளை பயிற்சி மற்றும் சோதனை தரவுத்தொகுப்புகளாகப் பிரிக்க வேண்டும், பயிற்சிக்குப் பிறகு எங்கள் மாடலை சரிபார்க்க முடியும்:
பிறகு தரவை பயிற்சி மற்றும் சோதனை தொகுப்பாக பிரிக்க வேண்டும் மாதிரியை பயிற்றிய பிறகு பரிசோதிக்க:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
இறுதியாக, உண்மையான நேரியல் ரிக்ரஷன் மாடலை பயிற்சி செய்வது இரண்டு வரிகளின் குறியீட்டில் மட்டுமே ஆகிறது. `LinearRegression` பொருளை வரையறுத்து, `fit` முறைமையைப் பயன்படுத்தி அதை எங்கள் தரவுகளுக்கு பொருத்துகிற
மாதிரி எவ்வளவு துல்லியமாக உள்ளது என்பதைப் பார்க்க, நாம் சோதனை தரவுத்தொகுப்பில் விலைகளை கணிக்கலாம், பின்னர் எங்கள் கணிப்புகள் எதிர்பார்க்கப்படும் மதிப்புகளுக்கு எவ்வளவு அருகில் உள்ளன என்பதை அளவிடலாம். இதைச் செய்ய **மீன் ஸ்கொயர் எரர் (MSE)** அளவுகோல்களைப் பயன்படுத்தலாம், இது எதிர்பார்க்கப்படும் மற்றும் கணிக்கப்பட்ட மதிப்புகளுக்கு இடையிலான அனைத்து சதுர வித்தியாசங்களின் சராசரி ஆகும்.
இறுதியில், நேரியல் ரிகிரெஷன் மாதிரியை ترب் செய்யும் குறியீடு இரண்டு வரிகளிலேயே முடிகிறது. `LinearRegression` பொருளை உருவாக்கி, `fit` முறையைப் பயன்படுத்தி தரவுக்கு பொருத்துகிறோம்:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
`LinearRegression` பொருள் `fit` செய்த பின் அனைத்து ரெக்ரெஷன் கூற்றுக்கள் உள்ளன, அவற்றை `.coef_` சொத்தைக் கொண்டு அணுக முடியும். எங்கள் வழக்கில், ஒரு கூற்று மட்டுமே உள்ளது, அது சுமார் `-0.017` இருக்கும். இது விலை குறுகுவதாக தோன்றுகிறது, ஆனால் அதிகமாக இல்லை, தினத்திற்கு சுமார் 2 சென்ட். நாமே ரெக்ரெஷன் வரி Y-அச்சை எங்கே தாண்டுகிறது என்பதையும் `lin_reg.intercept_` மூலம் அணுகலாம் - எங்கள் வழக்கில் இது சுமார் `21`, ஆண்டு தொடக்க விலை குறிக்கிறது.
எங்கள் மாதிரி எவ்வளவு துல்லியமானது என்பதை காண, நாமே சோதனை தரவு தொகுப்பில் விலைகளை எதிர்பார்த்து, பின்னர் எதிர்பார்க்கப்படும் மதிப்புகளுடன் எவ்வளவு நெருக்கமாக கிட்டுகிறது என்பது மதிப்பிடலாம். இது மொத்த சராசரி சதுர தவறுக்களை (MSE) பயன்படுத்தி செய்யலாம், இது எதிர்பார்த்த மதிப்புக்கும் கணிக்கப்பட்ட மதிப்புக்கும் இடையேயான அனைத்து சதுர வேறுபாடுகளின் சராசரி ஆகும்.
```python
pred = lin_reg.predict(X_test)
@ -196,37 +216,37 @@ mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
எங்கள் பிழை சுமார் 2 புள்ளிகள், இது ~17% ஆக உள்ளது. இது மிகச் சிறந்தது அல்ல. மாதிரியின் தரத்தை அளவிட மற்றொரு குறியீடு **தீர்மானக் குணகம்** ஆகும், இதை இவ்வாறு பெறலாம்:
எங்கள் பிழை சுமார் 2 புள்ளிகளாகும், இது ~17% ஆகும். மிகவும் நன்றாக இல்லை. மற்றொரு மாதிரி தரம் குறியீடு **தீர்மானக் கூற்று** ஆகும், இதை இப்படிக் கிடைக்க முடியும்:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
மதிப்பு 0 என்றால், மாதிரி உள்ளீட்டு தரவுகளை கணக்கில் எடுத்துக் கொள்ளவில்லை, மற்றும் *மிக மோசமான நேரியல் கணிப்பாளர்* ஆக செயல்படுகிறது, இது முடிவின் சராசரி மதிப்பு டுமே. மதிப்பு 1 என்றால், நாம் எதிர்பார்க்கப்படும் அனைத்து வெளியீடுகளையும் சரியாகக் கணிக்க முடியும். எங்கள் நிலைமையில், தீர்மானக் குணகம் சுமார் 0.06 ஆக உள்ளது, இது மிகவும் குறைவாக உள்ளது.
மதிப்பு 0 என்றால், மாதிரி உள்ளீட்டு தரவை கணக்கில் எடுக்காது, மேலும் *மிக மோசமான நேரியல் கணிப்பாளர்* ஆக இருக்கும், அது வெறும் முடிவின் சராசரி மதிப்பாகும். மதிப்பு 1 என்றால், எதிர்பார்க்கப்படும் அனைத்து வெளியீடுகளையும் சரியாக கணிக்க முடியும். எங்கள் வழக்கில், கூற்று சுமார் 0.06 ஆகும், இது மிகவும் குறைவாகும்.
நாம் சோதனை தரவுகளை மற்றும் ரெக்ரஷன் கோட்டை ஒன்றாக வரைந்து, எங்கள் நிலைமையில் ரெக்ரஷன் எப்படி செயல்படுகிறது என்பதை தெளிவாகப் பார்க்கலாம்:
நாம் சோதனை தரவை ரெக்ரெஷன் வரியுடன் ஒன்றாக வரைந்து, எங்கள் வழக்கில் ரெக்ரெஷன் எப்படி செயல்படுகிறது என்று சிறந்த முறையில் காணலாம்:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="நேரியல் ரெக்ரஷன்" src="../../../../translated_images/ta/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/ta/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## பாலினோமியல் ரெக்ரஷன்
## Polynomial Regression
நேரியல் ரெக்ரஷனின் மற்றொரு வகை பாலினோமியல் ரெக்ரஷன் ஆகும். சில நேரங்களில் மாறிகள் இடையே நேரியல் உறவு இருக்கும் - கும்மியளவு அதிகமாக இருந்தால், விலை அதிகமாக இருக்கும் - ஆனால் சில நேரங்களில் இந்த உறவுகளை ஒரு தளம் அல்லது நேர்கோட்டாக வரைந்து காட்ட முடியாது.
மற்றொரு வகை நேரியல் ரெக்ரெஷன் என்பது பல்லியோமியல் ரெக்ரெஷன். சில நேரத்தில் மாறிலிகள் இடையே நேரியல் உறவுகள் இருக்கும் - அளவில் பெரிய பப்பாளி, விலை அதிகமாகும் - ஆனால் சில நேரங்களில் இந்த உறவுகளை சமத்தளமாக அல்லது நேரடியான கோடாக படம் பிடிக்க முடியாது.
[இங்கே](https://online.stat.psu.edu/stat501/lesson/9/9.8) பாலினோமியல் ரெக்ரஷன் பயன்படுத்தக்கூடிய தரவின் சில உதாரணங்கள் உள்ளன.
இங்கு [மற்ற சில எடுத்துக்காட்டுகள்](https://online.stat.psu.edu/stat501/lesson/9/9.8) உள்ளன, இவை பல்லியோமியல் ரெக்ரெஷன் பயன்படுத்த முடியும்
Date மற்றும் Price இடையேயான உறவை மீண்டும் பாருங்கள். இந்த சிதறல் வரைபடம் நேர்கோட்டால் பகுப்பாய்வு செய்யப்பட வேண்டும் என்று தோன்றுகிறதா? விலைகள் மாறக்கூடாது? இந்த நிலைமையில், நீங்கள் பாலினோமியல் ரெக்ரஷனை முயற்சிக்கலாம்.
தேதி மற்றும் விலை இடையேயான உறவை மீண்டும் பாருங்கள். இந்த சித்திரப்பதிவு நேரடியான கோடு கொண்டு நிரூபிக்க வேண்டியதா என தோன்றுமா? விலைகள் மாறக்கூடும். இந்த வழியில், நீங்கள் பல்லியோமியல் ரெக்ரெஷன் முயற்சி செய்யலாம்.
✅ பாலினோமியல்கள் ஒரு அல்லது அதற்கு மேற்பட்ட மாறிகள் மற்றும் குணகங்கள் கொண்ட கணிதப் பிரகடனங்கள் ஆகும்.
✅ பல்லியோமிகள் என்பது ஒன்று அல்லது அதற்கு மேற்பட்ட மாறிகள் மற்றும் கூற்றுக்களைக் கொண்ட கணிதமான வெளிப்பாடுகள் ஆகும்
ாலினோமியல் ரெக்ரஷன் நேரியல் தரவுக்கு பொருத்தமாக ஒரு வளைந்த கோட்டை உருவாக்குகிறது. எங்கள் நிலைமையில், `DayOfYear` மாறியை சதுரமாக உள்ளீட்டு தரவுகளில் சேர்த்தால், ஆண்டின் ஒரு குறிப்பிட்ட புள்ளியில் குறைந்தபட்சம் இருக்கும் ஒரு பரபாலிக் வளைவை எங்கள் தரவுடன் பொருத்த முடியும்.
ல்லியோமியல் ரெக்ரெஷன் சாராத தரவுகளை நல்ல முறையில் பொருந்துவதற்காக வளைந்த கோட்டை உருவாக்குகிறது. எங்கள் வழக்கில், நாமே `DayOfYear` என்ற மாறியை சதுரமாகச் சேர்த்தால், ஆண்டு முழுவதும் ஒரு குறைந்த மதிப்பு கொண்ட பாரபாலிக் வளைவு தரவுக்கு பொருந்தும்.
Scikit-learn ஒரு பயனுள்ள [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ஐ உள்ளடக்கியது, இது தரவுப் செயலாக்கத்தின் பல்வேறு படிகளை ஒன்றாக இணைக்க உதவுகிறது. **Pipeline** என்பது **estimators** களின் சங்கிலி ஆகும். எங்கள் நிலைமையில், முதலில் பாலினோமியல் அம்சங்களை மாதிரியில் சேர்த்து, பின்னர் ரெக்ரஷனை பயிற்சி செய்யும் ஒரு pipeline ஐ உருவாக்குவோம்:
Scikit-learn முழுமையான [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) வழங்குகிறது, இது தரவுகளை ஒருங்கிணைக்க உதவுகிறது. **pipeline** என்பது பல **உருத்திகள்** கொண்ட நிரம்பாகும். எங்கள் வழக்கில், முதலில் பல்லியோமியல் அம்சங்களை சேர்த்து, பின்னர் ரெக்ரெஷன் பயிற்சி பெறும் pipeline ஒன்றைக் காண்போம்:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -237,36 +257,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
`PolynomialFeatures(2)` ஐப் பயன்படுத்துவது, உள்ளீட்டு தரவிலிருந்து அனைத்து இரண்டாம் நிலை பாலினோமியல்களையும் சேர்க்கும். எங்கள் நிலைமையில், இது `DayOfYear`<sup>2</sup> ஆக இருக்கும், ஆனால் இரண்டு உள்ளீட்டு மாறிகள் X மற்றும் Y கொடுக்கப்பட்டால், இது X<sup>2</sup>, XY மற்றும் Y<sup>2</sup> ஐச் சேர்க்கும். மேலும், நாம் விரும்பினால் அதிக நிலை பாலினோமியல்களையும் பயன்படுத்தலாம்.
`PolynomialFeatures(2)` பயன்படுத்துதல் நம் உள்ளீடு தரவில் இருந்து இரண்டாம் நிலை பல்லியோமியல்களைச் சேர் என குறிக்கிறது. எங்கள் வழக்கில் இது `DayOfYear`<sup>2</sup> மட்டும் வேண்டியிருக்கும், ஆனால் இரண்டு மாறிகள் X மற்றும் Y இருந்தால், X<sup>2</sup>, XY மற்றும் Y<sup>2</sup> அம்சங்கள் சேர்க்கப்படும். நாம் அதிக நிலை பல்லியோமியல்களையும் பயன்படுத்தலாம்.
Pipeline ஐ `LinearRegression` பொருளைப் போலவே பயன்படுத்தலாம், அதாவது, pipeline ஐ `fit` செய்து, பின்னர் `predict` ஐப் பயன்படுத்தி கணிப்பு முடிவுகளைப் பெறலாம். சோதனை தரவுகள் மற்றும் அணுகுமுறை வளைவை காட்டும் வரைபடம் இங்கே உள்ளது:
pipelines அசல் `LinearRegression` பொருள் போலவே பயன்படுத்தலாம், அதாவது நாமே பணியிடும் வகையில் `fit` செய்து பின்னர் `predict` பயன்படுத்த முடியும. கீழே சோதனை தரவு மற்றும் அண்மிப்புக் கோட்டை காணப்படுகின்றன:
<img alt="பாலினோமியல் ரெக்ரஷன்" src="../../../../translated_images/ta/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/ta/poly-results.ee587348f0f1f60b.webp" width="50%" />
ாலினோமியல் ரெக்ரஷனைப் பயன்படுத்தி, நாம் சற்று குறைந்த MSE மற்றும் அதிக தீர்மானத்தைப் பெற முடியும், ஆனால் குறிப்பிடத்தக்க அளவில் அல்ல. மற்ற அம்சங்களைப் பின்பற்ற வேண்டும்!
ல்லியோமியல் ரெக்ரெஷன் பயன்படுத்தி, எங்கள் MSE சற்று குறையும் மற்றும் தீர்மானம் அதிகரிக்கும், ஆனால் மிகவும் குறிப்பிடத்தக்க மாற்றமில்லை. மற்ற அம்சங்களையும் நாம் கருத்தில் கொள்ள வேண்டும்!
> நீங்கள் பார்க்கலாம், கும்மி விலைகள் குறைந்தபட்சமாக ஹாலோவீன் அருகே காணப்படுகின்றன. இதை நீங்கள் எப்படி விளக்குவீர்கள்?
> குறைந்தபட்ச பப்பாளி விலைகள் ஹாலோவீன் காலத்தில் காட்சியளிக்கப்படுகின்றன. இதை எப்படி விளக்கலாம்?
🎃 வாழ்த்துகள், நீங்கள் பை கும்மிகளின் விலையை கணிக்க உதவும் ஒரு மாதிரியை உருவாக்கியுள்ளீர்கள். நீங்கள் இதே செயல்முறையை அனைத்து கும்மி வகைகளுக்கும் மீண்டும் செய்யலாம், ஆனால் அது சிரமமாக இருக்கும். இப்போது, எங்கள் மாதிரியில் கும்மி வகையை கணக்கில் எடுப்பது எப்படி என்பதைப் பார்ப்போம்!
🎃 வாழ்த்துகள், நீங்கள் பை பப்பாளி விலையை கணிக்க உதவும் மாதிரியை உருவாக்கியுள்ளீர்கள். எல்லா பப்பாளி வகைகளுக்கும் அதே செயல்முறையை மீண்டும் செய்வதற்கும் முடியும், ஆனால் அது கடினம் தான். இப்போது பப்பாளி வகைகளை எங்கள் மாதிரியில் எவ்வாறு சேர்க்குவது என்பதை கற்கலாம்!
## வகை அம்சங்கள்
## வழக்குக் குறிப்புகள்
ிறந்த உலகில், ஒரே மாதிரியைப் பயன்படுத்தி வெவ்வேறு கும்மி வகைகளுக்கான விலைகளை கணிக்க முடியும். ஆனால், `Variety` பத்தி `Month` போன்ற பத்திகளிலிருந்து சற்று வேறுபட்டது, ஏனெனில் இது எண்ணியல் அல்லாத மதிப்புகளை கொண்டுள்ளது. இவ்வகை பத்திகள் **categorical** என்று அழைக்கப்படுகின்றன.
ரியான உலகில், ஒரே மாதிரியைப் பயன்படுத்தி பல பப்பாளி வகைகளின் விலைகளை கணிக்க விரும்புகிறோம். ஆனால், `Variety` என்ற நெடுவரிசை, `Month` போன்ற நெடுவரிசைகளுக்கு மாறாக, எண்கள் இல்லாத மதிப்புகளை கொண்டுள்ளது. இவ்வாறான நெடுவரிசைகள் **வகைப்படுத்தப்பட்ட** என்று கூறப்படுகின்றன.
[![தொடக்கநிலை ML - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "தொடக்கநிலை ML - Categorical Feature Predictions with Linear Regression")
[![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")
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து வகை அம்சங்களைப் பயன்படுத்துவதற்கான சுருக்கமான வீடியோவைப் பாருங்கள்.
> 🎥 மேலே உள்ள படத்தில் வகைப்படுத்தப்பட்ட அம்சங்களை பயன்படுத்தும் குறுகிய வீடியோ தொகுப்பு உள்ளது.
இங்கே நீங்கள் வகை அடிப்படையில் சராசரி விலை எப்படி மாறுகிறது என்பதைப் பார்க்கலாம்:
இங்கே வகைப்படுத்தப்பட்ட விலை எவ்வாறு இருக்கிறது என்று பார்க்கலாம்:
<img alt="வகை அடிப்படையில் சராசரி விலை" src="../../../../translated_images/ta/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/ta/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
வகையை கணக்கில் எடுக்க, முதலில் அதை எண்ணியல் வடிவத்திற்கு மாற்ற வேண்டும், அல்லது **encode** செய்ய வேண்டும். இதைச் செய்ய பல வழிகள் உள்ளன:
வகைப்படுத்தத்தை கருத்தில் கொள்ளும் முன்பு, முதலில் அதனை எண்களாக மாற்ற வேண்டும் அல்லது **என்கோடு** செய்ய வேண்டும். இதற்கான பல வழிகள் உள்ளன:
* எளிய **numeric encoding** ஒரு வகை பட்டியலை உருவாக்கி, பின்னர் வகை பெயரை அந்த பட்டியலில் உள்ள ஒரு குறியீட்டால் மாற்றும். இது நேரியல் ரெக்ரஷனுக்கு சிறந்த யோசனை அல்ல, ஏனெனில் நேரியல் ரெக்ரஷன் குறியீட்டின் உண்மையான எண்ணியல் மதிப்பை எடுத்துக் கொண்டு, அதை ஒரு குணகத்தால் பெருக்கி முடிவில் சேர்க்கும். எங்கள் நிலைமையில், குறியீட்டு எண் மற்றும் விலை இடையேயான உறவு தெளிவாகவே நேரியல் அல்ல, எங்கள் குறியீடுகள் ஒரு குறிப்பிட்ட முறையில் வரிசைப்படுத்தப்பட்டாலும் கூட.
* **One-hot encoding** `Variety` பத்தியை 4 வெவ்வேறு பத்திகளால் மாற்றும், ஒவ்வொரு வகைக்கும் ஒரு பத்தி. ஒவ்வொரு பத்தியும், அந்த வரிசை ஒரு குறிப்பிட்ட வகையைச் சேர்ந்தது என்றால் `1` ஐ கொண்டிருக்கும், இல்லையெனில் `0` ஐ கொண்டிருக்கும். இது, கும்மி வகைக்கு ஒவ்வொன்றுக்கும், அந்த குறிப்பிட்ட வகைக்கு "தொடக்க விலை" (அல்லது "கூடுதல் விலை")க்கு பொறுப்பான, நேரியல் ரெக்ரஷனில் நான்கு குணகங்களை உருவாக்கும்.
* எளிய **எண்கோடிங்** என்பது வகைகளின் பட்டியலை உருவாக்கி அதில் இருந்து பெயர் பதிலாக பட்டியலில் இருக்குமிட குறியீட்டை பயன்படுத்துவது. இது நேரியல் ரெக்ரெஷனுக்கு சிறந்தது அல்ல, ஏனெனில் நேரியல் ரெக்ரெஷன் அந்த எண் மதிப்பைக் கொண்டு தீர்வை கூற்றுக்குறிப்பாக்கும். எங்கள் வழக்கில், இந்த எண்ணைக் குறியீட்டும் விலையும் நேரியல் அல்ல என்று தெளிவாக உண்டு.
* **ஒன்-ஹாட் என்கோடிங்** என்பது `Variety` நெடுவரிசை 4 வேறு நெடுவரிசைகளாக மாற்றப்படும், ஒவ்வொரு வகைக்குமான ஒன்று. ஒவ்வொரு நெடுவரிசையும் அந்த வரி அந்த வகைக்குள் இருந்தால் `1`இல், இல்லையெனில் `0`இல் இருக்கும். இது நமது நேரியல் ரெக்ரெஷனில் 4 கூற்றுக்களை உருவாக்கும், ஒவ்வொரு வகைக்கும் தனித்தனியான ஆரம்ப விலை (அல்லது கூடுதல் விலை) உடையதாக இருக்கும்.
வகையை one-hot encode செய்யும் விதம் கீழே உள்ள கோடில் காட்டப்பட்டுள்ளது:
கீழிற்க்காணும் குறியீடு வகையை ஒன்-ஹாட் என்கோட் செய்வதை காட்டுகிறது:
```python
pd.get_dummies(new_pumpkins['Variety'])
@ -283,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
One-hot encode செய்யப்பட்ட வகையை உள்ளீடாகக் கொண்டு நேரியல் ரெக்ரஷனைப் பயிற்சி செய்ய, `X` மற்றும் `y` தரவுகளை சரியாக initialize செய்ய வேண்டும்:
ஒன்-ஹாட் இந்த வகையை உள்ளீடாகக் கொண்டு நேரியல் ரெக்ரெஷன் பயிற்சி பெறும் விதம்:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
மீதமுள்ள கோடு, Linear Regression ஐ பயிற்சி செய்ய மேலே பயன்படுத்தியதைப் போலவே இருக்கும். நீங்கள் முயற்சித்தால், மீன் ஸ்கொயர் பிழை சுமார் அதே அளவாக இருக்கும், ஆனால் தீர்மானக் குணகம் மிகவும் அதிகமாக (~77%) இருக்கும். மேலும் துல்லியமான கணிப்புகளைப் பெற, மேலும் பல வகை அம்சங்களை, மற்றும் `Month` அல்லது `DayOfYear` போன்ற எண்ணியல் அம்சங்களைப் பின்பற்றலாம். ஒரு பெரிய அம்சங்களின் வரிசையைப் பெற, `join` ஐப் பயன்படுத்தலாம்:
மீதமுள்ள குறியீடு மேலே நாம் பயன்படுத்திய `LinearRegression` பயிற்சிக்கான அதே மாதிரி. முயற்சித்தால், சராசரி சதுர தவறு அதே மாதிரியாகும், ஆனால் தீர்மானக் கூற்றின் மதிப்பு மிகவும் அதிகமாக (~77%) இருக்கும். மேலும் துல்லியமான கணிப்புகளுக்காக, பிற வகைப்படுத்தப்பட்ட அம்சங்களையும் மற்றும் எண் அம்சங்களையும் (எ.கா. `Month` அல்லது `DayOfYear`) சேர்க்கலாம். அனைத்து அம்சங்களையும் ஒரு பெரிய அடுக்கு உருவாக்க `join` பயன்படுத்தலாம்:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -300,31 +320,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
இங்கே, `City` மற்றும் `Package` வகையைப் பின்பற்றுகிறோம், இது MSE 2.84 (10%) மற்றும் தீர்மானம் 0.94 வழங்குகிறது!
இங்கே நாமும் `City` மற்றும் `Package` வகைகளை கருத்தில் கொள்ளின்றோம், இது MSE 2.84 (10%) மற்றும் தீர்மானம் 0.94 வழங்குகிறது!
## அனைத்தையும் ஒன்றாக இணைத்தல்
## அனைத்தையும் இணைத்தல்
சிறந்த மாதிரியை உருவாக்க, மேலே உள்ள உதாரணத்திலிருந்து (one-hot encode செய்யப்பட்ட வகை + எண்ணியல்) தரவுகளை Polynomial Regression உடன் இணைத்து பயன்படுத்தலாம். உங்கள் வசதிக்காக முழு கோடு இங்கே உள்ளது:
சிறந்த மாதிரியை உருவாக்க, மேலே கூறிய ஒருங்கிணைந்த (ஒன்-ஹாட் என்கோடட் வகைப்படுத்தப்பட்ட + எண்) தரவுகளுடன் பல்லியோமியல் ரெக்ரெஷனும் பயன்படுத்தலாம். இங்கே முழுமையான குறியீடு உங்களுக்கு உள்ளது:
```python
# set up training data
# பயிற்சி தரவுகளை அமைக்கவும்
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
# பயிற்சி-சோதனை பிரிவை உருவாக்கவும்
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
# பைப்பலைன் அமைக்கவும் மற்றும் பயிற்சியிடவும்
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# சோதனை தரவுகளுக்கான முடிவுகளை முன்னறிவிக்கவும்
pred = pipeline.predict(X_test)
# calculate MSE and determination
# MSE மற்றும் தீர்மானிப்பை கணக்கிடவும்
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -332,34 +352,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
இது எங்களுக்கு MSE=2.23 (~8% prediction error) மற்றும் தீர்மானக் குணகம் 97% அளவுக்கு தர வேண்டும்.
இது 97% கிட்ட அதற்கு அருகிலான தீர்மானக் கூற்றையும் MSE=2.23 (~8% கணிப்பு பிழை) தருவதாகும்.
| மாதிரி | MSE | தீர்மானம் |
|-------|-----|---------------|
| `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 |
| `DayOfYear` நேரியல் | 2.77 (17.2%) | 0.07 |
| `DayOfYear` பல்லியோமியல் | 2.73 (17.0%) | 0.08 |
| `Variety` நேரியல் | 5.24 (19.7%) | 0.77 |
| அனைத்து அம்சங்கள் நேரியல் | 2.84 (10.5%) | 0.94 |
| அனைத்தும் பல்லியோமியல் | 2.23 (8.25%) | 0.97 |
🏆 வாழ்த்துகள்! நீங்கள் ஒரு பாடத்தில் நான்கு ரெக்ரஷன் மாதிரிகளை உருவாக்கி, மாதிரி தரத்தை 97% வரை மேம்படுத்தியுள்ளீர்கள். ரெக்ரஷன் பற்றிய இறுதி பகுதியில், வகைகளைத் தீர்மானிக்க **Logistic Regression** பற்றி நீங்கள் கற்றுக்கொள்வீர்கள்.
🏆 நன்றாக செய்தீர்கள்! இந்த பாடத்தில் நான்கு ரெக்ரெஷன் மாதிரிகள் உருவாக்கப்பட்டு, தரம் 97% ஆக மேம்பட்டது. கடைசி பகுதியில், வகைகளை வகைப்படுத்த பயன்படுத்தப்படும் லாஜிஸ்டிக் ரெக்ரெஷன் பற்றி கற்பீர்கள்.
---
## 🚀சவால்
இந்த நோட்புக்கில் பல்வேறு மாறிகளைச் சோதித்து, தொடர்பு மாதிரி துல்லியத்துடன் எப்படி பொருந்துகிறது என்பதைப் பாருங்கள்.
இந்த நோட்புக்கில் பல்வேறு மாறிலிகளை சோதிக்க, ஒற்றுமை எவ்வாறு மாதிரி துல்லியத்துடன் பொருந்துகிறது என்பதைப் பாருங்கள்.
## [பாடத்திற்குப் பிந்தைய வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
## [பாடத்திற்கு பின் கேள்விக்குப்பத்திரிக்கை](https://ff-quizzes.netlify.app/en/ml/)
## மதிப்பீடு & சுயபயிற்சி
## மீளாய்வு & சுயகல்வி
இந்த பாடத்தில் நாம் Linear Regression பற்றி கற்றுக்கொண்டோம். Regression இன் மற்ற முக்கிய வகைகள் உள்ளன. Stepwise, Ridge, Lasso மற்றும் Elasticnet தொழில்நுட்பங்கள் பற்றி படிக்கவும். மேலும் அறிய [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ஒரு நல்ல பாடமாகும்.
இந்த பாடத்தில் நாம் நேரியல் ரெக்ரெஷன் கற்றோம். இன்னும் முக்கியமான ரெக்ரெஷன் வகைகள் உண்டு. Stepwise, Ridge, Lasso மற்றும் Elasticnet பற்றியும் படியுங்கள். மேலும் கற்றுக்கொள்ள நல்ல பாடமாக [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) உள்ளது.
## பணிக்கட்டளை
## பணிக்கேள்
[மாதிரியை உருவாக்கவும்](assignment.md)
[ஒரு மாதிரி உருவாக்கவும்](assignment.md)
---
**அறிவிப்பு**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையை பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கிறோம், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் சொந்த மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்களுக்கும் அல்லது தவறான விளக்கங்களுக்கும் நாங்கள் பொறுப்பல்ல.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**கூறுதல்**:
இந்தக் கட்டுரையை AI மொழி மொழிபெயர்ப்பு சேவை [கோ-ஒப் மொழிபெயர்ப்பு](https://github.com/Azure/co-op-translator) பயன்படுத்தி மொழிபெயர்த்துள்ளது. நாங்கள் துல்லியத்தை உறுதிப்படுத்த முயற்சித்தாலும், தானாகத் தயாரிக்கப்படும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்க வாய்ப்பு இருக்கலாம். ஒவ்வொரு காலத்திய மொழியில் உள்ள அசல் ஆவணம் அதிகாரப்பூர்வ மூலமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதனால் ஏற்படும் தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்புப்படுத்தப்படமாட்டோம்.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# உணவுப் வகை வகைப்படுத்திகள் 2
# உணவு வகை வகைப்பகுதிகள் 2
இரண்டாவது வகைப்படுத்தல் பாடத்தில், எண் தரவுகளை வகைப்படுத்துவதற்கான மேலும் பல வழிகளை நீங்கள் ஆராய்வீர்கள். மேலும், ஒரு வகைப்படுத்தியை மற்றொன்றுக்கு மேல் தேர்ந்தெடுப்பதற்கான விளைவுகளைப் பற்றியும் நீங்கள் அறிந்துகொள்வீர்கள்.
இரண்டாவது வகை பயிலலில், நீங்கள் எண்களின் தரவை வகைப்படுத்த மேலும் வழிகளை ஆராய்வீர்கள். நீங்கள் ஒரு வகைப்பாடு மூலம் மற்றொன்றைப் பொருத்து தேர்ந்தெடுப்பதன் விளைவுகளையும் கற்றுக்கொள்ளவீர்கள்.
## [முன்-பாடம் வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
## [முன்னுரை தேர்வுத் தொகுப்பு](https://ff-quizzes.netlify.app/en/ml/)
### முன் அறிவு
### முன் தேவை
நீங்கள் முந்தைய பாடங்களை முடித்துவிட்டு, `data` கோப்பகத்தில் _cleaned_cuisines.csv_ என்ற பெயரில் சுத்தமான தரவுத்தொகுப்பை வைத்திருக்கிறீர்கள் என்று நாங்கள் கருதுகிறோம். இது இந்த 4-பாடம் கோப்பகத்தின் அடிப்பகுதியில் உள்ளது.
நீங்கள் முந்தைய பாடங்களை முடித்து, இந்த 4-பாட வகுப்பு அடைவின் ரூட்டில் உள்ள உங்கள் `data` கோப்பகத்தில் _cleaned_cuisines.csv_ என்ற சுத்திகரிக்கப்பட்ட தரவுத்தொகுதியை வைத்திருக்கிறீர்கள் என நாம் கருதுகிறோம்.
### தயாரிப்பு
### தயாரப்பு
உங்கள் _notebook.ipynb_ கோப்பில் சுத்தமான தரவுத்தொகுப்பை ஏற்றியுள்ளோம், மேலும் அதை X மற்றும் y தரவுத்தொகுப்புகளாகப் பிரித்துள்ளோம், மாடல் உருவாக்க செயல்முறைக்கு தயாராக.
சுத்திகரிக்கப்பட்ட தரவுத்தொகுதியுடன் உங்கள் _notebook.ipynb_ கோப்பை ஏற்றியுள்ளோம் மற்றும் மாடல் கட்டமைப்பு செயல்முறைக்கே தயாராக X மற்றும் y தரவிரேஞர் பிரிவுகளாக பிரித்து வைத்துள்ளோம்.
## ஒரு வகைப்படுத்த் வரைபடம்
## ஒரு வகைப்படுத்தும் வரைபடம்
முந்தைய பாடத்தில், Microsoft-இன் சாட் ஷீட்டை பயன்படுத்தி தரவுகளை வகைப்படுத்துவதற்கான பல விருப்பங்களைப் பற்றி நீங்கள் கற்றுக்கொண்டீர்கள். Scikit-learn இதே போன்ற, ஆனால் மேலும் விரிவான சாட் ஷீட்டை வழங்குகிறது, இது உங்கள் வகைப்படுத்திகளை (வகைப்படுத்திகள் என்ற மற்றொரு சொல்) குறைக்க உதவுகிறது:
முந்தையதாக, நீங்கள் Microsoft இன் சீட் மூலம் தரவை வகைப்படுத்துவதற்கான பல விருப்பங்களை கற்றிருந்தீர்கள். Scikit-learn ஒரு சமமான, ஆனால் மேலும் நுணுக்கமான சீட் கொடுக்கும், இது உங்கள் மதிப்பீட்டாளர்களை (மற்றொரு பெயராக வகைப்பாடு) மேலும் குறைக்க உதவும்:
![Scikit-learn-இன் ML வரைபடம்](../../../../translated_images/ta/map.e963a6a51349425a.webp)
> குறிப்புகள்: [இந்த வரைபடத்தை ஆன்லைனில் பாருங்கள்](https://scikit-learn.org/stable/tutorial/machine_learning_map/) மற்றும் பாதையில் கிளிக் செய்து ஆவணங்களைப் படிக்கவும்.
![ML Map from Scikit-learn](../../../../translated_images/ta/map.e963a6a51349425a.webp)
> குறிப்பு: [இந்த வரைபடத்தை ஆன்லைனில் பாரவையிட](https://scikit-learn.org/stable/tutorial/machine_learning_map/) மற்றும் பாதையில் சொடுக்கி ஆவணங்களை படியுங்கள்.
### திட்டம்
இந்த வரைபடம் உங்கள் தரவுகளை தெளிவாகப் புரிந்துகொண்ட பிறகு மிகவும் உதவியாக இருக்கும், ஏனெனில் நீங்கள் அதன் பாதைகளில் 'நடந்து' முடிவுக்கு வரலாம்:
இந்த வரைபடம் உங்கள் தரவை தெளிவாகப் புரிந்துகொண்டதும் மிகவும் உதவுகிறது, ஏனெனில் நீங்கள் அதன் பாதைகளை 'நடக்க' முடியும்:
- நமக்கு >50 மாதிரிகள் உள்ளன
- நாங்கள் ஒரு வகையை முன்னறிவிக்க விரும்புகிறோம்
- நமக்கு லேபிள் செய்யப்பட்ட தரவுகள் உள்ளன
- நமக்கு 100K மாதிரிகளுக்கு குறைவாக உள்ளது
- ✨ நாங்கள் Linear SVC-ஐ தேர்ந்தெடுக்கலாம்
- அது வேலை செய்யவில்லை என்றால், எண் தரவுகள் இருப்பதால்
- ✨ KNeighbors Classifier-ஐ முயற்சிக்கலாம்
- அது வேலை செய்யவில்லை என்றால், ✨ SVC மற்றும் ✨ Ensemble Classifiers-ஐ முயற்சிக்கவும்
- நமக்கு 50 மாதிரிகள் மேல் உள்ளன
- ஒரு பிரிவை முன்னறிவிக்க விரும்புகிறோம்
- எங்களிடம் குறிச்சொல் அடிக்கப்பட்ட தரவு உள்ளது
- மாதிரிகள் 100K க்கும் குறைவாக உள்ளன
- ✨ நாங்கள் Linear SVC ஐ தேர்ந்தெடுக்கலாம்
- அது வேலை செய்யாவிட்டால், எண் தரவு இருப்பதால்
- ✨ KNeighbors வகைப்பாட்டை முயற்சி செய்யலாம்
- அது வேலையில்லையெனில், ✨ SVC மற்றும் ✨ Ensemble வகைப்பாட்டாளர்களை முயற்சி செய்யலாம்
இது பின்பற்ற மிகவும் உதவியாக இருக்கும் பாதை.
இது மிகவும் உதவிகரமான பாதையாகும்.
## பயிற்சி - தரவுகளப் பிரிக்கவும்
## பயிற்சி - தரவை பிரி
இந்த பாதையைப் பின்பற்ற, பயன்படுத்த சில நூலகங்களை இறக்குமதி செய்ய வேண்டும்.
இந்த பாதையை தொடர்வதன் மூலம், சில நூலகங்களை இறக்குமதி செய்வதிலிருந்து தொடங்க வேண்டும்.
1. தேவையான நூலகங்களை இறக்குமதி செய்யவும்:
@ -50,31 +50,31 @@
import numpy as np
```
1. உங்கள் பயிற்சி மற்றும் சோதனை தரவுகளப் பிரிக்கவும்:
1. பயிற்சி மற்றும் சோதனை தரவை பிரிக்கவும்:
```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 வகைப்படுத்தி
## கோடு வகைப்படுத்தி Linear SVC
Support-Vector clustering (SVC) என்பது Support-Vector machines குடும்பத்தின் ML தொழில்நுட்பங்களின் ஒரு கிளையாகும் (கீழே இவற்றைப் பற்றி மேலும் அறிக). இந்த முறையில், லேபிள்களை குழுவாக்க 'kernel' ஒன்றைத் தேர்ந்தெடுக்கலாம். 'C' அளவுரு 'regularization'-ஐ குறிக்கிறது, இது அளவுருக்களின் தாக்கத்தை ஒழுங்குபடுத்துகிறது. kernel [பலவற்றில்](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC) ஒன்று இருக்கலாம்; இங்கு 'linear'-ஐ அமைத்துள்ளோம், இது Linear SVC-ஐ பயன்படுத்துவதை உறுதிப்படுத்துகிறது. Probability இயல்பாக 'false' ஆக உள்ளது; இங்கு probability estimates-ஐ பெற 'true' ஆக அமைத்துள்ளோம். தரவுகளை probability பெற சீரமைக்க 'random state'-ஐ '0' ஆக அமைத்துள்ளோம்.
Support-Vector clustering (SVC) என்றது Support-Vector இயந்திரங்களின் குடும்பத்தில் ஒரு உறுப்பினராகும் (இதுபற்றி இதே கீழே மேலும் கற்றுக் கொள்ளுங்கள்). இந்த முறையில், குறிச்சொற்களை எப்படி தொகுக்கவேண்டும் என்பது குறித்து 'kernel' ஐ தேர்ந்தெடுக்கலாம். 'C' அளவுரு 'regularization' ஐ குறிக்கிறது, இது அளவுருக்களின் பயன்திறனை ஒழுங்குபடுத்துகிறது. kernel பலவற்றில் ஒன்றாக இருக்கலாம்; இங்கே நாங்கள் 'linear' என அமைத்து Linear SVC பயன்படுத்துவதாக உறுதிசெய்கிறோம். Probability இயல்பாக 'false'; இங்கே 'true' என அமைத்து probability மதிப்பீடுகளை சேகரிக்கிறோம். தரவை இடைமாற்றிக் கொள்ள 'random state' ஐ 0 என அமைத்தோம்.
### பயிற்சி - Linear SVC-ஐ பயன்படுத்தவும்
### பயிற்சி - ஒரு Linear SVC ஐ பயன்படுத்தவும்
வகைப்படுத்திகளை ஒரு வரிசையாக உருவாக்கத் தொடங்குங்கள். நாம் சோதிக்கும்போது இந்த வரிசையில் தொடர்ந்து சேர்க்கலாம்.
தரவரிசையாக ஒரு வகைப்பாடு அடுக்கை உருவாக்கி தொடங்குங்கள். நாங்கள் பரிசோதிப்பதுக்கு கண்டிப்பாக இதில் கட்டாயமாக சேர்க்கலாம்.
1. Linear SVC-இன் மூலம் தொடங்குங்கள்:
1. Linear SVC என்பதன் மூலம் தொடங்குங்கள்:
```python
C = 10
# Create different classifiers.
# வெவ்வேறு வகைப்படுத்திகளைக் உருவாக்கவும்.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Linear SVC-ஐ பயன்படுத்தி உங்கள் மாடலை பயிற்றுவித்து, ஒரு அறிக்கையை அச்சிடவும்:
2. Linear SVC ஐ கொண்டு உங்கள் மாடலை பயிற்சி செய்யவும், அறிக்கை அச்சிடவும்:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Support-Vector clustering (SVC) என்பது Support-Vector machines க
print(classification_report(y_test,y_pred))
```
முடிவு மிகவும் நல்லது:
முடிவு மிகவும் நன்று:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -105,15 +105,15 @@ Support-Vector clustering (SVC) என்பது Support-Vector machines க
weighted avg 0.79 0.79 0.79 1199
```
## K-Neighbors வகைப்படுத்தி
## K-Neighbors வகைப்பாட்டாளர்
K-Neighbors என்பது ML முறைகளின் "neighbors" குடும்பத்தின் ஒரு பகுதியாகும், இது மேற்பார்வை மற்றும் கீழ்ப்பார்வை கற்றலுக்கு பயன்படுத்தப்படலாம். இந்த முறையில், முன்கூட்டியே வரையறுக்கப்பட்ட புள்ளிகள் உருவாக்கப்பட்டு, இந்த புள்ளிகளின் சுற்றளவில் தரவுகள் சேகரிக்கப்படுகின்றன, இதனால் தரவுகளுக்கு பொதுவான லேபிள்கள் முன்னறிவிக்கப்படலாம்.
K-Neighbors என்பது "அருகிலுள்ளோர்" குடும்பத்தின் ஒரு உறுப்பினராகும், இது கண்காணிப்பும் கண்காணிக்கப்படாத கற்றலுக்கும் பயன்படுத்தப்படலாம். இதில், முன்கூட்டியே ஒரு குறிப்பிட்ட எண்ணிக்கை புள்ளிகள் உருவாக்கப்படுகின்றன மற்றும் தரவு அந்த புள்ளிகளுக்கு வசிப்பதாக சேகரிக்கப்படுகிறது, பொதுவான குறிச்சொற்களை தரவை முன்கூட்டியே கணிக்க உதவுகின்றது.
### பயிற்சி - K-Neighbors வகைப்படுத்தியை பயன்படுத்தவும்
### பயிற்சி - K-Neighbors வகைப்பாட்டாளரை பயன்படுத்தவும்
முந்தைய வகைப்படுத்தி நல்லது, மேலும் தரவுகளுடன் நன்றாக வேலை செய்தது, ஆனால் நாங்கள் சிறந்த துல்லியத்தைப் பெறலாம். K-Neighbors வகைப்படுத்தியை முயற்சிக்கவும்.
முந்தைய வகைப்பாட்டாளர் நன்றாக வேலை செய்தது, ஆனால் நம்பகத் தன்மை மேல் பெறலாம். K-Neighbors வகைப்பாட்டாளரை முயற்சி செய்யுங்கள்.
1. உங்கள் வகைப்படுத்தி வரிசையில் ஒரு வரியைச் சேர்க்கவும் (Linear SVC உருப்படியின் பின்னர் ஒரு கமாவைச் சேர்க்கவும்):
1. உங்கள் வகைப்பாடு அடுக்கில் ஒரு வரிசை சேர்க்கவும் (Linear SVC உருப்படியின் பின் ஒரு கமா சேர்க்கவும்):
```python
'KNN classifier': KNeighborsClassifier(C),
@ -136,23 +136,23 @@ K-Neighbors என்பது ML முறைகளின் "neighbors" கு
weighted avg 0.76 0.74 0.74 1199
```
✅ [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors) பற்றி அறிக
✅ [K-Neighbors பற்றி கற்றுக்கொள்ளுங்கள்](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Support Vector Classifier
Support-Vector வகைப்படுத்திகள் [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) குடும்பத்தின் ஒரு பகுதியாகும், இது வகைப்படுத்தல் மற்றும் பிழைதிருத்த பணிகளுக்கு பயன்படுத்தப்படுகிறது. SVMs "பயிற்சி எடுத்துக்காட்டுகளை இடங்களில் புள்ளிகளாக வரைபடம்" செய்து இரண்டு வகைகளுக்கு இடையிலான தூரத்தை அதிகபட்சமாக்குகிறது. பின்னர் தரவுகள் இந்த இடத்தில் வரைபடம் செய்யப்படுகிறது, இதனால் அவற்றின் வகையை முன்னறிவிக்க முடியும்.
Support-Vector வகைப்பாட்டாளர்கள் [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) குடும்பத்தில் உள்ளவர், வகைப்படுத்தல் மற்றும் மொழி கணக்கீடு பணிகளுக்கு பயன்படும். SVMகள் "பயிற்சி உதாரணங்களை விண்வெளிக்குள் புள்ளிகளாக வரைபடம் செய்கின்றன" மற்றும் இரண்டு பிரிவுகளுக்கிடையிலான தூரத்தை அதிகரிக்க முயல்கின்றன. பின்வரும் தரவு இந்த இடத்துக்குள் வரைபடப்படுகின்றன, அதன் பிரிவை கணிக்க.
### பயிற்சி - Support Vector Classifier-ஐ பயன்படுத்தவும்
### பயிற்சி - Support Vector Classifier ஐ பயன்படுத்தவும்
Support Vector Classifier-ஐ பயன்படுத்தி சிறந்த துல்லியத்தை முயற்சிக்கலாம்.
சிறிது மேல் நம்பகத்தன்மைக்கு Support Vector Classifier ஐ முயற்சி செய்வோமாக.
1. K-Neighbors உருப்படியின் பின்னர் ஒரு கமாவைச் சேர்த்து, இந்த வரியைச் சேர்க்கவும்:
1. K-Neighbors உருப்படியின் பின் கமாவை சேர்க்கவும், பிறகு இந்த வரியை சேர்க்கவும்:
```python
'SVC': SVC(),
```
முடிவு மிகவும் நல்லது!
முடிவு மிகவும் நன்று!
```output
Accuracy (train) for SVC: 83.2%
@ -169,18 +169,18 @@ Support Vector Classifier-ஐ பயன்படுத்தி சிறந்
weighted avg 0.84 0.83 0.83 1199
```
✅ [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm) பற்றி அறிக
✅ [Support-Vectors பற்றி கற்றுக்கொள்ளுங்கள்](https://scikit-learn.org/stable/modules/svm.html#svm)
## Ensemble Classifiers
## Ensemble வகைப்பாட்டாளர்கள்
முந்தைய சோதனை மிகவும் நல்லது என்றாலும், பாதையின் இறுதிவரை செல்வோம். 'Ensemble Classifiers' ஐ, குறிப்பாக Random Forest மற்றும் AdaBoost-ஐ முயற்சிக்கலாம்:
முந்தைய சோதனை நன்றாக இருந்த போதிலும், இறுதிப்பாதையை தொடர்வோம். 'Ensemble வகைப்பாட்டாளர்கள்', குறிப்பாக Random Forest மற்றும் AdaBoost ஐ முயற்சிப்போம்:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
ுடிவு மிகவும் நல்லது, குறிப்பாக Random Forest:
ிக நல்ல முடிவு, குறிப்பாக 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
```
✅ [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html) பற்றி அறிக
✅ [Ensemble வகைப்பாட்டாளர்கள் பற்றி கற்றுக்கொள்ளுங்கள்](https://scikit-learn.org/stable/modules/ensemble.html)
இந்த Machine Learning முறை "பல அடிப்படை வகைப்படுத்திகளின் முன்னறிவிப்புகளை இணைக்கிறது" மாடலின் தரத்தை மேம்படுத்த. எங்கள் எடுத்துக்காட்டில், Random Trees மற்றும் AdaBoost-ஐ பயன்படுத்தினோம்.
இந்த மெஷின் கற்றல் முறை "பல அடிவகைகளின் முன்னறிவிப்புகளை இணைத்துக் கொண்டு" மாடல் தரத்தைக் மேம்படுத்துகிறது. உதாரணமாக, நாங்கள் Random Trees மற்றும் AdaBoost பயன்படுத்தினோம்.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), ஒரு சராசரி முறை, 'decision trees' களின் 'காடு' ஒன்றை உருவாக்குகிறது, இது overfitting-ஐ தவிர்க்க சீரற்ற தன்மையுடன் சேர்க்கப்படுகிறது. n_estimators அளவுரு மரங்களின் எண்ணிக்கையை அமைக்கிறது.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), ஒரு சராசரி முறை, 'அருச்செடி மரங்கள்' என்ற ஒரு 'காடை' உருவாக்குகிறது, இது மரபுக்கேற்ற முறையில் overfitting தவிர்க்க அசாதாரணத்தைக் கொண்டுள்ளது. n_estimators அளவுரு மரங்களின் எண்ணிக்கையை கொடுக்கிறது.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) ஒரு வகைப்படுத்தியை தரவுத்தொகுப்பில் பொருத்தி, பின்னர் அதே தரவுத்தொகுப்பில் அந்த வகைப்படுத்தியின் பிரதிகளை பொருத்துகிறது. தவறாக வகைப்படுத்தப்பட்ட உருப்படிகளின் எடைகளில் கவனம் செலுத்தி, அடுத்த வகைப்படுத்தியை சரிசெய்ய பொருத்தத்தை சரிசெய்கிறது.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) ஒரு வகைப்பாட்டாளரை தரவுத்தொகுதியில் பொருத்தி, அதன் பிரதிகளை ஒரே தரவுத்தொகுதியில் பொருத்துகிறது. தவறாக வகைப்படுத்தப்பட்ட உருப்படிகளின் எடைகளை கவனித்து அடுத்த வகைப்பாட்டாளருக்கு சரிசெய்து பொருத்தத்தை மேம்படுத்துகிறது.
---
## 🚀சவால்
இந்த முறைகளில் ஒவ்வொன்றுக்கும் நீங்கள் சரிசெய்யக்கூடிய அளவுருக்கள் நிறைய உள்ளன. ஒவ்வொன்றின் இயல்புநிலை அளவுருக்களை ஆராய்ந்து, இந்த அளவுருக்களை சரிசெய்வது மாடலின் தரத்துக்கு என்ன பொருள் என்று யோசிக்கவும்.
இந்த தொழில்நுட்பங்களில் ஒவ்வொன்றும் மிகப்பெரிய அளவுருக்களை கொண்டுள்ளது, அவற்றை நீங்கள் மாற்றி பார்க்கலாம். ஒவ்வொன்றின் இயல்புநிலை அளவுருக்களை ஆராய்ந்து, அவற்றை மாற்றுவதை மாடல் தரத்திற்கு என்ன விளைவுகள் வருமென்பதை யோசிக்கவும்.
## [பாடத்திற்குப் பிந்தைய வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
## [பாட முடிந்த பின் தேர்வு](https://ff-quizzes.netlify.app/en/ml/)
## மதிப்பீடு & சுய கற்றல்
## மதிப்பாய்வு & சுயமரியாதை கற்பது
இந்த பாடங்களில் பல தொழில்நுட்ப சொற்கள் உள்ளன, எனவே [இந்த பட்டியலை](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) ஒரு நிமிடம் பாருங்கள், பயனுள்ள சொற்களை மதிப்பீடு செய்ய!
இந்த பாடங்களில் பல தொழின்சொற்கள் உள்ளன, எனவே சில நிமிஷங்கள் எடுத்துக் கொண்டு [இந்த பட்டியலை](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) திரும்பிப் பாருங்கள்!
## பணிக்கட்டளை
## கடமை
[அளவுரு விளையாட்டு](assignment.md)
---
**குறிப்பு**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையை பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. எங்கள் தரச்சிறப்பிற்காக முயற்சிக்கின்றோம், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**செலவுரிமை**:
இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) மூலம் மொழிபெயர்க்கப்பட்டது. நாங்கள் துல்லியத்தன்மைக்கு முயற்சி செய்தாலும், தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். முதற்பத்திரம் அதன் மதிப்பீடு மொழியில் அதிகாரப்பூர்வ ஆதாரமாகக் கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு எங்களால் பொறுப்பேற்க முடியாது.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# வகைப்பாடு மாடலை உருவாக்கவும்\n"
"# வகைப்படுத்தல் மாதிரி கட்டமைக்கவும்\n"
]
},
{
@ -116,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**குறிப்பு**: \nஇந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கிறோம், ஆனால் தானியக்க மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**எச்சரிக்கை**: \nஇந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) மூலம் மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் சரியானதா என்றதை உறுதி செய்ய முயற்சித்தாலும், தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் மற்றும் தவறுகள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனிக்கவும். மூல ஆவணம் அதன் சொந்த மொழியில் அதிகாரப்பூர்வமான ஆதாரம் ஆகக் கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்காக, தじவீய மனித மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்ப்பினால் ஏற்படும் எந்த தவறான புரிதலும் அல்லது தவறான வரைவுகளுக்குமான பொறுப்பை நாம் ஏற்கமுடியாது.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -152,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-10-11T12:32:34+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "ta"
}
},
"nbformat": 4,

@ -2,7 +2,7 @@
"cells": [
{
"source": [
"# மேலும் வகைப்பாடு மாதிரிகளை உருவாக்குங்கள்\n"
"# மேலும் வகைப்படுத்தல் மாதிரிகள் கட்டமைக்கவும்\n"
],
"cell_type": "markdown",
"metadata": {}
@ -116,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"
]
},
{
@ -148,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)"
]
},
{
@ -263,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**குறிப்பு**: \nஇந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. எங்கள் நோக்கம் துல்லியமான மொழிபெயர்ப்பு வழங்குவது என்றாலும், தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது துல்லியமின்மைகள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**குறிப்பு**: \nஇந்தக் கோப்பு [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற செயற்கை நுண்ணறிவு மொழி மாற்ற சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நேர்மறையான துல்லியத்திற்காக நாம் முயலினாலும், தானாகத் மொழிபெயர்ப்புகள் தவறுகள் அல்லது முறைப்பாடுகள் ஏற்படலாம் என்பதை தயவுசெய்து கவனிக்கவும். தேவையான அசல் மொழியில் உள்ள ஆவணம் அவை படைத்த அதிகாரப்பூர்வ மூலமாக கருதப்பட வேண்டும். மிக முக்கியமான தகவல்களுக்கு தொழில்முறை மனித மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்பைப் பயன்படுத்தியதில் ஏற்படும் எந்தவொரு தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாம் பொறுப்பேற்கவில்லை.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -291,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-10-11T12:32:45+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "ta"
}
},
"nbformat": 4,

@ -10,76 +10,86 @@
### 🌐 பன்மொழி ஆதரவு
#### GitHub Action மூலமாக ஆதரிக்கப்படுகிறது (தானாகவும் எப்போதும் புதுப்பிக்கப்படும்)
#### GitHub செயல்பாடு மூலம் ஆதரிக்கப்படுகிறது (தானாகவும் எப்போதும் புதுப்பிக்கப்படுகிறது)
<!-- 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)](../tl/README.md) | [Tamil](./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)
> **உள்ளேற்றுமதிப்பார்வை விரும்புகிறீர்களா?**
> இந்த காப்பகம் 50+ மொழி மொழிபெயர்ப்புகளை உட்படுத்துகிறது, இது பதிவிறக்க அளவை குறிப்பிடத்தகுந்த முறையில் அதிகரிக்கின்றது. மொழிபெயர்ப்புகளை இல்லாமல் கிளோன் செய்வதற்கு, sparse checkout ஐப் பயன்படுத்தவும்:
> ** உள்ளூரில் கிளோன் செய்ய விரும்புகிறீர்களா?**
>
> இந்த ரெപ്പോzitரி 50+ மொழி மொழிபெயர்ப்புகளை உள்ளடக்கியுள்ளது, இது பதிவிறக்கும் அளவு משמעותமாக அதிகரிக்கிறது. மொழிபெயர்ப்புகள் இல்லாமல் கிளோன் செய்ய, 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"
> ```
>
> இது மிக வேகமான பதிவிறக்கத்துடன் பாடத்திட்டத்தை முடிக்க தேவையான அனைத்தையும் வழங்குகிறது.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### எங்கள் சமூகத்தில் சேரவும்
#### எங்கள் சமுதாயத்தில் இணைக
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
நாங்கள் ஒரு Discord AI பயிற்சி தொடரை நடத்தி வருகிறோம், மேலும் தகவலுக்கு மற்றும் எங்களுடன் சேர [Learn with AI Series](https://aka.ms/learnwithai/discord) செப் 18 - 30, 2025 வரை. GitHub Copilot ஐ Data Science க்காக எவ்வாறு பயன்படுத்துவது என்ற ஆலோசனைகள் மற்றும் டிப்ஸ்களை பெறுவீர்கள்.
எங்களிடம் ஒரு Discord கற்றுக்கொள் AI தொடர்கதை நடைபெறுகிறது, மேலும் அறிந்துகொண்டு எங்களுடன் சேர [Learn with AI Series](https://aka.ms/learnwithai/discord) விடுப்பு 18 - 30 செப்டம்பர், 2025. இதில் GitHub Copilot ஐ Data Science இற்காக பயன்படுத்துவதற்கான குறிப்புகள் மற்றும் குறும்படங்கள் கிடைக்கும்.
![Learn with AI series](../../translated_images/ta/3.9b58fd8d6c373c20.webp)
# ஆரம்பநிலை முதன்மைக் கற்றல் - ஒரு பாடத்திட்டம்
# ஆரம்பநிலை இயந்திரக் கற்றல் - ஒரு பாடத்திட்டம்
> 🌍 உலக கலாச்சாரங்கள் வழியாக இயந்திர கற்றலை ஆராய்வதற்கான உலகப் பயணம் 🌍
> 🌍 உலக பண்பாட்டைப் பயன்படுத்தி இயந்திரக் கற்றலை ஆராய்ந்து உலகம் சுற்றிப் பயணம் செய்கின்றோம் 🌍
Microsoft இல் Cloud Advocates 12 வாரங்கள், 26 பாடங்கள் கொண்ட **இயந்திர கற்றல்** பற்றிய பாடத்திட்டத்தை வழங்கி மகிழ்ச்சி அடைகிறது. இதில், நீங்கள் பொதுவாக **பாரம்பரிய இயந்திர கற்றல்** என்று அழைக்கப்படும் Scikit-learn நூலகத்தை பயன்படுத்தி, ஆழமான கற்றலை தவிர்த்து, இது எங்களது [கூடுதல் AI for Beginners' பாடத்திட்டத்தில்](https://aka.ms/ai4beginners) கையெழுத்தாக்கப்பட்டுள்ளது. இந்தப் பாடத்திட்டத்தை எங்கள் ['Data Science for Beginners' பாடத்திட்டத்துடன்](https://aka.ms/ds4beginners) இணைத்து பயிலவும்.
Microsoft இல் Cloud Advocates ஒரு 12 வார, 26 பாடங்களைக் கொண்ட முழுமையான **இயந்திரக் கற்றல்** பாடத்திட்டத்தை வழங்குவதில் மகிழ்ச்சி அடைகின்றனர். இந்த பாடத்திட்டத்தில் நீங்கள் சில நேரங்களில் **சாதாரண இயந்திரக் கற்றல்** எனப்படும் விஷயங்களை, பெரும்பாலும் Scikit-learn நூலகத்தைப் பயன்படுத்தி, ஆழமான கற்றல் தவிர்த்து கற்றுக்கொள்வீர்கள், அதில் ஆழமான கற்றல் பற்றிய பாடங்கள் எங்கள் [AI for Beginners' curriculum](https://aka.ms/ai4beginners) இல் உள்ளன. கூடுதலாக, 'Data Science for Beginners' பாடத்திட்டத்துடனும இணைக்கவும் [https://aka.ms/ds4beginners](https://aka.ms/ds4beginners).
உலகம் முழுவதும் உள்ள தரவுகளை பயன்படுத்தி, இந்த பாரம்பரிய முறைகளை செயல்படுத்தும் போது எங்களுடன் பயணம் செய்யுங்கள். ஒவ்வொரு பாடத்திலும் முன்கூட்டிய மற்றும் பின்கூட்டிய குயிஸ், எழுத்து வழிகாட்டிகள், தீர்வு, பணிகள், மற்றும் வேறு பல உள்ளன. எங்கள் திட்ட அடிப்படையிலான கற்றல் முறைகள், நீங்கள் உருவாக்கும் போது கற்றுக்கொள்ள உதவுகின்றன, இது புதிய திறன்கள் நன்கு நிலைநிறுத்த உதவும்.
உலகின் பல்வேறு பகுதிகளின் தரவுகளில் இந்த பாரம்பரிய தொழில்நுட்பங்களை நாம் பயன்படுத்திப் பயணிக்கும். ஒவ்வொரு பாடத்திலும் முன்னும் பின் உள்ளக் குவிஸ், பாடங்களை முடிக்க எழுதப்பட்ட விளக்கம், தீர்வு, பணியிடம் மற்றும் பிறவைகளைக் கொண்டுள்ளது. எங்கள் திட்டத்தின்படி கற்றல் முறைகள் புதிய திறன்களை உறுதிப்படுத்த உதவுகிறது.
**✍️ எங்கள் ஆசிரியர்களுக்கு நன்றிகள்** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu மற்றும் Amy Boyd
**✍️ எங்கள் ஆசிரியர்களுக்கு மனமார்ந்த நன்றி** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu மற்றும் Amy Boyd
**🎨 எங்கள் விளக்கப்படங்களை உருவாக்கியவர்க்கு நன்றிகள்** Tomomi Imura, Dasani Madipalli மற்றும் Jen Looper
**🎨 ஓவியர்களுக்கு நன்றிகள்** Tomomi Imura, Dasani Madipalli மற்றும் Jen Looper
**🙏 சிறப்பு நன்றி 🙏 Microsoft மாணவர் தூதர்கள் ஆசிரியர்கள், மதிப்பீட்டாளர்கள் மற்றும் உள்ளடக்க பங்களிப்பாளர்களுக்கு**, குறிப்பாக Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila மற்றும் Snigdha Agarwal
**🙏 சிறப்பு நன்றி Microsoft Student Ambassador ஆசிரியர்கள், மதிப்பாய்வாளர்கள் மற்றும் உள்ளடக்கு வழங்குநர்களுக்கு**, குறிப்பாக Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila மற்றும் Snigdha Agarwal
**🤩 மேலும் Microsoft மாணவர் தூதர்கள் Eric Wanjau, Jasleen Sondhi மற்றும் Vidushi Gupta க்கு R பாடங்களுக்கான நன்றி!**
**🤩 Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi மற்றும் Vidushi Gupta ஆகியோருக்கு எங்கள் R பாடங்களுக்கான கூடுதல் நன்றி!**
# தொடக்க
# தொடக்குதல
இந்த படிகளைக் கடைபிடிக்கவும்:
1. **காப்பகத்தை Fork செய்யவும்**: இந்தப் பக்கம் மேல்தோறும் இடது பகுதியில் உள்ள "Fork" பொத்தானை அழுத்தவும்.
2. **காப்பகத்தை Clone செய்யவும்**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
இந்த படிகளை பின்பற்றவும்:
1. **ரெப்போவை Fork செய்யவும்**: இப்பக்கத்தின் மேல்-வலது மூலையில் உள்ள "Fork" பொத்தானை அழுத்தவும்.
2. **ரெப்போவை Clone செய்யவும்**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [இந்த பாடத்திட்டத்துக்கான மேலதிக வளங்களை எங்கள் Microsoft கற்றல் சேகரத்தில் காண்க](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [இந்த பாடத்திட்டத்திற்கான கூடுதல் வளங்களை எங்கள் Microsoft Learn தொகுப்பில் காணவும்](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **உதவி தேவை வசதிகளுக்கு?** உள்ளமைவு, சமநிலை, மற்றும் பாடங்களை இயக்குவதற்கு பொதுவான பிரச்சினைகளுக்கு [தெரிய வண்டிய வழிகாட்டி](TROUBLESHOOTING.md) ஐப் பார்வையிடவும்.
> 🔧 **உதவி தேவையா?** நிறுவல், அமைப்பு மற்றும் பாடங்களை இயக்குவதற்கான பொதுவான பிரச்சனைகள் தொடர்பான தீர்வுகளுக்கு எங்கள் [திறம்பூட்டி வழிகாட்டி](TROUBLESHOOTING.md) பார்க்கவும்.
**[மாணவர்கள்](https://aka.ms/student-page)**, இந்த பாடத்திட்டத்தைப் பயன்படுத்த, முழு ரெப்போவை உங்கள் தனிப்பட்ட GitHub கணக்குக்கு fork செய்து, தனியாக அல்லது குழுவாக பயிற்சிகளை நிறைவேற்றவும்:
**[மாணவர்கள்](https://aka.ms/student-page)**, இந்த பாடத்திட்டத்தை பயன்படுத்த, முழு ரெப்போவை உங்கள் GitHub கணக்குக்கு Fork செய்து, தனிப்பட்டவாறு அல்லது குழுவாக பயிற்சிகளை முடிக்கவும்:
- முன்-வகுப்பு குயிசிலிருந்து தொடங்கவும்.
- வகுப்பைக் கவனமாக படித்து, செயல்களுக்கு நின்று சிந்திக்கவும்.
- பாடங்களை புரிந்து கொண்டு, தீர்வு குறியீட்டைக் இயக்கும் பதிலுக்கு பதிலாக திட்டங்களை உருவாக்க முயற்சிக்கவும்; ஆனால் அந்தக் குறியீடுகள் ஒவ்வொரு திட்டவியல் பாடத்திலும் `/solution` கோப்புறை里 கிடைக்கின்றன.
- பின்-வகுப்பு குயிசை எடுத்துக் கொள்ளவும்.
- சவாலை நிறைவேற்றவும்.
- பணியை முடிக்கவும்.
- ஒரு பாடத்திட்டக் குழுவை முடித்த பிறகு, [உரையாடல் பலகை](https://github.com/microsoft/ML-For-Beginners/discussions) ஐ பார்வையிட்டு, "பொலிவுடன் கற்றுக்கொள்ள" தகுந்த PAT மதிப்பீட்டு கருவியை நிரப்பவும். 'PAT' என்பது முன்னேற்ற மதிப்பீட்டு கருவி ஆகும், இது உங்கள் கற்றலை மேம்படுத்தும் ஒரு குறியீட்டீடு. மற்ற PATகளுக்கும் உங்கள் கருத்துக்களை பகிர்ந்துகொள்ளலாம்.
- முன்னுரை க்விஸ் மூலம் தொடங்கவும்.
- பாடத்தைப் படித்து, செயல்பாடுகளை நிறைவேற்றவும், ஒவ்வொரு அறிவு பரிசோதனையும் ஒன்றெருக்காக நிறுத்தி யோச்சிக்கவும்.
- பாடங்களை புரிந்து கொள்ள முயன்று திட்டங்களை உருவாக்கவும்; தீர்வு கோடுகள் `/solution` கோப்புறையில் தற்போது உள்ளது.
- பின்விளைவு க்விஸ் செய்க.
- சவால் முடிக்கவும்.
- பணியிடத்தை முடிக்கவும்.
- ஒரு பாடக் குழுவை முடித்த பின், [உரையாடல் பலகை](https://github.com/microsoft/ML-For-Beginners/discussions) ஐப் பார்வையிட்டு PAT ரூப்ரிக் நிரப்பி "உள்ளடக்கத்தை வெளிப்படுத்தவும்". 'PAT' என்பது உங்கள் கற்றலை மேம்படுத்தும் முன்னேற்ற மதிப்பீட்டு கருவி. மற்ற PAT களுக்கு பதிலளித்து நாம் ஒன்றாக கற்றுக்கொள்ளலாம்.
> மேலும் படிக்க, மேற்கண்ட [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) தொகுப்புகள் மற்றும் கற்றல் பாதைகளைப் பின்பற்ற பரிந்துரைக்கிறோம்.
> மேலதிக படிப்புக்கு, இந்த [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) பாடங்களையும் கற்றல் பாதைகளையும் பின்பற்ற பரிந்துரைக்கிறோம்.
**ஆசிரியர்கள்**, எங்கள் பாடத்திட்டத்தை எவ்வாறு பயன்படுத்துவது என்பதற்கான சில பரிந்துரைகளை [இங்கே](for-teachers.md) கோரியுள்ளோம்.
**ஆசிரியர்கள்**, இந்த பாடத்திட்டத்தை எப்படி பயன்படுத்துவது பற்றி சில பரிந்துரைகளை [இங்கே](for-teachers.md) வழங்கியுள்ளோம்.
---
## வீடியோ நடைமுறை
## காணொலி பெற்றோல்
சில பாடங்கள் குறுகிய வடிவ வடியோவில் கிடைக்கின்றன. இவை அனைத்தையும் பாடங்களில் நேரடியாக பார்க்கலாம் அல்லது [Microsoft Developer YouTube சேனலில் ML for Beginners பட்டியலில்](https://aka.ms/ml-beginners-videos) கீழே உள்ள படத்தை கிளிக் செய்து கண்டு கொள்ளலாம்.
சில பாடங்கள் குறுகிய வடிவத்தில் காணொளிகள் வடிவில் கிடைக்கின்றன. இந்த முழுவதும் பாடங்களில் அல்லது [ML for Beginners YouTube தொகுப்பில் Microsoft Developer சேனல்](https://aka.ms/ml-beginners-videos) காணலாம். கீழுள்ள படத்தைக் கிளிக் செய்யவும்.
[![ML for beginners banner](../../translated_images/ta/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -89,81 +99,81 @@ Microsoft இல் Cloud Advocates 12 வாரங்கள், 26 பாடங
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif உருவாக்கியவர்** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
**Gif** தயாரித்தவர் [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 மேலே படத்தைத் தட்டவும், திட்டம் மற்றும் அந்த திட்டத்தை உருவாக்கிய நபர்களைப் பற்றிய வீடியோவைக் காண!
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து திட்டம் மற்றும் அதை உருவாக்கியவர்களைப் பற்றி காணொளி பார்வையிடுங்கள்!
---
## கல்வி முறைகள்
## கற்பித்தல் முறைகள்
இந்த பாடத்திட்டத்தை உருவாக்கும்போது இரண்டு கல்வி நெறிமுறைகளை தேர்ந்தெடுத்துள்ளோம்: இது **தயாரிப்பு சார்ந்த திட்ட அடிப்படையிலான** மற்றும் அதில் **பல குயிச்களும்** அடிக்கப்பட்டுள்ளது என்பதை உறுதிசெய்தல். மேலும், இந்த பாடத்திட்டத்திற்கு பொதுவான ஒரு **தீம்** உள்ளது.
இந்த பாடத்திட்டத்தை உருவாக்கும் போது இரண்டு முக்கியக் கோட்பாடுகளைத் தாங்கள் தேர்ந்தெடுத்துள்ளோம்: செயலில் பங்கு பெறும் **திட்டம் சார்ந்தக் கிடைப்பின்மை** மற்றும் **மிகுந்த அளவில் இடையிடை க்விஸ்** வழங்கல். கூடுதலாக, பாடத்திட்டத்துக்கு ஒரு ஒருங்கிணைப்பான பொதுத் **தொகுதி** உள்ளது.
உள்ளடக்கம் திட்டங்களுக்கு உகந்ததாக இருக்கும் என்பதில் உறுதியளிப்பதால் மாணவர்களுக்கு இந்தப் பயிற்சி மேலும் ஈடுபடுத்தக்கூடியதாகவும், கருத்துகளின் நிலைத்தன்மை அதிகரிக்கும். வகுப்புக்கு முன் உள்ள குயிஸ் மாணவரின் கற்றுக்கொள்ளும் நோக்கத்தைக் குறிக்கிறது; வகுப்புக்குப் பிறகு உள்ள மற்றொரு குயிஸ் நிலைத்தன்மையை உறுதிப்படுத்துகிறது. இந்த பாடத்திட்டம் தனிமையாக அல்லது பகுதியாக எடுக்கக் கூடிய ஆர்வமூட்டும் வடிவத்தை கொண்டது. திட்டங்கள் சிறியதாக தொடங்கி, 12 வாரங்கள் கடைசிக்குள் சிக்கலானதாக மாறுகின்றன. இயந்திர கற்றல் தொடர்பான உலகளாவிய பயன்பாடுகளின் ஒரு பின்குறிப்பும் இதில் உள்ளது, இது கூடுதல் மதிப்பெண் அல்லது விவாதத்திற்கும் உதவும்.
உள்ளடக்கம் திட்டங்களோடு இணைக்கப்பட்டதால் மாணவர்கள் தொடர்பு கொள்ளச் சாத்தியம் அதிகரிக்கிறது மற்றும் கருத்துக்களை நீண்டகாலத்திற்கு நினைவுபடுத்தும். வகுப்பிற்கு முன் ஒரு குறைந்த அழுத்தக் க்விஸ் மாணவரின் நோக்கம் தெரிவிப்பதற்கும், வகுப்புக்குப் பின் இரண்டாவது க்விஸ் கூட்டு நினைவூட்டலுக்குமாக செயல்படும். இந்த பாடத்திட்டம் நெகிழ்வும் மற்றும் மகிழ்ச்சியுடனும் கற்றுக் கொள்ள முடியும். 12 வார கால அவகாசத்தில் திட்டங்கள் சிறியதாக தொடங்கி முதிர்ந்ததாக மாறுகின்றன. பாடத்திட்டம் ஒரு உலகில் பயன்பாட்டை உரைக்கும் பின்னூட்டத்தினை உள்ளடக்கியுள்ளது, இது கூடுதல் மதிப்பெண்களுக்கோ அல்லது விவாதத்திற்கோ பயன்படுத்தக்கூடியது.
> எங்கள் [ண்காணிப்பு நெறிமுறைகள்](CODE_OF_CONDUCT.md), [பங்களிப்பு வழிகாட்டுதல்கள்](CONTRIBUTING.md), [மொழிபெயர்ப்பு](TRANSLATIONS.md), மற்றும் [சிக்கல்கள் தீர்வு](TROUBLESHOOTING.md) கையேடுகளை இங்கே கண்டறியவும். உங்கள் விளக்கமான கருத்துக்களை வரவேற்கின்றோம்!
> எங்கள் [ட்டுப்பாட்டு விதிகள்](CODE_OF_CONDUCT.md), [கொள்கைகள்](CONTRIBUTING.md), [மொழிபெயர்ப்பு](TRANSLATIONS.md), மற்றும் [திறம்பூட்டி](TROUBLESHOOTING.md) வழிகாட்டுதல்கள் உள்ளன. உங்கள் கட்டுமான பின்னூட்டங்களை வரவேற்கிறோம்!
## ஒவ்வொரு பாடத்திலும் உள்ளவை
- விருப்பமான வரைபட குறிப்புகள்
- விருப்பமான கூடுதல் வீடியோ
- வீடியோ நடைமுறை (சில பாடங்கள் மட்டும்)
- [முன்-வகுப்பு உஷ்ணம் குயிஸ்](https://ff-quizzes.netlify.app/en/ml/)
- எழுத்து பாடம்
- திட்டத்திற்கான பாடங்களில், படி படியாக திட்டத்தை உருவாக்க வழிகாட்டிகள்
- அறிவு சோதனைகள்
- விருப்பமான மேலதிக காணொலி
- காணொலி வழிகாட்டு (சில பாடங்கள் மட்டும்)
- [முன்னுரை க்விஸ்](https://ff-quizzes.netlify.app/en/ml/)
- எழுதப்பட்ட பாடம்
- திட்டம் சார்ந்த பாடங்களுக்கு படிகளை அடுத்து திட்டத்தை உருவாக்க வழிகாட்டிகள்
- அறிவு பரிசோதனைகள்
- சவால்
- கூடுதல் வாசிப்பு
- பணிகள
- [பின்-வகுப்பு குயிஸ்](https://ff-quizzes.netlify.app/en/ml/)
> **மொழிகள் குறித்த குறிப்பு**: இந்தப் பாடங்கள் பெரும்பாலும் Python இல் எழுதப்பட்டவை, ஆனால் பல பாடங்கள் R மொழியிலும் கிடைக்கின்றன. R பாடத்தை முடிக்க, `/solution` கோப்புறையிலிருந்து R பாடங்களைத் தேடுங்கள். அவற்றிற்கு .rmd நீட்சிகள் உள்ளன, இது ஒரு **R Markdown** கோப்பாகும், இது `code chunks` (R அல்லது பிற மொழிகள்) மற்றும் `YAML header` (PDF போன்ற வடிவங்களை உண்டாக்க வழிகாட்டுகிறது) கொண்ட ஒரு Markdown உருவாக்க முறையாகும். இதன் மூலம் உங்கள் குறியீடு, அதன் வெளியீடு மற்றும் உங்கள் யோசனைகளை Markdown வடிவத்தில் எழுத முடியும். மேலும், R Markdown ஆவணங்களை PDF, HTML அல்லது Word போன்ற வடிவங்களில் உருவாக்கலாம்.
> **க்விஸ்கள் பற்றி ஒரு குறிப்பு**: அனைத்து க்விஸ்களும் [Quiz App folder](../../quiz-app) இல் உள்ளன, ஒவ்வொன்றிலும் மூன்று கேள்விகளுடன் 52 மொத்த க்விஸ்கள் உள்ளன. அவை பாடத்தின் உள்ளே இணைக்கப்பட்டுள்ளன, ஆனால் க்விஸ் செயலியை உள்ளூர் முறையில் இயக்கலாம்; உள்ளூரில் ஹோஸ்ட் செய்ய அல்லது Azure இல் பரப்பும் வழிமுறையை `quiz-app` அடைவிலுள்ள அறிவுறுத்தல்களின் பேரில் பின்பற்றவும்.
| பாடம் எண் | தலைப்பு | பாடக் குழு | கற்றல் நோக்கங்கள் | இணைக்கப்பட்ட பாடம் | ஆசிரியர் |
| :--------: | :------------------------------------------------------------: | :---------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| 01 | இயந்திரக் கற்றல் அறிமுகம் | [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றலின் அடிப்படை கருத்துக்களை கற்றுக்கொள்ளவம் | [பாடம்](1-Introduction/1-intro-to-ML/README.md) | முகம்மது |
| 02 | இயந்திரக் கற்றலின் வரலாறு | [Introduction](1-Introduction/README.md) | இந்த துறையின் பின்னணியிலான வரலாரை கற்றுக்கொள்ளவும் | [பாடம்](1-Introduction/2-history-of-ML/README.md) | ஜென் மற்றும் ஏமி |
| 03 | நியாயத்தன்மை மற்றும் இயந்திரக் கற்றல் | [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றல் மாதிரிகளை உருவாக்கி செயல்படுத்தும் போது மாணவர்கள் பரிசீலிக்கவேண்டிய முக்கிய தத்துவப் பிரச்சினைகள் என்னவாக இருக்கின்றன? | [பாடம்](1-Introduction/3-fairness/README.md) | தொமொமி |
| 04 | இயந்திரக் கற்றல் தொழில்நுட்பங்கள் | [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றல் மாதிரிகளை உருவாக்கக் ஆராய்ச்சியாளர்கள் பயன்படுத்தும் தொழில்நுட்பங்கள் என்ன? | [பாடம்](1-Introduction/4-techniques-of-ML/README.md) | கிரிஸ் மற்றும் ஜென் |
| 05 | சராசரி முன்னறிக்கை அறிமுகம் | [Regression](2-Regression/README.md) | பைதான் மற்றும் ஸ்கிக்கிட்-லர்ன் பயன்படுத்தி சராசரி முன்னறிக்கை மாதிரிகளை தொடங்குங்கள் | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | ஜென் • எரிக் வன்ஜாவ் |
| 06 | வட அமெரிக்க பரங்கிப்பொதனள விலை 🎃 | [Regression](2-Regression/README.md) | இயந்திரக் கற்றலுக்கான தரவை காட்சிப்படுத்தி சுத்திகரிக்கவும் | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | ஜென் • எரிக் வன்ஜாவ் |
| 07 | வட அமெரிக்க பரங்கிப்பொதனள விலை 🎃 | [Regression](2-Regression/README.md) | கோட்படுத்தப்பட்ட மற்றும் பலவகை சராசரி முன்னறிக்கை மாதிரிகளை உருவாக்கவும் | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | ஜென் மற்றும் திமித்ரி • எரிக் வன்ஜாவ் |
| 08 | வட அமெரிக்க பரங்கிப்பொதனள விலை 🎃 | [Regression](2-Regression/README.md) | லாஜிஸ்டிக் சராசரி முன்னறிக்கை மாதிரியை உருவாக்கவும் | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | ஜென் • எரிக் வன்ஜாவ் |
| 09 | ஒரு வலை பயன்பாடு 🔌 | [Web App](3-Web-App/README.md) | உங்கள் பயிற்சி பெற்ற மாதிரியை பயன்படுத்த ஒரு வலை பயன்பாட்டை உருவாக்கவும் | [Python](3-Web-App/1-Web-App/README.md) | ஜென் |
| 10 | வகைப்படுத்தலுக்கு அறிமுகம் | [Classification](4-Classification/README.md) | தரவினை சுத்திகரித்து, தயார் செய்து காட்சிப்படுத்தவும்; வகைப்படுத்தலுககு அறிமுகம் | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | ஜென் மற்றும் கேசி • எரிக் வன்ஜாவ் |
| 11 | சுவையான ஆசிய மற்றும் இந்திய உணவுப் பாரம்பரியங்கள் 🍜 | [Classification](4-Classification/README.md) | வகைப்படுத்தலுக்கான அறிமுகம் | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | ஜென் மற்றும் கேசி • எரிக் வன்ஜாவ் |
| 12 | சுவையான ஆசிய மற்றும் இந்திய உணவுப் பாரம்பரியங்கள் 🍜 | [Classification](4-Classification/README.md) | கூடுதலான வகைப்படுத்திகள் | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | ஜென் மற்றும் கேசி • எரிக் வன்ஜாவ் |
| 13 | சுவையான ஆசிய மற்றும் இந்திய உணவுப் பாரம்பரியங்கள் 🍜 | [Classification](4-Classification/README.md) | உங்கள் மாதிரியை பயன்படுத்தி பரிந்துரை செய்யும் வலை பயன்பாட்டை உருவாக்கவும் | [Python](4-Classification/4-Applied/README.md) | ஜென் |
| 14 | குழுக்களுக்கான அறிமுகம் | [Clustering](5-Clustering/README.md) | தரவினை சுத்திகரித்து, தயார் செய்து காட்சிப்படுத்து; குழுக்களுக்கான அறிமுகம் | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | ஜென் • எரிக் வன்ஜாவ் |
| 15 | நைஜீரிய இசை விருப்பங்களை ஆராயல் 🎧 | [Clustering](5-Clustering/README.md) | K-Means குழுக்கள முறையை ஆராயவும் | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | ஜென் • எரிக் வன்ஜாவ் |
| 16 | இயற்கை மொழி செயலாக்கத்திற்கு அறிமுகம் ☕️ | [Natural language processing](6-NLP/README.md) | எளிய பாட்டை உருவாக்கி இயற்கை மொழி செயலாக்கத்தின் அடிப்படைகளை கற்றுக்கொள்ளவும் | [Python](6-NLP/1-Introduction-to-NLP/README.md) | ஸ்டீபன் |
| 17 | பொதுவான NLP பணிகள் ☕️ | [Natural language processing](6-NLP/README.md) | மொழிமுறை அமைப்புகளை கையாளும் போது தேவைப்படும் பொதுவான பணிகளைக் கொண்டு உங்கள் NLP அறிவை ஆழமாகப் புரிந்துகொள்ளவும் | [Python](6-NLP/2-Tasks/README.md) | ஸ்டீபன் |
| 18 | மொழிபெயர்ப்பு மற்றும் உணர்வு பகுப்பாய்வு ♥️ | [Natural language processing](6-NLP/README.md) | ஜெய்ன் ஆச்டன் உடன் மொழிபெயர்ப்பு மற்றும் உணர்வு பகுப்பாய்வு | [Python](6-NLP/3-Translation-Sentiment/README.md) | ஸ்டீபன் |
| 19 | ஐரோப்பிய காதலிடும் ஹோட்டல்கள் ♥️ | [Natural language processing](6-NLP/README.md) | ஹோட்டல் விமர்சனங்களுடன் உணர்வு பகுப்பாய்வு 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | ஸ்டீபன் |
| 20 | ஐரோப்பிய காதலிடும் ஹோட்டல்கள் ♥️ | [Natural language processing](6-NLP/README.md) | ஹோட்டல் விமர்சனங்களுடன் உணர்வு பகுப்பாய்வு 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | ஸ்டீபன் |
| 21 | கால தொடர் முன்கூட்டிப் புலனாய்வுக்கு அறிமுகம் | [Time series](7-TimeSeries/README.md) | கால தொடர்முன்கூட்டுச் செயல்முறைக்கு அறிமுகம் | [Python](7-TimeSeries/1-Introduction/README.md) | பிரான்செஸ்கா |
| 22 | ⚡️ உலக சக்தி பயன்பாடு ⚡️ - ARIMA உடன் கால தொடர் முன்கூட்டிப்பு | [Time series](7-TimeSeries/README.md) | ARIMA உடன் கால தொடர் முன்கூட்டிப்பு | [Python](7-TimeSeries/2-ARIMA/README.md) | பிரான்செஸ்கா |
| 23 | ⚡️ உலக சக்தி பயன்பாடு ⚡️ - SVR உடன் கால தொடர் முன்கூட்டிப்பு | [Time series](7-TimeSeries/README.md) | Support Vector Regressor உடன் கால தொடர் முன்கூட்டிப்பு | [Python](7-TimeSeries/3-SVR/README.md) | அனிர்பன் |
| 24 | மீண்டும் வலுவூட்டும் கற்றலுக்கு அறிமுகம் | [Reinforcement learning](8-Reinforcement/README.md) | Q-Learning உடன் மீண்டும் வலுவூட்டும் கற்றலுக்கு அறிமுகம் | [Python](8-Reinforcement/1-QLearning/README.md) | திமித்ரி |
| 25 | பீட்டர் ஓநாயை தவிர்க்க உதவு! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | மீண்டும் வலுவூட்டும் கற்றல் ஜிம் | [Python](8-Reinforcement/2-Gym/README.md) | திமித்ரி |
| பின்னூட்டம் | நிஜ உலக இயந்திரக் கற்றல் நிகழ்வுகள் மற்றும் பயன்பாடுகள் | [ML in the Wild](9-Real-World/README.md) | பாரம்பரிய இயந்திரக் கற்றலின் சுவாரஸ்யமான மற்றும் வெளிப்படுத்தும் உலகநிலை பயன்பாடுகள் | [பாடம்](9-Real-World/1-Applications/README.md) | குழு |
| பின்னூட்டம் | RAI டாஷ்போர்டைப் பயன்படுத்தி இயந்திரக் கற்றலில் மாதிரி பிழைத்திருத்தல் | [ML in the Wild](9-Real-World/README.md) | பொறுப்பான AI டாஷ்போர்ட கூறுகளைப் பயன்படுத்தி இயந்திரக் கற்றலில் மாதிரி பிழைத்திருத்தல் | [பாடம்](9-Real-World/2-Debugging-ML-Models/README.md) | ரூத் யாகுபு |
> [இந்த பாடத்திற்கான அனைத்து கூடுதல் வளங்களையும் எங்கள் Microsoft Learn சேகரிப்பில் காண்க](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- மேலதிக வாசிப்பு
- பணியிடம
- [பின்விளைவு க்விஸ்](https://ff-quizzes.netlify.app/en/ml/)
> **மொழிகள் பற்றிய குறிப்பு**: இத்தகைய பாடங்கள் பெரும்பாலும் Python இல் எழுதப்பட்டவை, ஆனால் பல R இல் கூட கிடைக்கின்றன. R பாடத்தைக் கற்றுக்கொள்ள `/solution` கோப்பகத்துக்குச் சென்று R பாடங்களைத் தேடவும். அவைகளுக்கு .rmd நீட்சிகள் உள்ளன, அவை **R மார்க்டவுன்** கோப்பாகக் குறிப்பிடப்படுகின்றன, இது `code chunks` (R அல்லது பிற மொழிகளின்) மற்றும் `YAML header` (PDF போன்ற வெளியீடுகளை எவ்வாறு வடிவமைக்க வேண்டும் என்பதைக் காண்பிக்கும்) ஆகியவற்றுடன் கூடிய `Markdown document` ஆக வரையறுக்கப்படுகிறது. இதனால், நீங்கள் உங்கள் கோடுகள், அவற்றின் வெளியீடு மற்றும் உங்கள் எண்ணங்களைக் கொண்டுவர Markdown இல் எழுத அனுமதிப்பதால், இது தரவு அறிவியல் எழுதுதல் அமைப்பிற்கான உத்தமமான வடிவமைப்பாக செயல் படுகிறது. மேலும், R மார்க்டவுன் ஆவணங்களை PDF, HTML அல்லது Word போன்ற வெளியீட்டு வடிவங்களில் உருவாக்க முடியும்.
> **வினாடி வினா குறிப்பு**: அனைத்து வினாடி வினாக்களும் [Quiz App folder](../../quiz-app) இல் உள்ளன, மொத்தம் 52 வினாடி வினாக்கள், ஒவ்வொன்றும் மூன்று கேள்விகளைக் கொண்டவை. அவை பாடங்களிலிருந்து இணைக்கப்பட்டுள்ளன, ஆனால் வினாடி வினா செயலியை உள்ளூரில் இயக்கலாம்; உள்ளூரில் அணுக அல்லது Azure இல் பகிர்வதற்கான வழிமுறைகளை `quiz-app` கோப்பகத்தில் பின்பற்றவும்.
| படிப்பு எண் | தலைப்பு | படிப்பு தொகுப்பு | கற்றல் குறிக்கோள்கள் | இணைக்கப்பட்ட படிப்பு | ஆசிரியர் |
| :---------: | :--------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| 01 | இயந்திரக் கற்றல் அறிமுகம் | [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றலின் அடிப்படைக் கருத்துகளை கற்பதற்கு | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | இயந்திரக் கற்றலின் வரலாறு | [Introduction](1-Introduction/README.md) | இந்த துறையின் பின்னணியிலுள்ள வரலாற்றைப் பற்றிக் கற்பதற்கு | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen மற்றும் Amy |
| 03 | நீதிமுற்றத்தும் இயந்திரக் கற்றலும| [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றல் மாதிரிகளை உருவாக்கும் மற்றும் பயன்படுத்தும் போது மாணவர்கள் பரிசீலிக்க வேண்டிய முக்கிய தத்துவ பிரச்சினைகள் என்ன? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | இயந்திரக் கற்றல் தொழில்நுட்பங்கள் | [Introduction](1-Introduction/README.md) | இயந்திரக் கற்றல் ஆராய்ச்சியாளர்கள் எந்த தொழில்நுட்பங்களை பயன்படுத்தி மாதிரிகளை உருவாக்குகிறார்கள்? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris மற்றும் Jen |
| 05 | பின்விளைவியல் அறிமுகம் | [Regression](2-Regression/README.md) | பின்விளைவியல் மாதிரிகளுக்கு Python மற்றும் Scikit-learn இல் தொடங்கவும் | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | வடக்கு அமெரிக்க பூசணிக்காய் விலை 🎃 | [Regression](2-Regression/README.md) | இயந்திரக் கற்றலுக்கான தரவுகளை காட்சிப்படுத்தி சுத்தமாக்கவும் | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | வடக்கு அமெரிக்க பூசணிக்காய் விலை 🎃 | [Regression](2-Regression/README.md) | நேரியல் மற்றும் பன்முக பின்விளைவியல் மாதிரிகளை கட்டமைக்கவும் | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen மற்றும் Dmitry • Eric Wanjau |
| 08 | வடக்கு அமெரிக்க பூசணிக்காய் விலை 🎃 | [Regression](2-Regression/README.md) | லாஜிஸ்டிக் பின்விளைவியல் மாதிரியை கட்டமைக்கவும் | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | ஒரு வலை செயலி 🔌 | [Web App](3-Web-App/README.md) | பயிற்சி பெற்ற மாதிரியை பயன்படுத்த ஒரு வலை செயலியை கட்டமைக்கவும் | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | வகை வகைப்புப் பயன்படுத்தும் அறிமுகம் | [Classification](4-Classification/README.md) | தரவை சுத்தப்படுத்த, தயாராகவும், காட்சிப்படுத்தவும்; வகைப்படுத்தல் அறிமுகம் | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen மற்றும் Cassie • Eric Wanjau |
| 11 | ருசிகரமான ஆசிய மற்றும் இந்திய உணவுகள் 🍜 | [Classification](4-Classification/README.md) | வகைப்படுத்திகளுக்கு அறிமுகம் | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen மற்றும் Cassie • Eric Wanjau |
| 12 | ருசிகரமான ஆசிய மற்றும் இந்திய உணவுகள் 🍜 | [Classification](4-Classification/README.md) | கூடுதல் வகைப்படுத்திகள் | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen மற்றும் Cassie • Eric Wanjau |
| 13 | ருசிகரமான ஆசிய மற்றும் இந்திய உணவுகள் 🍜 | [Classification](4-Classification/README.md) | உங்கள் மாதிரியைப் பயன்படுத்தி பரிந்துரை வலை செயலியை கட்டமைக்கவும் | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | கிளஸ்டரிங் அறிமுகம் | [Clustering](5-Clustering/README.md) | தரவை சுத்தமாக்க, தயாராகவும், காட்சிப்படுத்தவும்; கிளஸ்டரிங் அறிமுகம் | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | நைஜீரிய இசை ருசிகளைக் கண்டுகொள்ளுதல் 🎧 | [Clustering](5-Clustering/README.md) | 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 | இயற்கை மொழி செயலாக்க அறிமுகம் ☕️ | [Natural language processing](6-NLP/README.md) | ஒரு எளிய பாய்டை கட்டமைத்து NLP அடிப்படைகளை கற்றுக்கொள்ளவும் | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | பொதுவான NLP பணிகள் ☕️ | [Natural language processing](6-NLP/README.md) | மொழி அமைப்புகளுடன் தொடர்பு கொள்ளும் போது தேவையான பொதுவான பணிகளை புரிந்து உங்கள் NLP அறிவைக் தீவிரப்படுத்தவும் | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | மொழிபெயர்ப்பு மற்றும் உணர்வு பகுப்பாய்வு ♥️ | [Natural language processing](6-NLP/README.md) | ஜெய்ன் ஆஸ்டின் மூலம் மொழிபெயர்ப்பு மற்றும் உணர்வு பகுப்பாய்வு | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | ஐரோப்பிய காதல் விடுதிகள் ♥️ | [Natural language processing](6-NLP/README.md) | ஹோட்டல் விமர்சனங்களுடன் உணர்வு பகுப்பாய்வு 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | ஐரோப்பிய காதல் விடுதிகள் ♥️ | [Natural language processing](6-NLP/README.md) | ஹோட்டல் விமர்சனங்களுடன் உணர்வு பகுப்பாய்வு 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | கால வரிசை முன்னறிவிப்பு அறிமுகம் | [Time series](7-TimeSeries/README.md) | கால வரிசை முன்னறிவிப்புக்கு அறிமுகம் | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ உலக சக்தி பயன்பாடு ⚡️ - ARIMA உடன் கால வரிசை முன்னறிவிப்பு | [Time series](7-TimeSeries/README.md) | ARIMA உடன் கால வரிசை முன்னறிவிப்பு | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ உலக சக்தி பயன்பாடு ⚡️ - SVR உடன் கால வரிசை முன்னறிவிப்பு | [Time series](7-TimeSeries/README.md) | ஆதரவு வெக்டர் பின்விளைவியாளருடன் கால வரிசை முன்னறிவிப்பு | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | பராமரிப்பு கற்றல் அறிமுகம் | [Reinforcement learning](8-Reinforcement/README.md) | Q-Learning உடன் பராமரிப்பு கற்றல் அறிமுகம் | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | பீட்டர் காட்டியைத் தவிர்க்க உதவி! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | பராமரிப்பு கற்றல் ஜிம் | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| பின்னூட்டம் | உண்மையான உலக இயந்திர கற்றல் காட்சிகள் மற்றும் பயன்பாடுகள் | [ML in the Wild](9-Real-World/README.md) | பழைய இயந்திரக் கற்றல் பயன்முறைகளின் சுவாரஸ்யமான மற்றும் வெளிப்படுத்தும் உண்மையான உலக பயன்பாடுகள் | [Lesson](9-Real-World/1-Applications/README.md) | குழு |
| பின்னூட்டம் | RAI டாஷ்போர்டைப் பயன்படுத்தி இயந்திரக் கற்றல் மாதிரி பிழைத்திருத்தம் | [ML in the Wild](9-Real-World/README.md) | பொறுப்பான AI டாஷ்போர்ட கூறுகளைப் பயன்படுத்தி இயந்திரக் கற்றலில் மாதிரி பிழைத்திருத்தம் | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [இந்த பாடத்திட்டத்திற்கு மேலும் அனைத்து ஆதாரங்களையும் எங்கள் Microsoft Learn தொகுப்பில் பாருங்கள்](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## ஆஃப்லைன் அணுகல்
[Docsify](https://docsify.js.org/#/) பயன்படுத்தி நீங்கள் இந்த ஆவணத்தை ஆஃப்லைனிலேயே இயக்கலாம். இந்த ரெபோக்களை ஃபோர்க் செய்து, உங்கள் உள்ளூர் கணினியில் [Docsify ஐ நிறுவவும்](https://docsify.js.org/#/quickstart), பின்னர் இந்த ரெபோவின் துவக்க அடைவில் `docsify serve` என்று உள்ளிடவும். இணையதளம் உங்கள் உள்ளூர் இயந்திரத்தில் 3000 வலைத்துறை இயக்கத்தில் இருக்கும்: `localhost:3000`.
இந்த ஆவணத்தை ஆஃப்லைனில் ஓட்ட [Docsify](https://docsify.js.org/#/) பயன்பாட்டை பயன்படுத்தலாம். இந்த ரெப்போவை fork செய்து, உங்கள் உள்ளூர் கணினியில் [Docsify ஐ நிறுவி](https://docsify.js.org/#/quickstart), பிறகு இந்த ரெப்போவின் வேர் கோப்பகத்தில் `docsify serve` என்ற கட்டளை அதிவலைக்கவும். தளத்தை உங்கள் உள்ளூர் 3000 போர்டில் வழங்கும்: `localhost:3000`.
## PDF-கள்
## PDFகள்
அடிப்படைக் குறிப்புகளின் PDF-ஐ உடன் இணைப்புடன் [இங்கே](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf) காண்.
பாடத்திட்டத்தின் PDF ஐ [இங்கே](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf) இணைப்புடன் காணலாம்.
## 🎒 பிற பாடத்திட்டங்கள்
## 🎒 மற்ற பாடங்கள்
மது குழு பிற பாடங்களையும் உருவாக்குகிறது! பாருங்கள்:
ங்கள் குழு பிற பாடங்களையும் உருவாக்குகிறது! பாருங்கள்:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -180,7 +190,7 @@ Microsoft இல் Cloud Advocates 12 வாரங்கள், 26 பாடங
---
### ஜெனரேற்றிவ் AI தொடர்
### உருவாக்கும் AI தொடர்கதை
[![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)
@ -205,19 +215,24 @@ Microsoft இல் Cloud Advocates 12 வாரங்கள், 26 பாடங
[![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 -->
## உதவிக்காக அணுகல்
## உதவி பெறுதல்
AI செயலிகள் விரிவாக்கத்தில் சிக்கல் ஏற்பட்டால் அல்லது ஏதேனும் கேள்விகள் இருந்தால், MCP பற்றிய விவாதங்களில் மற்ற மாணவர்களும் அனுபவம் வாய்ந்த முன்னேற்றுநர்களும் இணைந்துகொள்ளவும். கேள்விகள் கொள்ளப்படுவதற்கும் அறிவு சுதந்திரமாக பகிரப்படுவதற்கும் இது ஒரு ஆதரவான சமுதாயம் ஆகும்.
AI பயன்பாடுகள் உருவாக்கும்போது எதுவும் புரியவில்லை என்றால் அல்லது கேள்விகள் இருந்தால். MCP பற்றி சம்மந்தப்பட்ட கற்றாளர்கள் மற்றும் அனுபவமிக்க டெவலப்பர்களுடன் விவாதங்களில் கலந்து கொள்ளவும். இது கேள்விகளுக்கு வரவேற்கப்படும் மற்றும் அறிவு சுதந்திரமாக பகிரப்படும் ஒரு ஆதரவான சமூகமாகும்.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
தயாரிப்பில் கருத்துக்களோ அல்லது பிழைகளோ இருந்தால்:
உற்பத்தி பின்னூட்டங்கள் அல்லது பிழைகள் இருந்தால், கட்டுமானத்தின் போது கீழ்க்காணும் முகவரியை பார்வையிடவும்:
[![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)
## கூடுதல் கற்றல் குறிப்புகள்
- ஒவ்வொரு பாடத்திலும் நோட்புக்குகளை மறுபரிசீலனை செய்யவும் சிறந்த புரிதலுக்காக.
- உங்கள் சொந்தமாக ஆல்கொரிதம்களை செயல்படுத்திப் பயிற்சி பெறவும்.
- கற்றுக்கொண்ட கருத்துக்களை பயன்படுத்தி நிஜ உலக தரவுத் தொகுப்புகளை ஆய்வு செய்யவும்.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**குறிப்பு**:
இந்தக் கோப்புப் பதிவு [Co-op Translator](https://github.com/Azure/co-op-translator) எனும் AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டது. எங்களின் முயற்சிகள் இல்லாமல், தானியங்கியான மொழிபெயர்ப்பு தவறுகள் அல்லது நான்கு குறைகள் இருக்க வாய்ப்பு உள்ளன என்பதை நினைவில் கொள்ளவும். அசல் ஆவணம் அதன் முதன்மை மொழியில் தான் நம்பகமான ஆதாரம் ஆகும். முக்கியமான தகவல்களுக்காக, தொழில்முறை மனிதர் மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு எங்கள் பொறுப்பே இல்லை.
**குறிப்புரை**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என் AI மொழிபெயர்ப்பு சேவையை பயன்படுத்தி மொழி மாற்றப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சி செய்தாலும், தானாகச் செய்யப்படும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்க வாய்ப்பு உள்ளது என்பதை கவனிக்கவும். அசல் ஆவணம் அதன் சொந்த மொழியில் அதிகாரப்பூர்வ மூலமாகக் கருதப்பட வேண்டும். முக்கியமான தகவலுக்காக, தொழில் நுட்பமான மனித மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்ப்பினால் ஏதாவது தவறான புரிதல்கள் அல்லது தவறான விளக்கங்கள் ஏற்பட்டால் நாம் பொறுப்பாக இருப்பில் இல்லை.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save