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

pull/935/head
localizeflow[bot] 5 months ago
parent 961e834fed
commit 9a01338c08

@ -30,8 +30,8 @@
"language_code": "cs"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-05T00:25:37+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T10:02:18+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "cs"
},
@ -90,8 +90,8 @@
"language_code": "cs"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-04T23:20:43+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T10:03:24+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "cs"
},
@ -186,8 +186,8 @@
"language_code": "cs"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T00:49:40+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T10:03:47+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "cs"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "cs"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:53:51+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "cs"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-05T00:51:39+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "cs"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:53:57+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "cs"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T00:46:49+00:00",
@ -540,8 +552,8 @@
"language_code": "cs"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:53:26+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T10:02:11+00:00",
"source_file": "README.md",
"language_code": "cs"
},

@ -1,16 +1,18 @@
# Prozkoumejte nástroj Responsible AI Toolbox
# Prozkoumejte toolbox Responsible AI
## Pokyny
V této lekci jste se seznámili s nástrojem Responsible AI Toolbox, „open-source projektem řízeným komunitou, který pomáhá datovým vědcům analyzovat a zlepšovat AI systémy.“ Pro tento úkol prozkoumejte jeden z [notebooků](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) nástroje RAI Toolbox a své poznatky shrňte v písemné práci nebo prezentaci.
V této lekci jste se dozvěděli o toolboxu Responsible AI, "otevřeném, komunitou řízeném projektu, jehož cílem je pomoci datovým vědcům analyzovat a zlepšovat AI systémy." Pro tento úkol prozkoumejte jeden z RAI Toolbox [notebooků](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) a své zjištění prezentujte v závěrečné práci nebo prezentaci.
## Hodnoticí kritéria
## Hodnotící kritéria
| Kritéria | Vynikající | Dostatečné | Vyžaduje zlepšení |
| -------- | ---------- | ---------- | ----------------- |
| | Je předložena písemná práce nebo powerpointová prezentace, která diskutuje systémy Fairlearn, spuštěný notebook a závěry vyvozené z jeho spuštění | Je předložena písemná práce bez závěrů | Není předložena žádná písemná práce |
| Kritéria | Výborně | Dostatečně | Potřebuje zlepšení |
| -------- | --------- | -------- | ----------------- |
| | Je předložena práce nebo powerpointová prezentace, která diskutuje systémy Fairlearn, spuštěný notebook a závěry vyvozené ze spuštění | Je předložena práce bez závěrů | Není předložena žádná práce |
---
**Prohlášení**:
Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Prohlášení o vyloučení odpovědnosti**:
Tento dokument byl přeložen pomocí služeb automatického překladu AI [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace se doporučuje využít profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění či chybné výklady vyplývající z použití tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,87 +1,98 @@
# Vytvoření regresního modelu pomocí Scikit-learn: čtyři způsoby regresí
# Vytvoření regresního modelu pomocí Scikit-learn: regrese čtyřmi způsoby
![Infografika lineární vs. polynomiální regrese](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
## Poznámka pro začátečníky
Lineární regrese se používá, když chceme předpovědět **číselnou hodnotu** (například cenu domu, teplotu nebo prodeje). Funguje tak, že najde přímku, která nejlépe reprezentuje vztah mezi vstupními rysy a výstupem.
V této lekci se zaměříme na pochopení konceptu před tím, než prozkoumáme pokročilejší regresní techniky.
![Infografika lineární vs. polynomiální regrese](../../../../translated_images/cs/linear-polynomial.5523c7cb6576ccab.webp)
> Infografika od [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Kvíz před lekcí](https://ff-quizzes.netlify.app/en/ml/)
## [Přednáškový kvíz](https://ff-quizzes.netlify.app/en/ml/)
> ### [Tato lekce je dostupná v R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Úvod
> ### [Tato lekce je dostupná také v R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Úvod
Doposud jste prozkoumali, co je regrese, na vzorových datech získaných z datasetu cen dýní, který budeme používat v celé této lekci. Také jste ji vizualizovali pomocí Matplotlibu.
Dosud jste prozkoumali, co je regrese, na ukázkových datech ze sady dat o cenách dýní, kterou budeme používat v celé této lekci. Také jste si ji vizualizovali pomocí Matplotlib.
Nyní jste připraveni ponořit se hlouběji do regresí pro strojové učení. Zatímco vizualizace vám umožňuje pochopit data, skutečná síla strojového učení spočívá v _trénování modelů_. Modely jsou trénovány na historických datech, aby automaticky zachytily závislosti mezi daty, a umožňují vám předpovídat výsledky pro nová data, která model dosud neviděl.
Nyní jste připraveni ponořit se hlouběji do regrese pro strojové učení. Zatímco vizualizace vám umožní porozumět datům, skutečná síla strojového učení spočívá v _trénování modelů_. Modely jsou trénovány na historických datech, aby automaticky zachytily závislosti v datech, a umožňují vám předpovídat výsledky pro nová data, která model dosud neviděl.
V této lekci se dozvíte více o dvou typech regresí: _základní lineární regrese_ a _polynomiální regrese_, spolu s některými matematickými základy těchto technik. Tyto modely nám umožní předpovídat ceny dýní na základě různých vstupních dat.
V této lekci se naučíte více o dvou typech regrese: _základní lineární regresi_ a _polynomiální regresi_, společně s některou z matematiky, která stojí za těmito technikami. Tyto modely nám umožní předpovídat ceny dýní v závislosti na různých vstupních datech.
[![ML pro začátečníky - Porozumění lineární regresi](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML pro začátečníky - Porozumění lineární regresi")
[![Strojové učení pro začátečníky Pochopení lineární regrese](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Strojové učení pro začátečníky Pochopení lineární regrese")
> 🎥 Klikněte na obrázek výše pro krátký video přehled o lineární regresi.
> 🎥 Klikněte na obrázek výše pro krátké video přehled lineární regrese.
> V celém tomto kurzu předpokládáme minimální znalosti matematiky a snažíme se ji zpřístupnit studentům z jiných oborů, takže sledujte poznámky, 🧮 výpočty, diagramy a další učební nástroje, které vám pomohou s pochopením.
> V celém tomto kurzu předpokládáme minimální znalost matematiky a snažíme se ji zpřístupnit studentům z jiných oborů, proto sledujte poznámky, 🧮 upozornění, diagramy a další učební pomůcky pro lepší porozumění.
### Předpoklady
Nyní byste měli být obeznámeni se strukturou dat o dýních, která zkoumáme. Najdete je předem načtená a předem vyčištěná v souboru _notebook.ipynb_ této lekce. V souboru je cena dýní zobrazena za bušl v novém datovém rámci. Ujistěte se, že můžete tyto notebooky spustit v jádrech ve Visual Studio Code.
Měli byste už být obeznámeni se strukturou dat o dýních, která zkoumáme. Najdete je přednačtená a předvyčištěná v souboru _notebook.ipynb_ této lekce. V souboru je cena dýní zobrazena za bushel v novém datovém rámci. Ujistěte se, že můžete spouštět tyto notebooky v kernelu ve Visual Studio Code.
### Příprava
Připomeňme si, že tato data načítáte, abyste si mohli klást otázky:
Pro připomenutí, tato data načítáte proto, abyste si na ně mohli klást otázky.
- Kdy je nejlepší čas na nákup dýní?
- Kdy je nejlepší čas koupit dýně?
- Jakou cenu mohu očekávat za balení mini dýní?
- Mám je koupit v polovičních bušlových koších nebo v krabici o velikosti 1 1/9 bušlu?
Pokračujme v prozkoumávání těchto dat.
- Měl bych je kupovat v polovině bushelového koše, nebo v 1 1/9 bushelové krabici?
Pojďme v tomto zkoumání dat pokračovat.
V předchozí lekci jste vytvořili datový rámec Pandas a naplnili jej částí původního datasetu, standardizovali ceny podle bušlu. Tímto způsobem jste však byli schopni shromáždit pouze asi 400 datových bodů a pouze pro podzimní měsíce.
V předchozí lekci jste vytvořili Pandas datový rámec a naplnili jej částí původních dat, přičemž jste ceny standardizovali za bushel. Tím jste však získali pouze asi 400 datových bodů a jen pro podzimní měsíce.
Podívejte se na data, která jsme předem načetli v doprovodném notebooku této lekce. Data jsou předem načtena a počáteční bodový graf je vytvořen, aby ukázal data podle měsíců. Možná můžeme získat trochu více detailů o povaze dat jejich dalším čištěním.
Podívejte se na data, která jsme přednačetli v přidruženém notebooku této lekce. Data jsou přednačtená a je vykreslen prvotní scatterplot zobrazující data podle měsíců. Možná můžeme získat podrobnější informace o povaze dat jejich dalším čištěním.
## Lineární regresní přímka
Jak jste se naučili v lekci 1, cílem cvičení lineární regrese je být schopen vykreslit přímku, která:
Jak jste se naučili v Lekci 1, cílem lineární regrese je být schopen vykreslit přímku, která:
- **Ukazuje vztahy mezi proměnnými**. Ukazuje vztah mezi proměnnými
- **Dělá předpovědi**. Umožňuje přesně předpovědět, kde by nový datový bod spadal ve vztahu k této přímce.
- **Ukáže vztahy proměnných**. Ukáže vztah mezi proměnnými
- **Umožní předpovědi**. Umožní přesně předpovědět, kde by se nový datový bod mohl nacházet vzhledem k této přímce.
Je typické pro **regresi metodou nejmenších čtverců**, že se kreslí tento typ přímky. Termín 'nejmenší čtverce' znamená, že všechny datové body obklopující regresní přímku jsou umocněny na druhou a poté sečteny. Ideálně je tento konečný součet co nejmenší, protože chceme nízký počet chyb, tedy `nejmenší čtverce`.
Je typické pro **metodu nejmenších čtverců**, že se takováto přímka kreslí. Termín "nejmenší čtverce" odkazuje na proces minimalizace celkové chyby v našem modelu. Pro každý datový bod měříme vertikální vzdálenost (nazývanou reziduál) mezi skutečným bodem a naší regresní přímkou.
Tyto vzdálenosti umocňujeme na druhou ze dvou hlavních důvodů:
Děláme to proto, že chceme modelovat přímku, která má nejmenší kumulativní vzdálenost od všech našich datových bodů. Také umocňujeme hodnoty na druhou před jejich sečtením, protože nás zajímá jejich velikost, nikoli směr.
1. **Velikost nad směrem:** Chceme, aby chyba -5 byla stejně vážná jako chyba +5. Umocnění na druhou zaručí, že všechny hodnoty jsou kladné.
> **🧮 Ukažte mi matematiku**
2. **Trestání odlehlých hodnot:** Umocnění na druhou dává větší váhu větším chybám, což nutí přímku být blíže k bodům, které jsou daleko.
Poté všechny tyto umocněné hodnoty sečteme. Naším cílem je najít specifickou přímku, kde je tenhle součet nejmenší (nejmenší možná hodnota) - odtud název "nejmenší čtverce".
> **🧮 Ukázat matematiku**
>
> Tato přímka, nazývaná _přímka nejlepšího přizpůsobení_, může být vyjádřena [rovnicí](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Tato přímka, nazývaná _přímka nejlepšího přizpůsobení_, může být vyjádřena pomocí [rovnice](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` je 'vysvětlující proměnná'. `Y` je 'závislá proměnná'. Sklon přímky je `b` a `a` je průsečík s osou Y, což odkazuje na hodnotu `Y`, když `X = 0`.
> `X` je 'vysvětlující proměnná'. `Y` je 'závislá proměnná'. Směrnice přímky je `b` a `a` je průsečík s osou y, což je hodnota `Y`, když `X = 0`.
>
>![výpočet sklonu](../../../../2-Regression/3-Linear/images/slope.png)
>![výpočet směrnice](../../../../translated_images/cs/slope.f3c9d5910ddbfcf9.webp)
>
> Nejprve vypočítejte sklon `b`. Infografika od [Jen Looper](https://twitter.com/jenlooper)
> Nejprve vypočítejte směrnici `b`. Infografika od [Jen Looper](https://twitter.com/jenlooper)
>
> Jinými slovy, a odkazujíc na původní otázku o datech dýní: "předpovězte cenu dýně za bušl podle měsíce", `X` by odkazovalo na cenu a `Y` by odkazovalo na měsíc prodeje.
> Jinými slovy, a s odkazem na naši původní otázku ohledně dat o dýních: "předpověď ceny dýně za bushel podle měsíce", `X` by odkazovalo na měsíc a `Y` by odkazovalo na cenu.
>
>![dokončení rovnice](../../../../2-Regression/3-Linear/images/calculation.png)
>![dokončení rovnice](../../../../translated_images/cs/calculation.a209813050a1ddb1.webp)
>
> Vypočítejte hodnotu Y. Pokud platíte kolem $4, musí být duben! Infografika od [Jen Looper](https://twitter.com/jenlooper)
> Vypočítejte hodnotu Y. Pokud platíte kolem 4 dolarů, musí to být duben! Infografika od [Jen Looper](https://twitter.com/jenlooper)
>
> Matematika, která vypočítává přímku, musí ukázat sklon přímky, který také závisí na průsečíku, tedy na tom, kde se `Y` nachází, když `X = 0`.
> Matematika počítající přímku musí demonstrovat směrnici přímky, která také závisí na průsečíku, tedy kde je `Y` situováno, když `X = 0`.
>
> Metodu výpočtu těchto hodnot můžete pozorovat na webu [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Navštivte také [tento kalkulátor nejmenších čtverců](https://www.mathsisfun.com/data/least-squares-calculator.html), abyste viděli, jak hodnoty čísel ovlivňují přímku.
> Metodu výpočtu těchto hodnot můžete vidět na webu [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Navštivte také [tuto kalkulačku metody nejmenších čtverců](https://www.mathsisfun.com/data/least-squares-calculator.html) a sledujte, jak hodnoty čísel ovlivňují přímku.
## Korelace
Ještě jeden termín, který je třeba pochopit, je **koeficient korelace** mezi danými proměnnými X a Y. Pomocí bodového grafu můžete rychle vizualizovat tento koeficient. Graf s datovými body rozptýlenými v úhledné přímce má vysokou korelaci, ale graf s datovými body rozptýlenými všude mezi X a Y má nízkou korelaci.
Ještě jeden termín k pochopení je **koeficient korelace** mezi danými proměnnými X a Y. Pomocí scatterplotu můžete tento koeficient rychle vizualizovat. Graf s body rozprostřenými po úhledné přímce má vysokou korelaci, ale graf s body rozptýlenými všude po ose X a Y má korelaci nízkou.
Dobrý model lineární regrese bude takový, který má vysoký (blíže k 1 než k 0) koeficient korelace pomocí metody nejmenších čtverců s regresní přímkou.
Dobrý model lineární regrese bude ten, který má vysoký (blíže k 1 než k 0) koeficient korelace používající metodu nejmenších čtverců s regresní přímkou.
✅ Spusťte notebook doprovázející tuto lekci a podívejte se na bodový graf Měsíc vs. Cena. Zdá se, že data spojující Měsíc s Cenou za prodej dýní mají podle vašeho vizuálního hodnocení bodového grafu vysokou nebo nízkou korelaci? Změní se to, pokud použijete jemnější měřítko místo `Měsíc`, např. *den v roce* (tj. počet dní od začátku roku)?
✅ Spusťte si notebook přidružený k této lekci a podívejte se na scatterplot spojení Měsíc vs. Cena. Zdá se podle vašeho vizuálního hodnocení scatterplotu, že data spojující měsíc s cenou pro prodej dýní mají vysokou nebo nízkou korelaci? Změní se to, když použijete jemnější měřítko namísto `Month`, např. *den v roce* (tedy počet dní od začátku roku)?
V níže uvedeném kódu předpokládáme, že jsme data vyčistili a získali datový rámec nazvaný `new_pumpkins`, podobný následujícímu:
ID | Měsíc | DenVRoce | Druh | Město | Balení | Nízká cena | Vysoká cena | Cena
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
---|-------|-----------|---------|------|---------|-----------|------------|-------
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
@ -89,27 +100,27 @@ ID | Měsíc | DenVRoce | Druh | Město | Balení | Nízká cena | Vysoká cena
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
> Kód pro čištění dat je dostupný v [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Provedli jsme stejné kroky čištění jako v předchozí lekci a vypočítali sloupec `DenVRoce` pomocí následujícího výrazu:
> Kód pro vyčištění dat je dostupný v [`notebook.ipynb`](notebook.ipynb). Provedli jsme stejné kroky čištění jako v předchozí lekci a dopočítali sloupec `DayOfYear` pomocí následujícího výrazu:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Nyní, když máte pochopení matematiky za lineární regresí, vytvořme regresní model, abychom zjistili, zda můžeme předpovědět, které balení dýní bude mít nejlepší ceny dýní. Někdo, kdo kupuje dýně pro sváteční dýňovou zahradu, by mohl chtít tyto informace, aby mohl optimalizovat své nákupy balení dýní pro zahradu.
Nyní, když máte pochopení matematiky stojící za lineární regresí, vytvoříme regresní model, abychom zjistili, zda můžeme předpovědět, které balení dýní bude mít nejlepší ceny. Někdo, kdo kupuje dýně pro sváteční dýňovou zahradu, by mohl chtít tyto informace, aby mohl optimalizovat nákupy balení dýní pro svou zahradu.
## Hledání korelace
[![ML pro začátečníky - Hledání korelace: Klíč k lineární regresi](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML pro začátečníky - Hledání korelace: Klíč k lineární regresi")
[![Strojové učení pro začátečníky Hledání korelace: Klíč k lineární regresi](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Strojové učení pro začátečníky Hledání korelace: Klíč k lineární regresi")
> 🎥 Klikněte na obrázek výše pro krátký video přehled o korelaci.
> 🎥 Klikněte na obrázek výše pro krátké video přehled korelace.
Z předchozí lekce jste pravděpodobně viděli, že průměrná cena pro různé měsíce vypadá takto:
Z předchozí lekce jste pravděpodobně viděli, že průměrná cena za různé měsíce vypadá takto:
<img alt="Průměrná cena podle měsíce" src="../../../../translated_images/cs/barchart.a833ea9194346d76.webp" width="50%"/>
To naznačuje, že by měla existovat nějaká korelace, a můžeme zkusit trénovat model lineární regrese, abychom předpověděli vztah mezi `Měsíc` a `Cena`, nebo mezi `DenVRoce` a `Cena`. Zde je bodový graf, který ukazuje druhý vztah:
To naznačuje, že by měla být nějaká korelace, a můžeme vyzkoušet natrénovat lineární regresní model k předpovědi vztahu mezi `Month` a `Price`, nebo mezi `DayOfYear` a `Price`. Zde je scatter plot, který ukazuje druhý zmíněný vztah:
<img alt="Bodový graf Cena vs. Den v roce" src="../../../../translated_images/cs/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Scatter plot Cena vs. Den v roce" src="../../../../translated_images/cs/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Podívejme se, zda existuje korelace pomocí funkce `corr`:
@ -118,7 +129,7 @@ print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Zdá se, že korelace je poměrně malá, -0.15 podle `Měsíc` a -0.17 podle `DenVRoce`, ale mohlo by existovat jiné důležité spojení. Zdá se, že existují různé shluky cen odpovídající různým druhům dýní. Abychom tuto hypotézu potvrdili, vykresleme každou kategorii dýní pomocí jiné barvy. Předáním parametru `ax` funkci pro vykreslení bodového grafu můžeme vykreslit všechny body na stejný graf:
Zdá se, že korelace je poměrně malá, -0.15 podle `Month` a -0.17 podle `DayOfMonth`, ale mohlo by existovat jiné důležité spojení. Zdá se, že existují různé shluky cen odpovídající různým odrům dýní. Abychom tuto hypotézu potvrdili, vykreslíme každou kategorii dýní s jinou barvou. Předáním parametru `ax` do funkce `scatter` můžeme vykreslit všechny body na stejném grafu:
```python
ax=None
@ -128,42 +139,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="Bodový graf Cena vs. Den v roce" src="../../../../translated_images/cs/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Scatter plot Cena vs. Den v roce s barvami" src="../../../../translated_images/cs/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Naše zkoumání naznačuje, že druh má větší vliv na celkovou cenu než skutečné datum prodeje. Můžeme to vidět na sloupcovém grafu:
Naše vyšetřování naznačuje, že odrůda má větší vliv na celkovou cenu než skutečné datum prodeje. Vidíme to i na sloupcovém grafu:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Sloupcový graf cena vs. druh" src="../../../../translated_images/cs/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Sloupcový graf cen podle odrůdy" src="../../../../translated_images/cs/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Zaměřme se nyní pouze na jeden druh dýní, 'pie type', a podívejme se, jaký vliv má datum na cenu:
Zaměříme se prozatím pouze na jednu odrůdu dýní, 'pie type', a podíváme se, jaký vliv má datum na cenu:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Bodový graf Cena vs. Den v roce" src="../../../../translated_images/cs/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Scatter plot Cena vs. Den v roce pro dýně pie type" src="../../../../translated_images/cs/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Pokud nyní vypočítáme korelaci mezi `Cena` a `DenVRoce` pomocí funkce `corr`, dostaneme něco jako `-0.27` - což znamená, že trénování prediktivního modelu má smysl.
Pokud nyní vypočítáme korelaci mezi `Price` a `DayOfYear` pomocí funkce `corr`, dostaneme asi `-0.27` což znamená, že trénování prediktivního modelu dává smysl.
> Před trénováním modelu lineární regrese je důležité zajistit, že naše data jsou čistá. Lineární regrese nefunguje dobře s chybějícími hodnotami, proto má smysl zbavit se všech prázdných buněk:
> Před trénováním modelu lineární regrese je důležité mít jistotu, že jsou data vyčištěná. Lineární regrese nefunguje dobře s chybějícími hodnotami, proto je vhodné se zbavit všech prázdných buněk:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Dalším přístupem by bylo vyplnit tyto prázdné hodnoty průměrnými hodnotami z odpovídajícího sloupce.
Dalším přístupem by bylo nahradit tyto chybějící hodnoty průměrnými hodnotami příslušného sloupce.
## Jednoduchá lineární regrese
[![ML pro začátečníky - Lineární a polynomiální regrese pomocí Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML pro začátečníky - Lineární a polynomiální regrese pomocí Scikit-learn")
[![Strojové učení pro začátečníky Lineární a polynomiální regrese pomocí Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Strojové učení pro začátečníky Lineární a polynomiální regrese pomocí Scikit-learn")
> 🎥 Klikněte na obrázek výše pro krátký video přehled o lineární a polynomiální regresi.
> 🎥 Klikněte na obrázek výše pro krátké video přehled lineární a polynomiální regrese.
Pro trénování našeho modelu lineární regrese použijeme knihovnu **Scikit-learn**.
Pro natrénování našeho modelu lineární regrese použijeme knihovnu **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
@ -171,31 +182,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Začneme oddělením vstupních hodnot (features) a očekávaného výstupu (label) do samostatných numpy polí:
Začneme oddělením vstupních hodnot (rysy) a očekávaných výstupů (štítky) do samostatných numpy polí:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Všimněte si, že jsme museli provést `reshape` na vstupních datech, aby je balíček lineární regrese správně pochopil. Lineární regrese očekává 2D pole jako vstup, kde každý řádek pole odpovídá vektoru vstupních vlastností. V našem případě, protože máme pouze jeden vstup, potřebujeme pole s tvarem N×1, kde N je velikost datasetu.
> Všimněte si, že jsme museli provést změnu tvaru (`reshape`) vstupních dat, aby je balíček lineární regrese správně pochopil. Lineární regrese očekává 2D pole jako vstup, kde každý řádek pole odpovídá vektoru vstupních rysů. V našem případě, protože máme pouze jeden vstup - potřebujeme pole o tvaru N&times;1, kde N je velikost datové sady.
Poté musíme data rozdělit na trénovací a testovací dataset, abychom mohli po trénování ověřit náš model:
Následně je třeba data rozdělit na trénovací a testovací sady, abychom mohli model po tréninku ověřit:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Nakonec samotné trénování modelu lineární regrese zabere pouze dva řádky kódu. Definujeme objekt `LinearRegression` a přizpůsobíme ho našim datům pomocí metody `fit`:
Nakonec samotné trénování lineárního regresního modelu trvá jen dva řádky kódu. Definujeme objekt `LinearRegression` a přizpůsobíme ho našim datům pomocí metody `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Objekt `LinearRegression` po přizpůsobení obsahuje všechny koeficienty regrese, které lze získat pomocí vlastnosti `.coef_`. V našem případě je pouze jeden koeficient, který by měl být kolem `-0.017`. To znamená, že ceny se zdají s časem mírně klesat, ale ne příliš, asi o 2 centy za den. Průsečík regrese s osou Y můžeme také získat pomocí `lin_reg.intercept_` - bude kolem `21` v našem případě, což naznačuje cenu na začátku roku.
Objekt `LinearRegression` po provedení `fit` obsahuje všechny koeficienty regrese, ke kterým lze přistupovat pomocí vlastnosti `.coef_`. V našem případě je jen jeden koeficient, který by měl být přibližně `-0.017`. To znamená, že ceny se zdají s časem mírně snižovat, ale ne příliš, kolem 2 centů za den. K průsečíku regrese s osou Y se lze také dostat pomocí `lin_reg.intercept_` - v našem případě bude přibližně `21`, což ukazuje cenu na začátku roku.
Abychom viděli, jak přesný je náš model, můžeme předpovědět ceny na testovacím datasetu a poté změřit, jak blízko jsou naše předpovědi očekávaným hodnotám. To lze provést pomocí metriky střední kvadratické chyby (MSE), což je průměr všech kvadratických rozdílů mezi očekávanou a předpovězenou hodnotou.
Abychom mohli zjistit, jak přesný náš model je, můžeme předpovídat ceny na testovací datové sadě a pak změřit, jak blízko jsou naše předpovědi ke skutečným hodnotám. To lze provést pomocí metriky střední kvadratické chyby (MSE), což je průměr všech druhých mocnin rozdílů mezi očekávanou a předpovězenou hodnotou.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +214,37 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Naše chyba se zdá být kolem 2 bodů, což je ~17 %. Nic moc. Dalším ukazatelem kvality modelu je **koeficient determinace**, který lze získat takto:
Naše chyba se zdá být kolem 2 bodů, což je asi 17 %. Není to moc dobré. Dalším ukazatelem kvality modelu je **koeficient determinace**, který lze získat takto:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Pokud je hodnota 0, znamená to, že model nebere v úvahu vstupní data a funguje jako *nejhorší lineární prediktor*, což je jednoduše průměrná hodnota výsledku. Hodnota 1 znamená, že můžeme dokonale předpovědět všechny očekávané výstupy. V našem případě je koeficient kolem 0,06, což je poměrně nízké.
Pokud je hodnota 0, znamená to, že model nevnímá vstupní data a chová se jako *nejhorší lineární prediktor*, což je jednoduše průměr výsledku. Hodnota 1 znamená, že můžeme dokonale předpovědět všechny očekávané výstupy. V našem případě je koeficient kolem 0,06, což je poměrně nízké.
Můžeme také vykreslit testovací data spolu s regresní přímkou, abychom lépe viděli, jak regresní analýza v našem případě funguje:
Můžeme také vykreslit testovací data spolu s regresní přímkou, abychom lépe viděli, jak regrese v našem případě funguje:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="Lineární regrese" src="../../../../translated_images/cs/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/cs/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Polynomická regrese
Dalším typem lineární regrese je polynomická regrese. Zatímco někdy existuje lineární vztah mezi proměnnými čím větší je objem dýně, tím vyšší je cena někdy tyto vztahy nelze vykreslit jako rovinu nebo přímku.
Dalším typem lineární regrese je polynomická regrese. Zatímco někdy existuje mezi veličinami lineární vztah čím větší dýně objemem, tím vyšší cena jindy tyto vztahy nelze zobrazit jako rovinu nebo přímku.
✅ Zde jsou [některé další příklady](https://online.stat.psu.edu/stat501/lesson/9/9.8) dat, která by mohla využít polynomickou regresi.
✅ Zde je [několik dalších příkladů](https://online.stat.psu.edu/stat501/lesson/9/9.8) dat, která by mohla využít polynomickou regresi
Podívejte se znovu na vztah mezi datem a cenou. Zdá se, že tento bodový graf by měl být nutně analyzován přímkou? Nemohou ceny kolísat? V tomto případě můžete zkusit polynomickou regresi.
Podívejte se znovu na vztah mezi Datem a Cenou. Zdá se, že by tento bodový graf nutně měl být analyzován pomocí přímky? Nemohou ceny kolísat? V takovém případě můžete vyzkoušet polynomickou regresi.
✅ Polynomy jsou matematické výrazy, které mohou obsahovat jednu nebo více proměnných a koeficientů.
✅ Polynom jsou matematické výrazy, které mohou obsahovat jednu nebo více proměnných a koeficientů
Polynomická regrese vytváří zakřivenou čáru, která lépe odpovídá nelineárním datům. V našem případě, pokud do vstupních dat zahrneme kvadratickou proměnnou `DayOfYear`, měli bychom být schopni přizpůsobit naše data parabolické křivce, která bude mít minimum v určitém bodě během roku.
Polynomická regrese vytváří zakřivenou křivku, aby lépe seděla na nelineární data. V našem případě, pokud do vstupních dat zahrneme druhou mocninu proměnné `DayOfYear`, měli bychom být schopni přizpůsobit naše data parabole, která bude mít minimum v určitém bodě během roku.
Scikit-learn obsahuje užitečné [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) pro kombinaci různých kroků zpracování dat dohromady. **Pipeline** je řetězec **odhadovačů**. V našem případě vytvoříme pipeline, která nejprve přidá polynomické prvky do našeho modelu a poté provede trénink regrese:
Scikit-learn obsahuje užitečné [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) pro spojování různých kroků zpracování dat dohromady. **Pipeline** je řetězec **estimatorů**. V našem případě vytvoříme pipeline, která nejprve přidá polynomické rysy k našemu modelu a pak natrénuje regresi:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -243,36 +255,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
Použití `PolynomialFeatures(2)` znamená, že zahrneme všechny polynomy druhého stupně ze vstupních dat. V našem případě to bude jednoduše `DayOfYear`<sup>2</sup>, ale pokud máme dvě vstupní proměnné X a Y, přidá to X<sup>2</sup>, XY a Y<sup>2</sup>. Můžeme také použít polynomy vyššího stupně, pokud chceme.
Použití `PolynomialFeatures(2)` znamená, že zahrneme všechny polynomy druhého stupně ze vstupních dat. V našem případě to bude jen `DayOfYear`<sup>2</sup>, ale pokud máme dvě vstupní proměnné X a Y, přidá to X<sup>2</sup>, XY a Y<sup>2</sup>. Můžeme také použít vyšší mocniny, pokud chceme.
Pipeline lze použít stejným způsobem jako původní objekt `LinearRegression`, tj. můžeme pipeline `fit` a poté použít `predict` k získání výsledků predikce. Zde je graf zobrazující testovací data a aproximační křivku:
Pipeline lze používat stejným způsobem jako původní objekt `LinearRegression`, tj. můžeme pipeline `fit`-nout a pak použít `predict` pro získání predikcí. Zde je graf ukazující testovací data a aproximační křivku:
<img alt="Polynomická regrese" src="../../../../translated_images/cs/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/cs/poly-results.ee587348f0f1f60b.webp" width="50%" />
Použitím polynomické regrese můžeme dosáhnout mírně nižší MSE a vyšší determinace, ale ne výrazně. Musíme vzít v úvahu další prvky!
S využitím polynomické regrese můžeme získat mírně nižší MSE a vyšší koeficient determinace, ale ne dramaticky. Musíme vzít v úvahu i další rysy!
> Vidíte, že minimální ceny dýní jsou pozorovány někde kolem Halloweenu. Jak to můžete vysvětlit?
> Vidíte, že minimální ceny dýní jsou pozorovány někde kolem Halloweenu. Jak byste tento jev vysvětlili?
🎃 Gratulujeme, právě jste vytvořili model, který může pomoci předpovědět cenu dýní na koláče. Pravděpodobně můžete stejný postup zopakovat pro všechny typy dýní, ale to by bylo zdlouhavé. Naučme se nyní, jak vzít do úvahy odrůdu dýní v našem modelu!
🎃 Gratulujeme, právě jste vytvořili model, který může pomoci předpovědět cenu dýní na koláče. Pravděpodobně byste stejný postup mohli opakovat pro všechny druhy dýní, ale to by bylo zdlouhavé. Naučme se nyní, jak brát v úvahu odrůdu dýně v našem modelu!
## Kategorické prvky
## Kategorické rysy
V ideálním světě bychom chtěli být schopni předpovědět ceny pro různé odrůdy dýní pomocí stejného modelu. Sloupec `Variety` je však poněkud odlišný od sloupců jako `Month`, protože obsahuje nenumerické hodnoty. Takové sloupce se nazývají **kategorické**.
V ideálním světě chceme být schopni předpovídat ceny pro různé odrůdy dýní pomocí stejného modelu. Sloupec `Variety` je však trochu odlišný od sloupců jako `Month`, protože obsahuje nečíselné hodnoty. Takové sloupce se nazývají **kategorické**.
[![ML pro začátečníky - Predikce kategorických prvků pomocí lineární regrese](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML pro začátečníky - Predikce kategorických prvků pomocí lineární regrese")
[![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")
> 🎥 Klikněte na obrázek výše pro krátký přehled o použití kategorických prvků.
> 🎥 Klikněte na obrázek výše pro krátké video o použití kategorických rysů.
Zde můžete vidět, jak průměrná cena závisí na odrůdě:
Zde vidíte, jak průměrná cena závisí na odrůdě:
<img alt="Průměrná cena podle odrůdy" src="../../../../translated_images/cs/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/cs/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Abychom vzali odrůdu v úvahu, musíme ji nejprve převést na číselnou formu, nebo ji **zakódovat**. Existuje několik způsobů, jak to udělat:
Abychom mohli zohlednit odrůdu, musíme ji nejdříve převést do číselné podoby, tedy **zakódovat** ji. Existuje několik způsobů, jak to udělat:
* Jednoduché **číselné kódování** vytvoří tabulku různých odrůd a poté nahradí název odrůdy indexem v této tabulce. To není nejlepší nápad pro lineární regresi, protože lineární regrese bere skutečnou číselnou hodnotu indexu a přidává ji k výsledku, násobí ji nějakým koeficientem. V našem případě je vztah mezi číslem indexu a cenou zjevně nelineární, i když zajistíme, že indexy budou seřazeny nějakým specifickým způsobem.
* **One-hot kódování** nahradí sloupec `Variety` čtyřmi různými sloupci, jeden pro každou odrůdu. Každý sloupec bude obsahovat `1`, pokud odpovídající řádek patří dané odrůdě, a `0` jinak. To znamená, že v lineární regresi budou čtyři koeficienty, jeden pro každou odrůdu dýní, odpovědné za "výchozí cenu" (nebo spíše "dodatečnou cenu") pro danou odrůdu.
* Jednoduché **číselné kódování** vytvoří tabulku různých odrůd a pak nahradí název odrůdy indexem v této tabulce. To však není nejlepší nápad pro lineární regresi, protože lineární regrese vezme skutečnou číselnou hodnotu indexu a přidá ji k výsledku, vynásobí nějakým koeficientem. V našem případě je vztah mezi číslem indexu a cenou jasně nelineární, i když zajistíme, že indexy jsou uspořádány nějak specificky.
* **One-hot encoding** nahradí sloupec `Variety` čtyřmi různými sloupci, jedním pro každou odrůdu. Každý sloupec bude obsahovat `1`, pokud příslušný řádek odpovídá dané odrůdě, a `0` jinak. To znamená, že v lineární regresi budou čtyři koeficienty, po jednom pro každou odrůdu dýní, zodpovědné za "startovací cenu" (nebo spíše "přídavnou cenu") pro danou odrůdu.
Níže uvedený kód ukazuje, jak můžeme provést one-hot kódování odrůdy:
Níže uvedený kód ukazuje, jak lze odrůdu zakódovat one-hot metodou:
```python
pd.get_dummies(new_pumpkins['Variety'])
@ -289,14 +301,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Abychom provedli trénink lineární regrese s použitím one-hot kódované odrůdy jako vstupu, stačí správně inicializovat data `X` a `y`:
Pro trénování lineární regrese s one-hot zakódovanou odrůdou jako vstupem stačí správně inicializovat `X` a `y` data:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
Zbytek kódu je stejný jako ten, který jsme použili výše pro trénink lineární regrese. Pokud to vyzkoušíte, uvidíte, že střední kvadratická chyba je přibližně stejná, ale získáme mnohem vyšší koeficient determinace (~77 %). Pro ještě přesnější predikce můžeme vzít v úvahu více kategorických prvků, stejně jako numerické prvky, jako `Month` nebo `DayOfYear`. Abychom získali jedno velké pole prvků, můžeme použít `join`:
Zbytek kódu je stejný jako ten, který jsme použili výše pro trénování lineární regrese. Pokud to vyzkoušíte, uvidíte, že střední kvadratická chyba je přibližně stejná, ale koeficient determinace je podstatně vyšší (~77 %). Pro ještě přesnější předpovědi můžeme vzít v úvahu více kategorických rysů i číselné rysy, jako jsou `Month` nebo `DayOfYear`. Pro získání jedné velké množiny rysů můžeme použít `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -306,31 +318,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Zde také bereme v úvahu `City` a typ balení `Package`, což nám dává MSE 2,84 (10 %) a determinaci 0,94!
Zde také bereme v úvahu `City` a typ `Package`, což nám dává MSE 2,84 (10 %) a koeficient determinace 0,94!
## Spojení všeho dohromady
Abychom vytvořili nejlepší model, můžeme použít kombinovaná data (one-hot kódované kategorické + numerické) z výše uvedeného příkladu spolu s polynomickou regresí. Zde je kompletní kód pro vaše pohodlí:
Pro vytvoření nejlepšího modelu můžeme použít kombinovaná (one-hot zakódovaná kategorická + číselná) data z výše uvedeného příkladu společně s polynomickou regresí. Pro vaše pohodlí je zde úplný kód:
```python
# set up training data
# připravit tréninková 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
# provést rozdělení na tréninkovou a testovací sadu
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
# nastavit a natrénovat pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# předpovědět výsledky pro testovací data
pred = pipeline.predict(X_test)
# calculate MSE and determination
# vypočítat MSE a koeficient determinace
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -338,34 +350,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
To by nám mělo dát nejlepší koeficient determinace téměř 97 % a MSE=2,23 (~8 % chybovost predikce).
To by mělo dát nejlepší koeficient determinace téměř 97 % a MSE=2,23 (~8 % chybovost předpovědi).
| Model | MSE | Determinace |
|-------|-----|-------------|
| `DayOfYear` Lineární | 2,77 (17,2 %) | 0,07 |
| `DayOfYear` Polynomická | 2,73 (17,0 %) | 0,08 |
| `Variety` Lineární | 5,24 (19,7 %) | 0,77 |
| Všechny prvky Lineární | 2,84 (10,5 %) | 0,94 |
| Všechny prvky Polynomická | 2,23 (8,25 %) | 0,97 |
|-------|-----|---------------|
| Lineární s `DayOfYear` | 2,77 (17,2 %) | 0,07 |
| Polynomická s `DayOfYear` | 2,73 (17,0 %) | 0,08 |
| Lineární s `Variety` | 5,24 (19,7 %) | 0,77 |
| Lineární se všemi rysy | 2,84 (10,5 %) | 0,94 |
| Polynomická se všemi rysy | 2,23 (8,25 %) | 0,97 |
🏆 Skvělá práce! Vytvořili jste čtyři regresní modely v jedné lekci a zlepšili kvalitu modelu na 97 %. V poslední části o regresi se naučíte o logistické regresi pro určení kategorií.
🏆 Výborně! Vytvořili jste čtyři regresní modely v jedné lekci a vylepšili kvalitu modelu na 97 %. V poslední části o regresi se naučíte o logistické regresi pro určení kategorií.
---
## 🚀Výzva
Otestujte několik různých proměnných v tomto notebooku a zjistěte, jak korelace odpovídá přesnosti modelu.
Otestujte v tomto notebooku několik různých proměnných a sledujte, jak korelace odpovídá přesnosti modelu.
## [Kvíz po přednášce](https://ff-quizzes.netlify.app/en/ml/)
## Přehled & Samostudium
## Recenze a samostudium
V této lekci jsme se naučili o lineární regresi. Existují další důležité typy regrese. Přečtěte si o technikách Stepwise, Ridge, Lasso a Elasticnet. Dobrou možností pro další studium je [kurz statistického učení Stanfordu](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
V této lekci jsme se naučili o lineární regresi. Existují i jiné důležité typy regrese. Přečtěte si o postupech Stepwise, Ridge, Lasso a Elasticnet. Dobrým kurzem, který se můžete dále učit, je [Stanfordský kurz statistického učení](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Úkol
## Zadání
[Postavte model](assignment.md)
[Vybuduj model](assignment.md)
---
**Prohlášení**:
Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zřeknutí se odpovědnosti**:
Tento dokument byl přeložen pomocí automatické překladové služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace doporučujeme profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,44 +1,44 @@
# Klasifikátory kuchyní 2
# Classifikátory kuchyní 2
V této druhé lekci o klasifikaci se podíváte na další způsoby klasifikace číselných dat. Také se dozvíte o důsledcích volby jednoho klasifikátoru oproti jinému.
V této druhé lekci klasifikace prozkoumáte více způsobů, jak klasifikovat číselná data. Také se dozvíte o důsledcích výběru jednoho klasifikátoru před druhým.
## [Kvíz před přednáškou](https://ff-quizzes.netlify.app/en/ml/)
## [Přednáškový kvíz](https://ff-quizzes.netlify.app/en/ml/)
### Předpoklady
Předpokládáme, že jste dokončili předchozí lekce a máte vyčištěný dataset ve složce `data` s názvem _cleaned_cuisines.csv_ v kořenovém adresáři této čtyřlekční složky.
Předpokládáme, že jste dokončili předchozí lekce a máte vyčištěný dataset ve složce `data` pojmenovaný _cleaned_cuisines.csv_ v kořenové složce této sady čtyř lekcí.
### Příprava
Načtený soubor _notebook.ipynb_ obsahuje vyčištěný dataset, který jsme rozdělili na datové rámce X a y, připravené pro proces tvorby modelu.
Do vašeho souboru _notebook.ipynb_ jsme vložili vyčištěný dataset a rozdělili jej na datové rámce X a y, připravené pro tvorbu modelu.
## Mapa klasifikace
Dříve jste se naučili o různých možnostech klasifikace dat pomocí cheat sheetu od Microsoftu. Scikit-learn nabízí podobný, ale podrobnější cheat sheet, který vám může pomoci ještě více zúžit výběr odhadovačů (další termín pro klasifikátory):
Dříve jste se seznámili s různými možnostmi při klasifikaci dat podle Microsoftova přehledu. Scikit-learn nabízí podobný, ale detailnější přehled, který vám může dále pomoci zúžit výběr odhadovačů (jiný termín pro klasifikátory):
![ML Map from Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Tip: [navštivte tuto mapu online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) a klikněte na cestu, abyste si přečetli dokumentaci.
![ML Map from Scikit-learn](../../../../translated_images/cs/map.e963a6a51349425a.webp)
> Tip: [navštivte tuto mapu online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) a klikáním postupujte po cestě k dokumentaci.
### Plán
Tato mapa je velmi užitečná, jakmile máte jasnou představu o svých datech, protože se můžete „procházet“ jejími cestami k rozhodnutí:
Tato mapa je velmi užitečná, pokud máte jasný přehled o svých datech, protože můžete „jít“ po jejích cestách k rozhodnutí:
- Máme >50 vzorků
- Máme více než 50 vzorků
- Chceme předpovědět kategorii
- Máme označená data
- Máme méně než 100K vzorků
- Máme méně než 100 tisíc vzorků
- ✨ Můžeme zvolit Linear SVC
- Pokud to nefunguje, protože máme číselná data
- Můžeme zkusit ✨ KNeighbors Classifier
- Pokud to nefunguje, zkusíme ✨ SVC a ✨ Ensemble Classifiers
- Můžeme zkusit ✨ KNeighbors Classifier
- Pokud to nepomůže, zkusit ✨ SVC a ✨ Ensemble Classifiers
Toto je velmi užitečná cesta, kterou se můžeme řídit.
Toto je velmi užitečná cesta, kterou lze následovat.
## Cvičení - rozdělení dat
## Cvičení rozdělení dat
Podle této cesty bychom měli začít importem některých knihoven, které budeme používat.
Podle této cesty bychom měli začít importem některých knihoven, které použijeme.
1. Importujte potřebné knihovny:
1. Naimportujte potřebné knihovny:
```python
from sklearn.neighbors import KNeighborsClassifier
@ -50,31 +50,31 @@ Podle této cesty bychom měli začít importem některých knihoven, které bud
import numpy as np
```
1. Rozdělte svá tréninková a testovací data:
1. Rozdělte vaše trénovací a testovací 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 klasifikátor
## Klasifikátor Linear SVC
Support-Vector clustering (SVC) je součástí rodiny technik strojového učení Support-Vector Machines (více o nich níže). V této metodě můžete zvolit „kernel“, který určuje, jak se budou štítky seskupovat. Parametr 'C' se týká 'regularizace', která reguluje vliv parametrů. Kernel může být jeden z [několika](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); zde jej nastavíme na 'linear', abychom využili lineární SVC. Pravděpodobnost je ve výchozím nastavení 'false'; zde ji nastavíme na 'true', abychom získali odhady pravděpodobnosti. Náhodný stav nastavíme na '0', abychom data zamíchali a získali pravděpodobnosti.
Support-Vector clustering (SVC) je metodou z rodiny Support-Vector machine ML technik (o těchto se dozvíte dále). V této metodě můžete zvolit „kernel“, který rozhoduje, jak seskupit štítky. Parametr „C“ odkazuje na „regularizaci“, která reguluje vliv parametrů. Kernel může být jeden z [několika](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); zde jej nastavujeme na linear, abychom využili lineární SVC. Pravděpodobnost (probability) je standardně „false“; zde nastavujeme na „true“, aby bylo možné získat odhady pravděpodobností. Náhodný stav je nastaven na „0“ pro promíchání dat a získání pravděpodobností.
### Cvičení - aplikace lineárního SVC
### Cvičení aplikujte lineární SVC
Začněte vytvořením pole klasifikátorů. Do tohoto pole budete postupně přidávat, jak budeme testovat.
Začněte vytvořením pole klasifikátorů. Postupně do něj budete přidávat další při testování.
1. Začněte s Linear SVC:
```python
C = 10
# Create different classifiers.
# Vytvořte různé klasifikátory.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Natrénujte svůj model pomocí Linear SVC a vytiskněte zprávu:
2. Natrénujte svůj model pomocí Linear SVC a zobrazte report:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Začněte vytvořením pole klasifikátorů. Do tohoto pole budete postupně př
print(classification_report(y_test,y_pred))
```
Výsledek je docela dobrý:
Výsledek je poměrně dobrý:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -105,21 +105,21 @@ Začněte vytvořením pole klasifikátorů. Do tohoto pole budete postupně př
weighted avg 0.79 0.79 0.79 1199
```
## K-Neighbors klasifikátor
## Klasifikátor K-Neighbors
K-Neighbors je součástí rodiny metod strojového učení „neighbors“, které lze použít pro řízené i neřízené učení. V této metodě je vytvořen předem definovaný počet bodů a data se shromažďují kolem těchto bodů tak, aby bylo možné předpovědět obecné štítky pro data.
K-Neighbors je součástí rodiny ML metod „neighbors“, které lze použít pro jak učení s učitelem, tak bez učitele. V této metodě je vytvořen předem definovaný počet bodů a data jsou shromažďována kolem těchto bodů, aby bylo možné pro data předpovídat obecné štítky.
### Cvičení - aplikace K-Neighbors klasifikátoru
### Cvičení aplikujte klasifikátor K-Neighbors
Předchozí klasifikátor byl dobrý a fungoval dobře s daty, ale možná můžeme dosáhnout lepší přesnosti. Zkuste K-Neighbors klasifikátor.
Předchozí klasifikátor byl dobrý a dobře fungoval s daty, ale možná můžeme dosáhnout lepší přesnosti. Vyzkoušejte klasifikátor K-Neighbors.
1. Přidejte řádek do svého pole klasifikátorů (přidejte čárku za položku Linear SVC):
1. Přidejte řádek do pole klasifikátorů (přidejte čárku za položku Linear SVC):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Výsledek je o něco horší:
Výsledek je trochu horší:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -136,23 +136,23 @@ Předchozí klasifikátor byl dobrý a fungoval dobře s daty, ale možná můž
weighted avg 0.76 0.74 0.74 1199
```
✅ Naučte se více o [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
✅ Naučte se o [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Support Vector Classifier
Support-Vector klasifikátory jsou součástí rodiny metod strojového učení [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine), které se používají pro klasifikační a regresní úlohy. SVM „mapují tréninkové příklady na body v prostoru“, aby maximalizovaly vzdálenost mezi dvěma kategoriemi. Následná data jsou mapována do tohoto prostoru, aby bylo možné předpovědět jejich kategorii.
Support-Vector klasifikátory jsou součástí rodiny [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) ML metod, které se používají pro klasifikaci a regresní úlohy. SVM mapují tréninkové příklady do bodů ve vesmíru za účelem maximalizace vzdálenosti mezi dvěma kategoriemi. Následná data jsou pak do tohoto prostoru namapována tak, aby bylo možné předpovědět jejich kategorii.
### Cvičení - aplikace Support Vector Classifier
### Cvičení aplikujte Support Vector Classifier
Zkusme dosáhnout o něco lepší přesnosti pomocí Support Vector Classifier.
Zkuste dosáhnout trochu lepší přesnosti pomocí Support Vector Classifier.
1. Přidejte čárku za položku K-Neighbors a poté přidejte tento řádek:
1. Přidejte čárku za položku K-Neighbors a potom přidejte tento řádek:
```python
'SVC': SVC(),
```
Výsledek je velmi dobrý!
Výsledek je docela dobrý!
```output
Accuracy (train) for SVC: 83.2%
@ -169,18 +169,18 @@ Zkusme dosáhnout o něco lepší přesnosti pomocí Support Vector Classifier.
weighted avg 0.84 0.83 0.83 1199
```
✅ Naučte se více o [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
✅ Naučte se o [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
## Ensemble Classifiers
Pojďme se vydat cestou až na konec, i když předchozí test byl velmi dobrý. Zkusme některé „Ensemble Classifiers“, konkrétně Random Forest a AdaBoost:
Pojďme jít cestou až do konce, i když předchozí test byl poměrně dobrý. Vyzkoušejme některé 'Ensemble Classifiers', konkrétně Random Forest a AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Výsledek je velmi dobrý, zejména u Random Forest:
Výsledek je velmi dobrý, zvláště u 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
```
✅ Naučte se více o [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
✅ Naučte se o [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
Tato metoda strojového učení „kombinuje předpovědi několika základních odhadovačů“, aby zlepšila kvalitu modelu. V našem příkladu jsme použili Random Trees a AdaBoost.
Tato metoda strojového učení „kombinuje předpovědi několika základních odhadovačů“ ke zlepšení kvality modelu. V našem příkladu jsme použili Random Trees a AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metoda průměrování, vytváří „les“ „rozhodovacích stromů“ naplněných náhodností, aby se zabránilo přeučení. Parametr n_estimators je nastaven na počet stromů.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metoda průměrování, vytváří „les“ rozhodovacích stromů obohacených náhodností, aby se předešlo přetrénování. Parametr n_estimators je nastaven na počet stromů.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) přizpůsobí klasifikátor datasetu a poté přizpůsobí kopie tohoto klasifikátoru stejnému datasetu. Zaměřuje se na váhy nesprávně klasifikovaných položek a upravuje fit pro další klasifikátor, aby provedl opravu.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) učí klasifikátor na datové sadě a potom učí jeho kopie na téže datové sadě. Zaměřuje se na váhy nesprávně klasifikovaných položek a upravuje přizpůsobení pro další klasifikátor, aby chyby korigoval.
---
## 🚀Výzva
## 🚀 Výzva
Každá z těchto technik má velké množství parametrů, které můžete upravit. Prozkoumejte výchozí parametry každé z nich a přemýšlejte o tom, co by znamenalo upravení těchto parametrů pro kvalitu modelu.
Každá z těchto technik má mnoho parametrů, které můžete ladit. Prozkoumejte výchozí parametry každé a zamyslete se, co by změna těchto parametrů znamenala pro kvalitu modelu.
## [Kvíz po přednášce](https://ff-quizzes.netlify.app/en/ml/)
## [Po přednáškový kvíz](https://ff-quizzes.netlify.app/en/ml/)
## Přehled & Samostudium
## Přehled a samostudium
V těchto lekcích je hodně odborných termínů, takže si udělejte chvíli na přehled [tohoto seznamu](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) užitečné terminologie!
V těchto lekcích je hodně odborných výrazů, takže si udělejte chvíli na zopakování [tohoto seznamu](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) užitečné terminologie!
## Zadání
## Zadání
[Hra s parametry](assignment.md)
---
**Prohlášení**:
Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Upozornění**:
Tento dokument byl přeložen pomocí služby automatického překladu [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v původním jazyce by měl být považován za závazný zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědni za jakékoliv nedorozumění nebo mylné výklady vzniklé používáním tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Vytvořit klasifikační model\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Prohlášení**: \nTento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o co největší přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Upozornění**: \nTento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, prosím berte na vědomí, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Nejsme odpovědni za jakékoli nejasnosti nebo mylné výklady vyplývající z použití tohoto překladu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-04T08:31:48+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "cs"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Vytvořte více klasifikačních modelů\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,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()"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Prohlášení**: \nTento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o co největší přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Prohlášení o vyloučení odpovědnosti**: \nTento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro zásadní informace doporučujeme profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-04T08:32:29+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "cs"
}
},
"nbformat": 4,

@ -10,76 +10,86 @@
### 🌐 Podpora více jazyků
#### Podporováno prostřednictvím GitHub Action (automatizováno a vždy aktuální)
#### Podporováno pomocí GitHub Action (automatizováno a vždy aktuální)
<!-- 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](./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](../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)
[Arabština](../ar/README.md) | [Bengálština](../bn/README.md) | [Bulharština](../bg/README.md) | [Barmsky (Myanmar)](../my/README.md) | [Čínština (zjednodušená)](../zh-CN/README.md) | [Čínština (tradiční, Hong Kong)](../zh-HK/README.md) | [Čínština (tradiční, Macau)](../zh-MO/README.md) | [Čínština (tradiční, Taiwan)](../zh-TW/README.md) | [Chorvatština](../hr/README.md) | [Čeština](./README.md) | [Dánština](../da/README.md) | [Nizozemština](../nl/README.md) | [Estonština](../et/README.md) | [Finština](../fi/README.md) | [Francouzština](../fr/README.md) | [Němčina](../de/README.md) | [Řečtina](../el/README.md) | [Hebrejština](../he/README.md) | [Hindština](../hi/README.md) | [Maďarština](../hu/README.md) | [Indonéština](../id/README.md) | [Čeština](../it/README.md) | [Japonština](../ja/README.md) | [Kannada](../kn/README.md) | [Korejština](../ko/README.md) | [Litevština](../lt/README.md) | [Malajština](../ms/README.md) | [Malajalámština](../ml/README.md) | [Maráthština](../mr/README.md) | [Nepálština](../ne/README.md) | [Nigerijská pidžinština](../pcm/README.md) | [Nórština](../no/README.md) | [Perština (Fársí)](../fa/README.md) | [Polština](../pl/README.md) | [Portugalština (Brazílie)](../pt-BR/README.md) | [Portugalština (Portugalsko)](../pt-PT/README.md) | [Paňdžábština (Gurmukhi)](../pa/README.md) | [Rumunština](../ro/README.md) | [Ruština](../ru/README.md) | [Srbština (cyrilice)](../sr/README.md) | [Slovenština](../sk/README.md) | [Slovinština](../sl/README.md) | [Španělština](../es/README.md) | [Svahilština](../sw/README.md) | [Švédština](../sv/README.md) | [Tagalog (Filipíny)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugština](../te/README.md) | [Thajština](../th/README.md) | [Turečtina](../tr/README.md) | [Ukrajinština](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamština](../vi/README.md)
> **Preferujete klonovat lokálně?**
> Tento repozitář zahrnuje přes 50 jazykových překladů, což výrazně zvětšuje velikost stahování. Pro klonování bez překladů použijte sparse checkout:
> **Raději klonovat lokálně?**
>
> Tento repozitář obsahuje více než 50 překladů jazyků, což výrazně zvětšuje velikost stažení. Pro klonování bez překladů použijte 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'
> ```
> Tím získáte vše potřebné k dokončení kurzu s mnohem rychlejším stahováním.
>
> **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"
> ```
>
> Tím získáte vše potřebné k dokončení kurzu s mnohem rychlejším stažením.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Přidejte se k naší komunitě
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Probíhá série Discord Learn with AI, dozvíte se víc a přidejte se k nám na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. září 2025. Získáte tipy a triky pro používání GitHub Copilot pro datovou vědu.
Máme probíhající sérii Discord uč se s AI, dozvíte se více a přidejte se k nám na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. září 2025. Získáte tipy a triky pro používání GitHub Copilot pro Data Science.
![Learn with AI series](../../translated_images/cs/3.9b58fd8d6c373c20.webp)
# Strojové učení pro začátečníky - vzdělávací program
# Strojové učení pro začátečníky Kurikulum
> 🌍 Cestujte po světě, když zkoumáme strojové učení prostřednictvím světových kultur 🌍
> 🌍 Cestujte po celém světě, zatímco zkoumáme strojové učení prostřednictvím světových kultur 🌍
Cloud Advocates v Microsoftu s radostí nabízejí 12týdenní, 26-lekční vzdělávací program o **strojovém učení**. V tomto programu se naučíte o tom, co se někdy nazývá **klasické strojové učení**, používající primárně knihovnu Scikit-learn a vyhýbající se hlubokému učení, které je pokryto v našem [programu AI pro začátečníky](https://aka.ms/ai4beginners). Tyto lekce kombinujte také s naším ['Data Science pro začátečníky'](https://aka.ms/ds4beginners).
Cloud Advocates v Microsoftu s potěšením nabízejí 12týdenní, 26lekcí kurikulum zaměřené na **strojové učení**. V tomto kurikulu se naučíte to, co se někdy nazývá **klasické strojové učení**, primárně s využitím knihovny Scikit-learn, přičemž se vyhnete hlubokému učení, které je zahrnuto v našem [kurikulu AI pro začátečníky](https://aka.ms/ai4beginners). Kombinujte tyto lekce s naším [kurikulem 'Data Science pro začátečníky'](https://aka.ms/ds4beginners)!
Cestujte s námi po světě, když aplikujeme tyto klasické techniky na data z mnoha oblastí světa. Každá lekce zahrnuje kvízy před a po lekci, psané instrukce k dokončení lekce, řešení, zadání a další. Naše projektově orientovaná pedagogika umožňuje učit se při tvorbě, což je osvědčený způsob, jak nové dovednosti „ulpí“.
Cestujte s námi po světě, když aplikujeme tyto klasické techniky na data z různých oblastí světa. Každá lekce obsahuje před- a po-lekční kvízy, písemné instrukce k dokončení lekce, řešení, úkol a další. Naše projektově orientovaná pedagogika vám umožní učit se během tvorby, což je osvědčený způsob, jak si nové dovednosti lépe osvojit.
**✍️ Srdečné díky našim autorům** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu a Amy Boyd
**🎨 Díky také našim ilustrátorům** Tomomi Imura, Dasani Madipalli a Jen Looper
**🙏 Zvláštní poděkování 🙏 našim autorům, recenzentům a přispěvatelům obsahu z řad Microsoft Student Ambassador**, zejména Rishitu Daglimu, Muhammadovi Sakib Khan Inanovi, Rohanu Rajovi, Alexandru Petrescovi, Abhishek Jaiswalovi, Nawrin Tabassum, Ioanovi Samuilovi a Snigdha Agarwalové
**🙏 Zvláštní poděkování 🙏 našim autorům, recenzentům a přispěvatelům obsahu z řad Microsoft Student Ambassador, zejména Rishitu Dalgimu, Muhammad Sakib Khan Inanovi, Rohanu Rajovi, Alexandru Petrescovi, Abhishek Jaiswalovi, Nawrin Tabassum, Ioanu Samuilaovi a Snigdha Agarwalovi**
**🤩 Extra vděčnost Microsoft Student Ambassadors Ericu Wanaujovi, Jasleen Sondhi a Vidushi Guptovi za naše lekce v R!**
**🤩 Další díky Microsoft Student Ambassadors Ericu Wanjauovi, Jasleen Sondhimu a Vidushi Gupta za naše lekce R!**
# Začínáme
Postupujte podle těchto kroků:
1. **Vytvořte Fork repozitáře**: Klikněte na tlačítko „Fork“ v pravém horním rohu této stránky.
1. **Vytvořte forknutí repozitáře**: Klikněte na tlačítko "Fork" vpravo nahoře na této stránce.
2. **Klonujte repozitář**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [najděte všechny další zdroje pro tento kurz v naší sbírce Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [všechny další zdroje pro tento kurz najdete v naší kolekci Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Potřebujete pomoc?** Prohlédněte si náš [Průvodce řešením problémů](TROUBLESHOOTING.md) pro řešení běžných problémů s instalací, nastavením a spouštěním lekcí.
> 🔧 **Potřebujete pomoc?** Podívejte se na náš [Průvodce řešením problémů](TROUBLESHOOTING.md) pro řešení běžných problémů s instalací, nastavením a spouštěním lekcí.
**[Studenti](https://aka.ms/student-page)**, pro využití tohoto programu si vytvořte fork celého repozitáře do svého GitHub účtu a cvičení dokončujte samostatně nebo ve skupině:
**[Studenti](https://aka.ms/student-page)**, pro použití tohoto kurikula vytvořte forknutí celého repozitáře na váš GitHub účet a cvičení dokončujte sami nebo ve skupině:
- Začněte kvízem před přednáškou.
- Přečtěte si přednášku a dokončete aktivity, zastavujte a přemýšlejte při každé znalostní kontrole.
- Pokuste se projekty vytvořit pochopením lekcí, nikoli jen spuštěním řešení; nicméně toto řešení je dostupné ve složkách `/solution` v každé projektově orientované lekci.
- Učiňte kvíz po přednášce.
- Dokončete výzvu.
- Dokončete zadání.
- Po dokončení skupiny lekcí navštivte [Diskuzní fórum](https://github.com/microsoft/ML-For-Beginners/discussions) a „učte se nahlas“ vyplněním příslušného rubriky PAT. PAT je nástroj pro hodnocení pokroku, rubrika, kterou vyplňujete, abyste posunuli své učení dál. Můžete také reagovat na jiné PATy, abychom se učili společně.
- Začněte přednáškovým kvízem.
- Přečtěte si přednášku a dokončete aktivity, zastavujte se a přemýšlejte při každé znalostní kontrole.
- Snažte se vytvářet projekty pochopením lekcí místo pouhého spouštění řešení; toto řešení je však dostupné ve složkách `/solution` v každé lekci orientované na projekt.
- Udělejte po přednášce kvíz.
- Splňte výzvu.
- Splňte úkol.
- Po dokončení skupiny lekcí navštivte [Diskuzní fórum](https://github.com/microsoft/ML-For-Beginners/discussions) a „učte se nahlas“ vyplněním příslušné rubriky PAT. PAT je Nástroj pro hodnocení pokroku, kterým si zlepšíte své učení. Také můžete reagovat na PAT jiných, abychom se učili společně.
> Pro další studium doporučujeme sledovat tyto [moduly a učební cesty Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
> Pro další studium doporučujeme sledovat tyto moduly a učební cesty [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
**Učitelé**, připravili jsme [některé návrhy](for-teachers.md) jak tento vzdělávací program používat.
**Učitelé**, máme [několik návrhů](for-teachers.md), jak používat toto kurikulum.
---
## Video průvodci
Některé lekce jsou dostupné jako krátká videa. Všechny najdete přímo v lekcích nebo na [playlistu ML pro začátečníky na YouTube kanálu Microsoft Developer](https://aka.ms/ml-beginners-videos) po kliknutí na obrázek níže.
Některé lekce jsou dostupné jako krátká videa. Všechny je najdete přímo v lekcích nebo na [playlistu ML pro začátečníky na YouTube kanálu Microsoft Developer](https://aka.ms/ml-beginners-videos) kliknutím na níže uvedený obrázek.
[![ML for beginners banner](../../translated_images/cs/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -89,135 +99,140 @@ Některé lekce jsou dostupné jako krátká videa. Všechny najdete přímo v l
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif od** [Mohita Jaisala](https://linkedin.com/in/mohitjaisal)
**Gif od** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Klikněte na obrázek výše pro video o projektu a lidech, kteří jej vytvořili!
> 🎥 Klikněte na obrázek výše pro video o projektu a lidech, kteří ho vytvořili!
---
## Pedagogika
Při vytváření tohoto vzdělávacího programu jsme zvolili dva pedagogické principy: zajistit, aby byl praktický a **projektově orientovaný** a aby obsahoval **časté kvízy**. Navíc má program jednotné **téma** pro sjednocení.
Při tvorbě tohoto kurikula jsme zvolili dva pedagogické principy: zajistit, aby bylo praktické a **projektově orientované**, a aby obsahovalo **časté kvízy**. Dále má toto kurikulum společné **téma**, které mu dává soudržnost.
Zajištěním, že obsah je sladěn s projekty, se proces pro studenty stává zajímavějším a lepší je zapamatování pojmů. Nízkorizikový kvíz před třídou nastavuje studentovu motivaci k naučení se tématu, zatímco druhý kvíz po třídě zajistí lepší zapamatování. Tento vzdělávací program je navržen tak, aby byl flexibilní a zábavný a může se absolvovat celý nebo částečně. Projekty začínají malé a k poslednímu 12týdennímu cyklu se stávají stále složitějšími. Program také obsahuje dodatek o reálných aplikacích ML, který lze využít jako bonusové body nebo základ pro diskusi.
Zajištěním souladu obsahu s projekty je proces pro studenty zajímavější a zvyšuje se udržení konceptů. Nízkorizikový kvíz před vyučováním nastaví záměr studenta učit se dané téma a druhý po vyučování zajistí další zapamatování. Toto kurikulum je navrženo tak, aby bylo flexibilní a zábavné a lze jej absolvovat celé nebo po částech. Projekty začínají malé a na konci 12týdenního cyklu jsou stále složitější. Kurikulum také obsahuje dodatek o reálných aplikacích ML, který lze využít jako bonusový úkol nebo základy pro diskusi.
> Najděte náš [Kodex chování](CODE_OF_CONDUCT.md), [Příspěvky](CONTRIBUTING.md), [Překlady](TRANSLATIONS.md) a [Řešení problémů](TROUBLESHOOTING.md). Vítáme vaši konstruktivní zpětnou vazbu!
> Najděte náš [Kodex chování](CODE_OF_CONDUCT.md), [Příspěvek](CONTRIBUTING.md), [Překlady](TRANSLATIONS.md) a [Průvodce řešením problémů](TROUBLESHOOTING.md). Vítáme vaše konstruktivní připomínky!
## Každá lekce zahrnuje
## Každá lekce obsahuje
- volitelnou skicu poznámek
- volitelnou sketchnotu
- volitelné doplňkové video
- video průvodce (u některých lekcí)
- [kvíz na rozcvičení před přednáškou](https://ff-quizzes.netlify.app/en/ml/)
- video průvodce (pouze některé lekce)
- [přednáškový rozehřívací kvíz](https://ff-quizzes.netlify.app/en/ml/)
- psanou lekci
- u lekcí založených na projektech krok za krokem průvodce stavbou projektu
- u projektově orientovaných lekcí krok za krokem návod, jak projekt vytvořit
- znalostní kontroly
- výzvu
- doplňkové čtení
- zadání
- [kvíz po přednášce](https://ff-quizzes.netlify.app/en/ml/)
> **Poznámka k jazykům**: Tyto lekce jsou primárně psané v Pythonu, ale mnohé jsou dostupné také v R. Pro dokončení lekce v R přejděte do složky `/solution`, kde najdete lekce v R. Jsou ve formátu .rmd, což představuje **R Markdown** soubor, který lze jednoduše definovat jako začlenění „kódových bloků“ (R nebo jiných jazyků) a „YAML hlavičky“ (která určuje formátování výstupů jako PDF) do „Markdown dokumentu“. Tento formát slouží jako příklad autorovacího rámce pro datovou vědu, protože umožňuje kombinovat kód, jeho výstup a vaše poznámky psané v Markdownu. Navíc lze R Markdown dokumenty přeložit do formátů jako PDF, HTML nebo Word.
> **Poznámka ke kvízům**: Všechny kvízy jsou obsaženy ve [složce Quiz App](../../quiz-app), celkem 52 kvízů po třech otázkách. Jsou propojeny z lekcí, ale aplikaci kvízů lze spustit lokálně; postupujte podle pokynů ve složce `quiz-app` pro lokální hostování nebo nasazení na Azure.
| Číslo lekce | Téma | Skupina lekcí | Vzdělávací cíle | Odkazovaná lekce | Autor |
| :----------: | :---------------------------------------------------------: | :----------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| 01 | Úvod do strojového učení | [Úvod](1-Introduction/README.md) | Naučit se základní pojmy za strojovým učením | [Lekce](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historie strojového učení | [Úvod](1-Introduction/README.md) | Naučit se historii tohoto oboru | [Lekce](1-Introduction/2-history-of-ML/README.md) | Jen a Amy |
| 03 | Spravedlnost a strojové učení | [Úvod](1-Introduction/README.md) | Jaké jsou důležité filozofické otázky spojené se spravedlností, které by studenti měli zvážit při vytváření a aplikaci ML modelů? | [Lekce](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniky pro strojové učení | [Úvod](1-Introduction/README.md) | Jaké techniky používají výzkumníci k sestavování ML modelů? | [Lekce](1-Introduction/4-techniques-of-ML/README.md) | Chris a Jen |
| 05 | Úvod do regresní analýzy | [Regrese](2-Regression/README.md) | Naučit se základy Pythonu a Scikit-learn pro regresní modely | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Severní americké ceny dýní 🎃 | [Regrese](2-Regression/README.md) | Vizualizace a čištění dat jako příprava na ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Severní americké ceny dýní 🎃 | [Regrese](2-Regression/README.md) | Vytvoření lineárních a polynomických regresních modelů | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen a Dmitry • Eric Wanjau |
| 08 | Severní americké ceny dýní 🎃 | [Regrese](2-Regression/README.md) | Vytvoření logistického regresního modelu | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Webová aplikace 🔌 | [Web App](3-Web-App/README.md) | Vytvořit webovou aplikaci pro použití trénovaného modelu | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Úvod do klasifikace | [Klasifikace](4-Classification/README.md) | Vyčistit, připravit a vizualizovat data; úvod do klasifikace | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen a Cassie • Eric Wanjau |
| 11 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Úvod do klasifikátorů | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen a Cassie • Eric Wanjau |
| 12 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Další klasifikátory | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen a Cassie • Eric Wanjau |
| 13 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Vytvořit doporučující webovou aplikaci pomo modelu | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Úvod do shlukování | [Shlukování](5-Clustering/README.md) | Vyčistit, připravit a vizualizovat data; úvod do shlukování | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Objevování nigerijských hudebních chutí 🎧 | [Shlukování](5-Clustering/README.md) | Prozkoumat metodu K-Means shlukování | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Úvod do zpracování přirozeného jazyka ☕️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Naučit se základy NLP pomocí vytváření jednoduchého bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Běžné úlohy NLP ☕️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Prohloubit znalosti NLP pochopením běžných úloh při práci s jazykovými strukturami | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Překlad a analýza sentimentu ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Překlad a analýza sentimentu s Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantické hotely v Evropě ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Analýza sentimentu hotelových recenzí 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantické hotely v Evropě ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Analýza sentimentu hotelových recenzí 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Úvod do predikce časových řad | [Časové řady](7-TimeSeries/README.md) | Úvod do predikce časových řad | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Světová spotřeba energie ⚡️ - predikce časových řad ARIMA | [Časové řady](7-TimeSeries/README.md) | Predikce časových řad pomocí ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Světová spotřeba energie ⚡️ - predikce časových řad SVR | [Časové řady](7-TimeSeries/README.md) | Predikce časových řad pomocí Support Vector Regressoru | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Úvod do posilovaného učení | [Posilované učení](8-Reinforcement/README.md) | Úvod do posilovaného učení s Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Pomozte Petrovi vyhnout se vlkovi! 🐺 | [Posilované učení](8-Reinforcement/README.md) | Posilované učení v Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Dodatek | Reálné scénáře a aplikace ML | [ML v praxi](9-Real-World/README.md) | Zajímavé a poučné aplikace klasického ML v reálném světě | [Lekce](9-Real-World/1-Applications/README.md) | Tým |
| Dodatek | Ladění modelů ML pomocí dashboardu RAI | [ML v praxi](9-Real-World/README.md) | Ladění modelů v ML pomocí komponent dashboardu Responsible AI | [Lekce](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [najděte všechny doplňkové zdroje pro tento kurz v naší kolekci Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- doplňující četbu
- úkol
- [povolený kvíz po přednášce](https://ff-quizzes.netlify.app/en/ml/)
> **Poznámka o jazycích**: Tyto lekce jsou primárně psány v Pythonu, ale mnohé jsou dostupné také v jazyce R. Pro dokončení lekce v R přejděte do složky `/solution` a vyhledejte lekce v R. Ty obsahují příponu .rmd, která představuje **R Markdown** soubor, což lze jednoduše definovat jako vkládání `kódových bloků` (v R nebo jiných jazycích) a `YAML hlavičky` (která určuje, jak formátovat výstupy jako PDF) do `Markdown dokumentu`. Jako takový slouží jako příkladný autorovací rámec pro datovou vědu, protože umožňuje kombinovat váš kód, jeho výstup a vaše poznámky tím, že vám dovoluje psát je v Markdownu. Navíc lze dokumenty R Markdown vyrenderovat do výstupních formátů, jako jsou PDF, HTML nebo Word.
> **Poznámka o kvízech**: Všechny kvízy jsou obsaženy ve [složce Quiz App](../../quiz-app), celkem 52 kvízů po třech otázkách každý. Jsou propojeny v jednotlivých lekcích, ale kvízová aplikace může být spuštěna lokálně; následujte instrukce ve složce `quiz-app` pro lokální hostování nebo nasazení na Azure.
| Číslo lekce | Téma | Skupina lekcí | Cíle učení | Propojená lekce | Autor |
| :----------: | :------------------------------------------------------: | :--------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| 01 | Úvod do strojového učení | [Úvod](1-Introduction/README.md) | Naučit se základní koncepty strojového učení | [Lekce](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historie strojového učení | [Úvod](1-Introduction/README.md) | Seznámit se s historií tohoto oboru | [Lekce](1-Introduction/2-history-of-ML/README.md) | Jen a Amy |
| 03 | Spravedlnost a strojové učení | [Úvod](1-Introduction/README.md) | Jaké jsou důležité filozofické otázky týkající se spravedlnosti, které by studenti měli zvážit při tvorbě a aplikaci ML modelů? | [Lekce](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniky strojového učení | [Úvod](1-Introduction/README.md) | Jaké techniky využívají výzkumníci ML při tvorbě ML modelů? | [Lekce](1-Introduction/4-techniques-of-ML/README.md) | Chris a Jen |
| 05 | Úvod do regresní analýzy | [Regrese](2-Regression/README.md) | Začít s Pythonem a Scikit-learn pro regresní modely | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Ceny dýní v Severní Americe 🎃 | [Regrese](2-Regression/README.md) | Vizualizovat a vyčistit data pro ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Ceny dýní v Severní Americe 🎃 | [Regrese](2-Regression/README.md) | Postavit lineární a polynomiální regresní modely | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen a Dmitry • Eric Wanjau |
| 08 | Ceny dýní v Severní Americe 🎃 | [Regrese](2-Regression/README.md) | Postavit logistický regresní model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Webová aplikace 🔌 | [Web App](3-Web-App/README.md) | Vytvořit webovou aplikaci k použití vašeho natrénovaného modelu | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Úvod do klasifikace | [Klasifikace](4-Classification/README.md) | Vyčistit, připravit a vizualizovat data; úvod do klasifikace | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen a Cassie • Eric Wanjau |
| 11 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Úvod do klasifikátorů | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen a Cassie • Eric Wanjau |
| 12 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Další klasifikátory | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen a Cassie • Eric Wanjau |
| 13 | Lahodné asijské a indické kuchyně 🍜 | [Klasifikace](4-Classification/README.md) | Vytvořit doporučující webovou aplikaci s použitím vašeho modelu | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Úvod do shlukování | [Shlukování](5-Clustering/README.md) | Vyčistit, připravit a vizualizovat data; úvod do shlukování | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Zkoumání nigerijských hudebních vkusů 🎧 | [Shlukování](5-Clustering/README.md) | Prozkoumat metodu K-Means shlukování | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Úvod do zpracování přirozeného jazyka ☕️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Naučit se základy NLP tvorbou jednoduchého bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Běžné úkoly NLP ☕️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Prohloubit znalosti NLP porozuměním běžných úkolů potřebných při práci s jazykovými strukturami | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Překlad a analýza sentimentu ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Překlad a analýza sentimentu s Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantické hotely Evropy ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Analýza sentimentu recenzí hotelů 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantické hotely Evropy ♥️ | [Zpracování přirozeného jazyka](6-NLP/README.md) | Analýza sentimentu recenzí hotelů 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Úvod do predikce časových řad | [Časové řady](7-TimeSeries/README.md) | Úvod do predikce časových řad | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Spotřeba světové energie ⚡️ - predikce časových řad s ARIMA | [Časové řady](7-TimeSeries/README.md) | Predikce časových řad pomocí ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Spotřeba světové energie ⚡️ - predikce časových řad s SVR | [Časové řady](7-TimeSeries/README.md) | Predikce časových řad pomocí Support Vector Regressoru | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Úvod do posilovaného učení | [Posilované učení](8-Reinforcement/README.md) | Úvod do posilovaného učení s Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Pomozte Peterovi vyhnout se vlkovi! 🐺 | [Posilované učení](8-Reinforcement/README.md) | Posilované učení s Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Reálné scénáře a aplikace ML | [ML v praxi](9-Real-World/README.md) | Zajímavé a poučné reálné aplikace klasického ML | [Lekce](9-Real-World/1-Applications/README.md) | Tým |
| Postscript | Ladění modelů v ML pomocí RAI dashboardu | [ML v praxi](9-Real-World/README.md) | Ladění modelů v ML pomocí komponent dashboardu Responsible AI | [Lekce](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [najděte všechny další zdroje k tomuto kurzu v naší kolekci Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Offline přístup
Tuto dokumentaci můžete používat offline pomocí [Docsify](https://docsify.js.org/#/). Zforkujte tento repozitář, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svůj lokální počítač a pak v kořenové složce tohoto repozitáře zadejte příkaz `docsify serve`. Webová stránka bude dostupná na portu 3000 na vašem localhostu: `localhost:3000`.
Tuto dokumentaci můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Forkněte si tento repozitář, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svůj počítač a poté v kořenové složce tohoto repozitáře spusťte příkaz `docsify serve`. Web bude dostupný na portu 3000 na vašem localhostu: `localhost:3000`.
## PDF
Najděte pdf osnovy kurzu s odkazy [zde](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
Najděte pdf osnovy s odkazy [zde](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Další kurzy
## 🎒 Další kurzy
Náš tým vytváří i další kurzy! Podívejte se:
Náš tým vytváří i další kurzy! Podívejte se:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j pro začátečníky](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js pro začátečníky](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain pro začátečníky](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / Agenti
[![AZD pro začátečníky](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 pro začátečníky](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série Generativní AI
[![Generativní AI pro začátečníky](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)
[![Generativ 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)
[![Generativ 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)
[![Generativ AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Séria generativní 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)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Základní vzdělávání
[![ML pro začátečníky](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science pro začátečníky](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI pro začátečníky](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)
[![Kyberbezpečnost pro začátečníky](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)
[![Webový vývoj pro začátečníky](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT pro začátečníky](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)
[![Vývoj XR pro začátečníky](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série Copilot
[![Copilot pro AI párové programování](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 pro C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
### Séria Copilot
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Získání pomoci
Pokud narazíte na problém nebo máte jakékoli dotazy ohledně tvorby AI aplikací, přidejte se k ostatním studentům a zkušeným vývojářům v diskuzích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se volně sdílí.
Pokud se zaseknete nebo máte jakékoli otázky ohledně vytváření AI aplikací, připojte se k ostatním studentům a zkušeným vývojářům v diskuzích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti jsou sdíleny otevřeně.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Pokud máte zpětnou vazbu k produktu nebo narazíte na chyby při vývoji, navštivte:
Pokud máte zpětnou vazbu k produktu nebo při vytváření narazíte na chyby, navštivte:
[![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)
## Další tipy pro učení
- Po každé lekci si prohlédněte poznámkové bloky pro lepší pochopení.
- Procvičujte si implementaci algoritmů sami.
- Prozkoumejte reálné datové sady pomocí naučených konceptů.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Prohlášení o vyloučení odpovědnosti**:
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za závazný zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění či nesprávné výklady vyplývající z použití tohoto překladu.
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za závazný zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Nejsme odpovědni za případná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "hu"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-05T16:02:24+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T09:59:01+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "hu"
},
@ -90,8 +90,8 @@
"language_code": "hu"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T15:09:53+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T10:00:15+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "hu"
},
@ -186,8 +186,8 @@
"language_code": "hu"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T16:23:30+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T10:00:39+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "hu"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "hu"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:53:40+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "hu"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-05T16:25:06+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "hu"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:53:47+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "hu"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T16:21:03+00:00",
@ -540,8 +552,8 @@
"language_code": "hu"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:51:34+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T09:58:54+00:00",
"source_file": "README.md",
"language_code": "hu"
},

@ -1,16 +1,18 @@
# Fedezd fel a Responsible AI Toolbox-t
# Fedezze fel a Felelős MI Eszköztárat
## Útmutató
## Utasítások
Ebben a leckében megismerkedtél a Responsible AI Toolbox-szal, egy "nyílt forráskódú, közösség által vezérelt projekttel, amely segíti az adatkutatókat az AI rendszerek elemzésében és fejlesztésében." Ehhez a feladathoz fedezz fel a RAI Toolbox egyik [notebookját](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb), és számolj be az eredményeidről egy dolgozatban vagy prezentációban.
Ebben a leckében megismerkedett a Felelős MI Eszköztárral, egy "nyílt forráskódú, közösség által vezérelt projekttel, amely segíti az adatelemzőket az MI rendszerek elemzésében és fejlesztésében." Ehhez a feladathoz fedezze fel az RAI Toolbox egyik [notebookját](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb), és számoljon be róla egy dolgozatban vagy előadásban.
## Értékelési szempontok
| Kritérium | Kiváló | Megfelelő | Fejlesztésre szorul |
| --------- | ------- | --------- | ------------------- |
| | Egy dolgozat vagy PowerPoint prezentáció bemutatja a Fairlearn rendszereit, a futtatott notebookot, és az abból levont következtetéseket | Egy dolgozat bemutatásra kerül, de következtetések nélkül | Nem kerül bemutatásra dolgozat |
| -------- | --------- | -------- | ----------------- |
| | Egy dolgozat vagy PowerPoint prezentáció kerül bemutatásra, amely Fairlearn rendszereit, a futtatott notebookot és a futtatásból levont következtetéseket tárgyalja | Egy dolgozat kerül bemutatásra következtetések nélkül | Nem kerül bemutatásra dolgozat |
---
**Felelősség kizárása**:
Ez a dokumentum az AI fordítási szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Jogi nyilatkozat**:
Ezt a dokumentumot az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordító szolgáltatás használatával fordítottuk le. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások tartalmazhatnak hibákat vagy pontatlanságokat. Az eredeti dokumentum anyanyelvű változatát tekintendő hivatalos forrásnak. Kritikus információk esetén professzionális emberi fordítást javaslunk. Nem vállalunk felelősséget az ezen fordítás használatából eredő félreértésekért vagy helytelen értelmezésekért.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,137 @@
# Készítsünk regressziós modellt Scikit-learn segítségével: négyféle regresszió
# Regressziós modell építése Scikit-learn használatával: regresszió négyféleképpen
![Lineáris vs polinomiális regresszió infografika](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
> Infografika: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## Kezdő megjegyzés
Lineáris regressziót akkor használunk, amikor egy **numerikus értéket** akarunk megjósolni (például ház árát, hőmérsékletet vagy értékesítést).
Ez úgy működik, hogy megkeresi azt a legjobb egyenest, amely legjobban reprezentálja a bemeneti jellemzők és a kimenet közötti kapcsolatot.
Ebben a leckében a fogalom megértésére koncentrálunk, mielőtt további, fejlettebb regressziós technikákat vizsgálnánk.
![Lineáris vs polinomiális regresszió infografika](../../../../translated_images/hu/linear-polynomial.5523c7cb6576ccab.webp)
> Infografika készítője: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Előadás előtti kvíz](https://ff-quizzes.netlify.app/en/ml/)
> ### [Ez a lecke elérhető R-ben is!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Bevezetés
> ### [Ez a lecke elérhető R nyelven is!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Bevezetés
Eddig megismerkedtél azzal, hogy mi is az a regresszió, például a tökárak adatain keresztül, amelyeket ebben a leckében fogunk használni. A Matplotlib segítségével vizualizáltad is az adatokat.
Eddig megvizsgáltad, mi az a regresszió, és mintákat néztél meg a sütőtök árképzési adatbázisból, amelyet az egész lecke során fogunk használni. Meg is jelenítetted azt a Matplotlib segítségével.
Most készen állsz arra, hogy mélyebben belemerülj a gépi tanulás regressziós technikáiba. Bár a vizualizáció segít az adatok megértésében, a gépi tanulás valódi ereje a _modellek tanításában_ rejlik. A modelleket történelmi adatokon tanítjuk, hogy automatikusan felismerjék az adatok közötti összefüggéseket, és lehetővé tegyék az előrejelzést olyan új adatokra, amelyeket a modell korábban nem látott.
Most készen állsz arra, hogy mélyebben beleásd magad a regresszió témájába a gépi tanuláshoz. Míg a megjelenítés lehetővé teszi az adatok megértését, a gépi tanulás valódi ereje a _modellek betanításában_ rejlik. A modelleket történeti adatokon tanítjuk meg, hogy automatikusan megragadják az adatok közötti összefüggéseket, és lehetővé tegyék, hogy új adatokra előrejelzéseket készítsünk, melyekkel a modell még nem találkozott.
Ebben a leckében többet fogsz megtudni kétféle regresszióról: _egyszerű lineáris regresszióról_ és _polinomiális regresszióról_, valamint az ezek mögött álló matematikáról. Ezek a modellek lehetővé teszik számunkra, hogy különböző bemeneti adatok alapján előre jelezzük a tökárakat.
Ebben a leckében két regressziótípust fogsz megismerni: az _alapvető lineáris regressziót_ és a _polinomiális regressziót_, néhány matematikai háttérrel együtt. Ezek a modellek lehetővé teszik, hogy előre jelezzük a sütőtök árakat különböző bemeneti adatok alapján.
[![Gépi tanulás kezdőknek - A lineáris regresszió megértése](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Gépi tanulás kezdőknek - A lineáris regresszió megértése")
[![Gépi tanulás kezdőknek A lineáris regresszió megértése](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Gépi tanulás kezdőknek A lineáris regresszió megértése")
> 🎥 Kattints a fenti képre egy rövid videós összefoglalóért a lineáris regresszióról.
> 🎥 Kattints a fenti képre egy rövid videós áttekintésért a lineáris regresszióról.
> Ebben a tananyagban minimális matematikai ismereteket feltételezünk, és igyekszünk hozzáférhetővé tenni a különböző területekről érkező diákok számára. Figyelj a jegyzetekre, 🧮 matematikai hívásokra, diagramokra és más tanulási eszközökre, amelyek segítik a megértést.
> A tananyag során minimális matematikai ismerettel számolunk, és arra törekszünk, hogy a más területekről érkező diákok számára is érthető legyen, ezért figyelj a megjegyzésekre, 🧮 kiemelésekre, ábrákra és egyéb tanulási segédeszközökre, amelyek segítik a megértést.
### Előfeltétel
Mostanra már ismerned kell a tökadatok szerkezetét, amelyeket vizsgálunk. Ezek az adatok előre betöltve és megtisztítva találhatók meg ennek a leckének a _notebook.ipynb_ fájljában. A fájlban a tökárak bushelre vetítve jelennek meg egy új adatkeretben. Győződj meg róla, hogy ezeket a notebookokat futtatni tudod a Visual Studio Code kerneljeiben.
Már meg kell ismerned a sütőtök adatok szerkezetét, amelyeket megvizsgálunk. Ezek előre betöltve és megtisztítva szerepelnek ennél a leckénél az _notebook.ipynb_ fájlban. Ebben a fájlban a sütőtök ár bushelenként jelenik meg egy új adatkeretben. Győződj meg róla, hogy futtatni tudod ezeket a jegyzetfüzeteket a Visual Studio Code kerneljeiben.
### Előkészület
Emlékeztetőül: ezt az adatot azért töltöd be, hogy kérdéseket tehess fel vele kapcsolatban.
### Felkészülés
- Mikor a legjobb idő sütőtököt vásárolni?
- Milyen árat várhatok mini sütőtökök egy csomagjára?
- Érdemes-e fél bushel kosárban vagy inkább 1 1/9 bushel dobozban venni?
Emlékeztetőül: ezeket az adatokat azért töltöd be, hogy kérdéseket tegyél fel velük kapcsolatban.
Nézzük tovább ezt az adatot.
- Mikor érdemes tököt vásárolni?
- Milyen árat várhatok egy doboz miniatűr tök esetében?
- Érdemes fél bushel kosárban vagy 1 1/9 bushel dobozban vásárolni őket?
Folytassuk az adatok vizsgálatát.
Az előző leckében létrehoztál egy Pandas adatkeretet, amelybe betöltötted az eredeti adatállomány egy részét és egységesítetted az árakat bushelenként. Így azonban csak kb. 400 adatpontot nyertél, és csak a őszi hónapokra vonatkozóan.
Az előző leckében létrehoztál egy Pandas adatkeretet, és feltöltötted az eredeti adatkészlet egy részével, standardizálva az árakat bushelre vetítve. Ezzel azonban csak körülbelül 400 adatpontot tudtál összegyűjteni, és csak az őszi hónapokra vonatkozóan.
Nézd meg az ebben a leckében előre betöltött adatot a jegyzetfüzet mellékleteként. Az adat már be van töltve, és egy kezdeti pontdiagram is készült a hónap adatainak megjelenítésére. Talán sikerül a tisztítással árnyaltabb képet kapni az adat természetéről.
Nézd meg az adatokat, amelyeket előre betöltöttünk ennek a leckének a notebookjában. Az adatok előre betöltve vannak, és egy kezdeti szórásdiagramot is készítettünk, amely hónap adatokat mutat. Talán egy kicsit részletesebb képet kaphatunk az adatok természetéről, ha tovább tisztítjuk őket.
## Egy lineáris regressziós egyenes
## Egy lineáris regressziós vonal
Ahogy az 1. leckében tanultad, a lineáris regressziós feladat célja egy olyan egyenes ábrázolása, amely:
Ahogy az 1. leckében megtanultad, a lineáris regresszió célja, hogy egy vonalat rajzoljunk, amely:
- **Variable kapcsolatok bemutatása**. Megmutatja a változók közötti kapcsolatot
- **Előrejelzés készítése**. Pontosan megjósolja, hogy az új adatpont hol fog elhelyezkedni az egyeneshez képest.
- **Megmutatja a változók közötti kapcsolatot**. Megmutatja a változók közötti összefüggést.
- **Előrejelzéseket készít**. Pontos előrejelzéseket készít arról, hogy egy új adatpont hol helyezkedne el a vonalhoz képest.
Tipikusan a **legkisebb négyzetek regresszió** alkalmazása révén rajzolunk ilyen egyenest. A "legkisebb négyzetek" kifejezés arra a folyamatra utal, amely során minimalizáljuk a modell összes hibáját. Minden adatpontra megmérjük a függőleges távolságot (reziduális), mely az adott pont és a regressziós egyenes közötti távolság.
A **Legkisebb négyzetek regressziója** általában ezt a fajta vonalat rajzolja. A "legkisebb négyzetek" kifejezés azt jelenti, hogy a regressziós vonal körüli összes adatpontot négyzetre emeljük, majd összeadjuk. Ideális esetben ez az összeg a lehető legkisebb, mivel alacsony hibaszámot, vagyis `legkisebb négyzeteket` szeretnénk.
Ezeket a távolságokat négyzetre emeljük két fő okból:
Ezt azért tesszük, mert olyan vonalat szeretnénk modellezni, amelynek a legkisebb kumulatív távolsága van az összes adatponttól. Az értékeket négyzetre emeljük, mielőtt összeadnánk őket, mivel az irány helyett a nagyságuk érdekel minket.
1. **Iránynál fontosabb a nagyság:** Az a hibát, ha -5 vagy +5, egyformán kezeljük. A négyzetre emeléssel az összes érték pozitívvá válik.
> **🧮 Mutasd a matematikát**
2. **Eltérő értékek büntetése:** A négyzetre emelés nagyobb súlyt ad a nagyobb hibáknak, így az egyenes közelebb kerül az eltérő pontokhoz.
Mindezek után összeadjuk az összes négyzetre emelt értéket. A cél az, hogy megtaláljuk azt az egyenest, amelynél ez az összeg a legkisebb (legkisebb lehetséges érték) innen ered a "Legkisebb négyzetek" név.
> **🧮 Mutasd a képletet**
>
> Ez a vonal, amelyet _legjobb illeszkedés vonalának_ nevezünk, [egy egyenlettel](https://en.wikipedia.org/wiki/Simple_linear_regression) fejezhető ki:
> Ezt az egyenest, az úgynevezett _legjobb illeszkedésű egyenest_, a [következő képlettel](https://en.wikipedia.org/wiki/Simple_linear_regression) lehet leírni:
>
> ```
> Y = a + bX
> ```
>
> `X` az 'magyarázó változó'. `Y` a 'függő változó'. A vonal meredeksége `b`, és `a` az y-metszet, amely arra utal, hogy `Y` értéke mennyi, amikor `X = 0`.
> `X` a magyarázó változó. `Y` a függő változó. Az egyenes meredeksége `b`, az `a` pedig az y-tengely metszete, vagyis az `Y` értéke, amikor `X = 0`.
>
>![a meredekség kiszámítása](../../../../2-Regression/3-Linear/images/slope.png)
>![a meredekség kiszámítása](../../../../translated_images/hu/slope.f3c9d5910ddbfcf9.webp)
>
> Először számítsd ki a meredekséget `b`. Infografika: [Jen Looper](https://twitter.com/jenlooper)
> Először számítsuk ki a `b` meredekséget. Infografika készítője: [Jen Looper](https://twitter.com/jenlooper)
>
> Más szavakkal, és utalva a tökadatok eredeti kérdésére: "jósoljuk meg a tök árát bushelre vetítve hónap szerint", `X` az árra, `Y` pedig az eladási hónapra utalna.
> Más szóval, és utalva a sütőtök adataink eredeti kérdésére: "jósoljuk meg a sütőtök bushelenkénti árát hónapra lebontva", az `X` az árra, az `Y` pedig az értékesítés hónapjára utalna.
>
>![az egyenlet kiegészítése](../../../../2-Regression/3-Linear/images/calculation.png)
>![egyenlet kitöltése](../../../../translated_images/hu/calculation.a209813050a1ddb1.webp)
>
> Számítsd ki `Y` értékét. Ha körülbelül 4 dollárt fizetsz, akkor április van! Infografika: [Jen Looper](https://twitter.com/jenlooper)
> Számítsuk ki az `Y` értékét. Ha körülbelül 4 dollárt fizetsz, bizonyára április van! Infografika készítője: [Jen Looper](https://twitter.com/jenlooper)
>
> Az egyenlet kiszámításához szükséges matematika megmutatja a vonal meredekségét, amely az y-metszettől is függ, vagyis attól, hogy `Y` hol helyezkedik el, amikor `X = 0`.
> A képletnek ki kell számolnia az egyenes meredekségét, amely az y-metszettől, azaz attól függ, hol helyezkedik el az `Y`, amikor `X = 0`.
>
> Megfigyelheted az értékek kiszámításának módszerét a [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) weboldalon. Látogasd meg a [Legkisebb négyzetek kalkulátort](https://www.mathsisfun.com/data/least-squares-calculator.html), hogy láthasd, hogyan befolyásolják a számok értékei a vonalat.
> Megfigyelheted a számítási módot a [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) weboldalon. Látogass el erre [a legkisebb négyzetek számológépre](https://www.mathsisfun.com/data/least-squares-calculator.html), hogy lásd, miként befolyásolják az értékek az egyenest.
## Korreláció
Egy másik fontos fogalom a **Korrelációs együttható** az adott X és Y változók között. Egy szórásdiagram segítségével gyorsan vizualizálhatod ezt az együtthatót. Ha az adatpontok szépen egy vonalban helyezkednek el, akkor magas korrelációról beszélünk, de ha az adatpontok szétszórtan helyezkednek el X és Y között, akkor alacsony korrelációról van szó.
Van még egy fogalom, amit meg kell érteni, ez pedig a **korrelációs együttható** az adott X és Y változók között. Egy pontdiagram segítségével könnyen meg lehet jeleníteni ezt az együtthatót. Ha az adatpontok szépen egy egyenes mentén helyezkednek el, akkor magas a korreláció, ha pedig mindenfelé szóródnak az X és Y között, akkor alacsony.
Egy jó lineáris regressziós modell olyan, amelynek magas (1-hez közelebb álló, mint 0-hoz) Korrelációs együtthatója van a Legkisebb négyzetek regressziós módszerével és egy regressziós vonallal.
Egy jó lineáris regressziós modell lesz olyan, amely szoros (inkább 1-hez, semmint 0-hoz közeli) korrelációs együtthatóval rendelkezik a legkisebb négyzetek regressziós módszerével egy regressziós vonal mellett.
✅ Futtasd a leckéhez tartozó notebookot, és nézd meg a Hónap és Ár szórásdiagramot. Az adatok, amelyek a Hónap és Ár közötti kapcsolatot mutatják a tökeladások esetében, vizuális értelmezésed szerint magas vagy alacsony korrelációval rendelkeznek? Változik ez, ha finomabb mértéket használsz a `Hónap` helyett, például *az év napját* (azaz az év eleje óta eltelt napok száma)?
✅ Futtasd az ehhez a leckéhez mellékelt jegyzetfüzetet, és nézd meg a Hónap-Arány pontdiagramot. A hónap és ára közötti kapcsolat a sütőtök értékesítésében szerinted magas vagy alacsony korrelációjú a pontdiagram vizuális értelmezése alapján? Változik-e, ha finomabb mértéket használunk a `Month` helyett, például az *év napja* (az év első napja óta eltelt napok száma) alapján?
Az alábbi kódban feltételezzük, hogy megtisztítottuk az adatokat, és egy `new_pumpkins` nevű adatkeretet kaptunk, amely hasonló az alábbihoz:
A lentebbi kódban azt feltételezzük, hogy megtisztítottuk az adatot, és létrejött egy `new_pumpkins` nevű adatkeret az alábbi módon:
ID | Hónap | ÉvNapja | Fajta | Város | Csomagolás | Alacsony ár | Magas ár | Ár
---|-------|---------|-------|-------|------------|-------------|----------|-----
70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel kartonok | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel kartonok | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel kartonok | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel kartonok | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel kartonok | 15.0 | 15.0 | 13.636364
ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price
---|-------|-----------|---------|------|---------|-----------|------------|-------
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
> Az adatok tisztításához szükséges kód megtalálható a [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb) fájlban. Ugyanazokat a tisztítási lépéseket hajtottuk végre, mint az előző leckében, és kiszámítottuk az `ÉvNapja` oszlopot az alábbi kifejezés segítségével:
> Az adatok tisztítására szolgáló kód elérhető a [`notebook.ipynb`](notebook.ipynb) fájlban. Ugyanazokat a tisztítási lépéseket hajtottuk végre, mint az előző leckében, és kiszámoltuk a `DayOfYear` oszlopot a következő kifejezés használatával:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Most, hogy megértetted a lineáris regresszió mögötti matematikát, hozzunk létre egy regressziós modellt, hogy megnézzük, meg tudjuk-e jósolni, melyik tökcsomagolás kínálja a legjobb árakat. Valaki, aki tököt vásárol egy ünnepi tökfolt számára, szeretné optimalizálni a tökcsomagok vásárlását.
Most, hogy érted a lineáris regresszió mögötti matematikát, hozzunk létre egy regressziós modellt, hogy megnézzük, meg tudjuk-e jósolni, melyik sütőtök csomag árazása lesz a legjobb. Valaki, aki ünnepi sütőtök díszhez vásárol, ezt az információt használhatja vásárlási döntések optimalizálására.
## Korreláció keresése
[![Gépi tanulás kezdőknek - Korreláció keresése: A lineáris regresszió kulcsa](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Gépi tanulás kezdőknek - Korreláció keresése: A lineáris regresszió kulcsa")
[![Gépi tanulás kezdőknek - Korreláció keresése: Az összefüggés a lineáris regresszió kulcsa](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Gépi tanulás kezdőknek - Korreláció keresése: Az összefüggés a lineáris regresszió kulcsa")
> 🎥 Kattints a fenti képre egy rövid videós összefoglalóért a korrelációról.
> 🎥 Kattints a fenti képre egy rövid videós áttekintésért a korrelációról.
Az előző leckéből valószínűleg láttad, hogy az átlagár különböző hónapokra így néz ki:
Az előző leckéből valószínűleg láttad, hogy különböző hónapok átlagára így néz ki:
<img alt="Átlagár hónaponként" src="../../../../translated_images/hu/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Átlagár hónapokra bontva" src="../../../../translated_images/hu/barchart.a833ea9194346d76.webp" width="50%"/>
Ez arra utal, hogy lehet némi korreláció, és megpróbálhatunk egy lineáris regressziós modellt tanítani, hogy megjósoljuk a `Hónap` és `Ár`, vagy az `ÉvNapja` és `Ár` közötti kapcsolatot. Íme egy szórásdiagram, amely az utóbbi kapcsolatot mutatja:
Ez arra utal, hogy van összefüggés, és megpróbálhatjuk a lineáris regresszió modellt betanítani a `Month` és az ár, vagy a `DayOfYear` és az ár kapcsolatára. Az alábbi szórásterület ábrán ennek az utóbbinak a viszonya látható:
<img alt="Szórásdiagram az Ár és az ÉvNapja között" src="../../../../translated_images/hu/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Szórásdiagram az ár és az év napja szerint" src="../../../../translated_images/hu/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Nézzük meg, van-e korreláció a `corr` függvény segítségével:
Nézzük meg, milyen korreláció van az `corr` függvénnyel:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Úgy tűnik, hogy a korreláció elég kicsi, -0.15 a `Hónap` és -0.17 az `ÉvNapja` esetében, de lehet, hogy van egy másik fontos kapcsolat. Úgy tűnik, hogy az árak különböző csoportjai a tökfajtákhoz kapcsolódnak. Ennek a hipotézisnek a megerősítéséhez ábrázoljuk minden tökkategóriát különböző színnel. Az `ax` paraméter átadásával a `scatter` ábrázolási függvénynek az összes pontot ugyanazon a grafikonon ábrázolhatjuk:
Úgy tűnik, a korreláció meglehetősen kicsi, -0,15 a hónap szerint és -0,17 az év napja szerint, de lehet, hogy egy másik fontos összefüggés is létezik. Úgy tűnik, különböző árkategóriák léteznek a sütőtök fajták szerint. Ennek megerősítésére próbáljuk meg az egyes sütőtök kategóriákat különböző színnel megjeleníteni. Az `ax` paraméter átadásával a `scatter` függvénynek az összes pont ugyanazon a grafikonon ábrázolható:
```python
ax=None
@ -128,42 +141,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="Szórásdiagram az Ár és az ÉvNapja között" src="../../../../translated_images/hu/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Szórásdiagram az ár és az év napja színkódolt" src="../../../../translated_images/hu/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Vizsgálatunk azt sugallja, hogy a fajta nagyobb hatással van az árakra, mint az eladási dátum. Ezt egy oszlopdiagramon is láthatjuk:
Vizsgálatunk arra utal, hogy a fajta hatása nagyobb az ár összértékére, mint az eladási időponté. Ezt egy oszlopdiagramon is megláthatjuk:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Oszlopdiagram az ár és a fajta között" src="../../../../translated_images/hu/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Oszlopdiagram az ár és a fajta szerint" src="../../../../translated_images/hu/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Most koncentráljunk egyetlen tökfajtára, a 'pie type'-ra, és nézzük meg, milyen hatással van a dátum az árra:
Most egyelőre csak az egyik sütőtök fajtára, a pie type-ra koncentráljunk, és nézzük meg, milyen hatása van az értékesítési dátumnak az árra:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Szórásdiagram az Ár és az ÉvNapja között" src="../../../../translated_images/hu/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Szórásdiagram az ár és az év napja a pie típusú sütőtöknél" src="../../../../translated_images/hu/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Ha most kiszámítjuk az `Ár` és az `ÉvNapja` közötti korrelációt a `corr` függvény segítségével, körülbelül `-0.27` értéket kapunk - ami azt jelenti, hogy érdemes egy prediktív modellt tanítani.
Ha most kiszámoljuk a korrelációt a `Price` és a `DayOfYear` között az `corr` függvénnyel, az kb. `-0.27` lesz ami azt jelenti, hogy érdemes prediktív modellt tanítani.
> Mielőtt lineáris regressziós modellt tanítanánk, fontos megbizonyosodni arról, hogy az adataink tiszták. A lineáris regresszió nem működik jól hiányzó értékekkel, ezért érdemes megszabadulni az üres celláktól:
> A lineáris regressziós modell betanítása előtt fontos, hogy az adatunk tiszta legyen. A lineáris regresszió nem működik jól hiányzó értékekkel, ezért érdemes megszabadulni minden hiányzó adattól:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Egy másik megközelítés az lenne, hogy az üres értékeket az adott oszlop átlagértékeivel töltjük ki.
Másik megközelítés lehet a hiányzó értékek kitöltése az adott oszlop átlagával.
## Egyszerű lineáris regresszió
[![Gépi tanulás kezdőknek - Lineáris és polinomiális regresszió Scikit-learn segítségével](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Gépi tanulás kezdőknek - Lineáris és polinomiális regresszió Scikit-learn segítségével")
[![Gépi tanulás kezdőknek Lineáris és polinomiális regresszió Scikit-learn segítségével](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Gépi tanulás kezdőknek Lineáris és polinomiális regresszió Scikit-learn segítségével")
> 🎥 Kattints a fenti képre egy rövid videós összefoglalóért a lineáris és polinomiális regresszióról.
> 🎥 Kattints a fenti képre egy rövid videós áttekintésért a lineáris és polinomiális regresszióról.
A lineáris regressziós modellünk tanításához a **Scikit-learn** könyvtárat fogjuk használni.
Lineáris regressziós modellünk betanításához a **Scikit-learn** könyvtárat fogjuk használni.
```python
from sklearn.linear_model import LinearRegression
@ -171,36 +184,46 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Először szétválasztjuk a bemeneti értékeket (jellemzők) és a várt kimenetet (címke) külön numpy tömbökbe:
Kezdjük azzal, hogy a bemeneti értékeket (jellemzők) és a várt kimenetet (címkét) külön numpy tömbökbe rendezzük:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Figyeld meg, hogy a bemeneti adatokat `reshape`-el kellett átalakítanunk, hogy a Lineáris Regresszió csomag helyesen értelmezze. A Lineáris Regresszió 2D-tömböt vár bemenetként, ahol a tömb minden sora a bemeneti jellemzők vektorának felel meg. Ebben az esetben, mivel csak egy bemenetünk van, egy N×1 alakú tömbre van szükségünk, ahol N az adatkészlet mérete.
> Figyeld meg, hogy a bemeneti adatokat át kellett formáznunk (`reshape`), hogy a Lineáris Regresszió csomag helyesen értelmezze őket. A Lineáris Regresszió 2D tömböt vár bemenetként, ahol a tömb minden sora egy vektor a bemeneti jellemzőkről. Mivel nekünk csak egy bemenetünk van, egy N×1 alakú tömböt kell adnunk, ahol N az adatkészlet mérete.
Ezután az adatokat szét kell osztanunk tanító és teszt adatkészletekre, hogy a modellünket validálni tudjuk a tanítás után:
Ezután az adatot szét kell osztanunk tanító és teszt halmazokra, hogy a modell betanítása után tesztelni tudjuk azt:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Végül a tényleges Lineáris Regressziós modell tanítása mindössze két kódsort igényel. Meghatározzuk a `LinearRegression` objektumot, és az adatainkra illesztjük a `fit` metódus segítségével:
Végül a lineáris regressziós modell tényleges betanítása csak két kód sorból áll. Létrehozzuk a `LinearRegression` objektumot, és betanítjuk az adatainkra a `fit` metódussal:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
A `LinearRegression` objektum a `fit`-elés után tartalmazza a regresszió összes együtthatóját, amelyeket a `.coef_` tulajdonságon keresztül érhetünk el. Ebben az esetben csak egy együttható van, amelynek értéke
Hibánk körülbelül 2 pontnál van, ami ~17%. Nem túl jó. Egy másik mutató a modell minőségére a **determinizációs együttható**, amelyet így lehet kiszámítani:
A `LinearRegression` objektum a `fit`-elés után tartalmazza a regresszió összes együtthatóját, amelyekhez a `.coef_` tulajdonságon keresztül férhetünk hozzá. Esetünkben csak egy együttható van, amely körülbelül `-0.017` körül várható. Ez azt jelenti, hogy az árak idővel kissé csökkennek, de nem sokat, körülbelül 2 centet naponta. A regresszió Y tengellyel való metszéspontját is elérhetjük a `lin_reg.intercept_` segítségével ami nálunk körülbelül `21` lesz, jelezve az év eleji árat.
Hogy lássuk, mennyire pontos a modellünk, először árakat jósolhatunk egy tesztadatállományra, majd mérhetjük, mennyire közel vannak a jóslataink a várt értékekhez. Ezt elvégezhetjük a négyzetes hibák átlagával, azaz a mean square error (MSE) metrikával, amely a várt és a jósolt értékek közötti négyzetes különbségek átlaga.
```python
pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
A hibánk úgy tűnik, körülbelül 2 pont körül van, ami kb. 17%. Nem túl jó. A modell minőségének másik mutatója az **elszámolási együttható (coefficient of determination)**, amely így határozható meg:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Ha az érték 0, az azt jelenti, hogy a modell nem veszi figyelembe a bemeneti adatokat, és úgy működik, mint a *legrosszabb lineáris előrejelző*, amely egyszerűen az eredmény átlagértéke. Az 1-es érték azt jelenti, hogy tökéletesen meg tudjuk jósolni az összes várt kimenetet. Esetünkben az együttható körülbelül 0.06, ami elég alacsony.
Ha az érték 0, az azt jelenti, hogy a modell nem veszi figyelembe a bemeneti adatokat, és a *legrosszabb lineáris prediktorként* működik, ami egyszerűen az eredmény átlagértéke. Ha az érték 1, az azt jelenti, hogy tökéletesen tudjuk előre jelezni az összes várt kimenetet. Nálunk az együttható körülbelül 0.06, ami elég alacsony.
A tesztadatokat a regressziós vonallal együtt is ábrázolhatjuk, hogy jobban lássuk, hogyan működik a regresszió a mi esetünkben:
@ -209,21 +232,21 @@ plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="Lineáris regresszió" src="../../../../translated_images/hu/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/hu/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Polinomiális regresszió
A lineáris regresszió egy másik típusa a polinomiális regresszió. Bár néha van lineáris kapcsolat a változók között például minél nagyobb a tök térfogata, annál magasabb az ára , néha ezek a kapcsolatok nem ábrázolhatók síkként vagy egyenes vonalként.
A lineáris regressziónak egy másik típusa a polinomiális regresszió. Bár néha a változók közt lineáris kapcsolat van például minél nagyobb a tök térfogata, annál magasabb az ára , előfordul, hogy ezek a kapcsolatok nem ábrázolhatók egy síkkal vagy egyenes vonallal.
✅ Itt van [néhány példa](https://online.stat.psu.edu/stat501/lesson/9/9.8) olyan adatokra, amelyekhez polinomiális regressziót lehet használni.
✅ Itt vannak [további példák](https://online.stat.psu.edu/stat501/lesson/9/9.8) olyan adatokra, amelyek esetében polinomiális regresszió alkalmazható.
Nézd meg újra a dátum és az ár közötti kapcsolatot. Úgy tűnik, hogy ezt a szórásdiagramot feltétlenül egy egyenes vonallal kellene elemezni? Nem ingadozhatnak az árak? Ebben az esetben megpróbálhatod a polinomiális regressziót.
Nézzük újra az összefüggést a Dátum és az Ár között. Ez a pontfelhő úgy tűnik, hogy feltétlenül egyenes vonallal kellene elemezni? Nem ingadozhatnak az árak? Ilyen esetben polinomiális regressziót próbálhatunk ki.
✅ A polinomok olyan matematikai kifejezések, amelyek egy vagy több változót és együtthatót tartalmazhatnak.
✅ A polinomok matematikai kifejezések, amelyek egy vagy több változóból és együtthatóból állhatnak.
A polinomiális regresszió egy görbe vonalat hoz létre, amely jobban illeszkedik a nemlineáris adatokhoz. Esetünkben, ha egy négyzetes `DayOfYear` változót is hozzáadunk a bemeneti adatokhoz, akkor egy parabola görbével tudjuk illeszteni az adatainkat, amelynek minimuma az év egy bizonyos pontján lesz.
A polinomiális regresszió egy görbe vonalat hoz létre, hogy jobban illeszkedjen a nemlineáris adatokra. Nálunk, ha a bemeneti adathoz hozzáadjuk a `DayOfYear` négyzetét, akkor képesek leszünk egy parabolikus görbével illeszteni az adatokat, amelynek a minimuma az év egy bizonyos pontján lesz.
A Scikit-learn tartalmaz egy hasznos [pipeline API-t](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), amely lehetővé teszi az adatfeldolgozás különböző lépéseinek összekapcsolását. A **pipeline** egy **becslők** láncolata. Esetünkben egy olyan pipeline-t hozunk létre, amely először polinomiális jellemzőket ad a modellhez, majd elvégzi a regressziót:
A Scikit-learn tartalmaz egy hasznos [pipeline API-t](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), amellyel több adatfeldolgozási lépést is összekapcsolhatunk. Egy **pipeline** egy **becslők** láncolata. Nálunk egy olyan pipeline-t hozunk létre, amely először polinomiális jellemzőket ad a modellhez, majd megtanítja a regressziót:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -234,34 +257,34 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
A `PolynomialFeatures(2)` használata azt jelenti, hogy a bemeneti adatokból minden másodfokú polinomot beillesztünk. Esetünkben ez csak a `DayOfYear`<sup>2</sup>-t jelenti, de ha két bemeneti változónk van, X és Y, akkor ez hozzáadja X<sup>2</sup>-t, XY-t és Y<sup>2</sup>-t. Magasabb fokú polinomokat is használhatunk, ha szeretnénk.
A `PolynomialFeatures(2)` azt jelenti, hogy az összes másodfokú polinomot belefoglaljuk a bemeneti adatból. Nálunk ez csak a `DayOfYear`<sup>2</sup>-t jelenti, de ha két bemeneti változónk, X és Y van, akkor hozzáadódik az X<sup>2</sup>, XY és Y<sup>2</sup> is. Természetesen magasabb fokú polinomokat is használhatunk.
A pipeline-t ugyanúgy használhatjuk, mint az eredeti `LinearRegression` objektumot, azaz `fit`-elhetjük a pipeline-t, majd a `predict` segítségével megkaphatjuk az előrejelzési eredményeket. Íme a grafikon, amely a tesztadatokat és az approximációs görbét mutatja:
A pipeline-okat ugyanúgy használhatjuk, mint az eredeti `LinearRegression` objektumot, azaz illeszthetjük (`fit`), majd jósolhatunk (`predict`). Itt látható egy grafikon a tesztadatokról és az illesztett görbéről:
<img alt="Polinomiális regresszió" src="../../../../translated_images/hu/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/hu/poly-results.ee587348f0f1f60b.webp" width="50%" />
A polinomiális regresszió használatával kissé alacsonyabb MSE-t és magasabb determinizációs együtthatót érhetünk el, de nem jelentősen. Figyelembe kell vennünk más jellemzőket is!
A polinomiális regresszióval kissé alacsonyabb MSE-t és magasabb determinációt érhetünk el, de nem jelentősen. Más jellemzőket is figyelembe kell vennünk!
> Láthatod, hogy a tökök legalacsonyabb árai valahol Halloween környékén figyelhetők meg. Hogyan magyaráznád ezt?
> Látható, hogy a legkisebb tökárak nagyjából Halloween környékén vannak. Hogyan magyaráznád ezt?
🎃 Gratulálok, most létrehoztál egy modellt, amely segíthet a pite tökök árának előrejelzésében. Valószínűleg ugyanezt az eljárást megismételheted az összes tökfajtára, de ez elég fárasztó lenne. Most tanuljuk meg, hogyan vegyük figyelembe a tökfajtákat a modellünkben!
🎃 Gratulálok, most egy olyan modellt hoztál létre, amely segít előre jelezni a sütőtök árát. Valószínűleg ugyanígy eljárhatsz az összes tökfajtával, de ez fárasztó lenne. Tanuljuk meg inkább, hogyan vegyük figyelembe a tökfajtát a modellünkben!
## Kategorikus jellemzők
## Kategorizált jellemzők
Az ideális világban szeretnénk képesek lenni előre jelezni az árakat különböző tökfajtákra ugyanazzal a modellel. Azonban a `Variety` oszlop kissé eltér az olyan oszlopoktól, mint a `Month`, mert nem numerikus értékeket tartalmaz. Az ilyen oszlopokat **kategorikus** oszlopoknak nevezzük.
Az ideális világban ugyanazzal a modellel szeretnénk különböző tökfajták árát előrejelezni. Azonban a `Variety` oszlop eltér a `Month`-hoz hasonló oszlopoktól, mert nem numerikus értékeket tartalmaz. Az ilyen oszlopokat **kategóriális** oszlopoknak nevezzük.
[![ML kezdőknek - Kategorikus jellemzők előrejelzése lineáris regresszióval](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML kezdőknek - Kategorikus jellemzők előrejelzése lineáris regresszióval")
[![ML kezdőknek - Kategóriás jellemzők előrejelzése lineáris regresszióval](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML kezdőknek - Kategóriás jellemzők előrejelzése lineáris regresszióval")
> 🎥 Kattints a fenti képre egy rövid videós áttekintésért a kategorikus jellemzők használatáról.
> 🎥 Kattints a fenti képre a kategóriás jellemzők használatát bemutató rövid videóért.
Itt láthatod, hogyan függ az átlagár a fajtától:
Itt látható, hogyan függ az átlagár a fajtától:
<img alt="Átlagár fajtánként" src="../../../../translated_images/hu/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/hu/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Ahhoz, hogy figyelembe vegyük a fajtát, először numerikus formára kell átalakítanunk, vagyis **kódolnunk** kell. Többféle módon tehetjük ezt meg:
Ahhoz, hogy figyelembe vegyük a fajtát, először numerikus formába kell konvertálnunk, vagyis **kódolnunk** kell. Többféleképpen tehetjük ezt meg:
* Az egyszerű **numerikus kódolás** egy táblázatot készít a különböző fajtákról, majd a fajta nevét egy indexszel helyettesíti a táblázatban. Ez nem a legjobb ötlet a lineáris regresszióhoz, mert a lineáris regresszió az index tényleges numerikus értékét veszi figyelembe, és hozzáadja az eredményhez, megszorozva egy együtthatóval. Esetünkben az indexszám és az ár közötti kapcsolat egyértelműen nem lineáris, még akkor sem, ha biztosítjuk, hogy az indexek valamilyen specifikus sorrendben legyenek.
* A **one-hot kódolás** a `Variety` oszlopot 4 különböző oszlopra cseréli, egyet minden fajtához. Minden oszlop `1`-et tartalmaz, ha az adott sor egy adott fajtához tartozik, és `0`-t, ha nem. Ez azt jelenti, hogy a lineáris regresszióban négy együttható lesz, egy-egy minden tökfajtához, amely felelős az adott fajta "kezdő árának" (vagy inkább "további árának").
* Az egyszerű **numerikus kódolás** egy táblázatot épít a különböző fajtákról, majd a fajta nevét a táblázatbeli indexére cseréli. Ez nem a legjobb módszer a lineáris regresszióhoz, mert a regresszió a kód numerikus értékét veszi figyelembe és szorozza együtthatóval. Nálunk az indexszám és az ár közötti kapcsolat egyértelműen nem lineáris, még akkor sem, ha az indexeket valamilyen sorrendbe rendezzük.
* A **one-hot kódolás** a `Variety` oszlop helyett 4 külön oszlopot készít, egyet-egyet minden fajtára. Minden oszlop 1-et tartalmaz, ha az adott sor az adott fajta, különben 0-t. Ez azt jelenti, hogy a lineáris regresszióban négy együttható lesz, egy-egy minden tökfajtára, amelyek az adott fajta "kiinduló ára" (vagy inkább "további ára") felelős.
Az alábbi kód megmutatja, hogyan kódolhatjuk one-hot módszerrel a fajtát:
@ -280,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Ahhoz, hogy lineáris regressziót tanítsunk one-hot kódolt fajta bemeneti adatokkal, csak helyesen kell inicializálnunk az `X` és `y` adatokat:
A lineáris regresszió tanításához one-hot kódolt fajtával csak helyesen kell inicializálni az `X` és `y` adatokat:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
A többi kód ugyanaz, mint amit korábban használtunk a lineáris regresszió tanításához. Ha kipróbálod, látni fogod, hogy az átlagos négyzetes hiba körülbelül ugyanaz, de sokkal magasabb determinizációs együtthatót kapunk (~77%). Ahhoz, hogy még pontosabb előrejelzéseket kapjunk, több kategorikus jellemzőt is figyelembe vehetünk, valamint numerikus jellemzőket, mint például a `Month` vagy a `DayOfYear`. Egy nagy jellemzőtömb létrehozásához használhatjuk a `join`-t:
A további kód ugyanaz, mint amit fent használtunk a lineáris regresszió tanításához. Ha kipróbálod, azt látod, hogy a négyzetes hiba nagyjából ugyanaz marad, viszont jóval magasabb lesz az elszámolási együttható (~77%). Még pontosabb jóslatokhoz több kategóriás jellemzőt is bevonhatunk, illetve numerikus jellemzőket, például `Month` vagy `DayOfYear`. Az adatok egyetlen nagy tömbbé egyesítéséhez a `join` használható:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -297,31 +320,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Itt figyelembe vesszük a `City` és a `Package` típusát is, ami 2.84-es MSE-t (10%) és 0.94-es determinizációs együtthatót eredményez!
Itt a `City`-t és a `Package` típust is figyelembe vesszük, ami MSE=2.84 (10%) és determináció=0.94 eredményt ad!
## Mindent összefoglalva
## Összeillesztés
A legjobb modell létrehozásához használhatjuk a fenti példából származó kombinált (one-hot kódolt kategorikus + numerikus) adatokat polinomiális regresszióval együtt. Íme a teljes kód a kényelmed érdekében:
A legjobb modell elkészítéséhez egyesíthetjük a fent említett (one-hot kódolt kategóriás + numerikus) adatokat a polinomiális regresszióval. Alább a teljes kód a könnyebb használathoz:
```python
# set up training data
# tréning adatok előkészítése
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
# tanuló-teszt adatfelosztás végrehajtása
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 beállítása és betanítása
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# tesztadatokra történő eredményjóslás
pred = pipeline.predict(X_test)
# calculate MSE and determination
# MSE és determináció kiszámítása
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -329,34 +352,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
Ez közel 97%-os determinizációs együtthatót és MSE=2.23 (~8%-os előrejelzési hiba) eredményez.
Ez megközelítőleg 97% determinációs együtthatót és MSE=2.23 (~8% előrejelzési hibát) eredményez.
| Modell | MSE | Determinizáció |
| Modell | MSE | Determináció |
|-------|-----|---------------|
| `DayOfYear` Lineáris | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polinomiális | 2.73 (17.0%) | 0.08 |
| `Variety` Lineáris | 5.24 (19.7%) | 0.77 |
| Minden jellemző Lineáris | 2.84 (10.5%) | 0.94 |
| Minden jellemző Polinomiális | 2.23 (8.25%) | 0.97 |
| `DayOfYear` lineáris | 2.77 (17.2%) | 0.07 |
| `DayOfYear` polinomiális | 2.73 (17.0%) | 0.08 |
| `Variety` lineáris | 5.24 (19.7%) | 0.77 |
| Minden jellemző lineáris | 2.84 (10.5%) | 0.94 |
| Minden jellemző polinomiális | 2.23 (8.25%) | 0.97 |
🏆 Szép munka! Egyetlen leckében négy regressziós modellt hoztál létre, és a modell minőségét 97%-ra javítottad. A regresszióról szóló utolsó részben a logisztikus regresszióval fogsz megismerkedni, amely kategóriák meghatározására szolgál.
🏆 Szép munka! Ebben a leckében négy regressziós modellt hoztál létre, és a modellminőséget 97%-ra javítottad. Az utolsó fejezetben a logisztikus regresszióról tanulsz majd a kategóriák meghatározásához.
---
## 🚀Kihívás
Tesztelj több különböző változót ebben a notebookban, hogy lásd, hogyan függ össze a korreláció a modell pontosságával.
Tesztelj különböző változókat ebben a jegyzetfüzetben, és figyeld meg, hogyan tükröződik a korreláció a modell pontosságában.
## [Utólagos kvíz](https://ff-quizzes.netlify.app/en/ml/)
## [Előadás utáni kvíz](https://ff-quizzes.netlify.app/en/ml/)
## Áttekintés és önálló tanulás
## Összefoglalás és önálló tanulás
Ebben a leckében a lineáris regresszióról tanultunk. Vannak más fontos regressziós technikák is. Olvass a Stepwise, Ridge, Lasso és Elasticnet technikákról. Egy jó kurzus, amelyet érdemes tanulmányozni, a [Stanford Statistical Learning kurzus](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
Ebben a leckében a lineáris regresszióval ismerkedtünk meg. Más fontos regressziótípusok is vannak. Olvass a Stepwise, Ridge, Lasso és Elasticnet technikákról. Egy ajánlott tanfolyam további ismeretekért a [Stanford Statisztikai Tanulás kurzusa](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Feladat
## Feladat
[Építs egy modellt](assignment.md)
[Modell készítése](assignment.md)
---
**Felelősség kizárása**:
Ez a dokumentum az AI fordítási szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Nyilatkozat**:
Jelen dokumentumot az AI fordító szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével fordítottuk. Bár igyekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hivatalos forrásnak. Kritikus információk esetén professzionális, emberi fordítást javaslunk. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy félreértelmezésekért.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Konyhai osztályozók 2
# Konyha osztályozók 2
Ebben a második osztályozási leckében további módszereket fedezhetsz fel a numerikus adatok osztályozására. Megismerheted azt is, hogy milyen következményekkel jár, ha egyik osztályozót választod a másik helyett.
Ebben a második osztályozási leckében többféle módot fogsz felfedezni a numerikus adatok osztályozására. Megtanulod azt is, milyen következményekkel jár, ha az egyik osztályozót választod a másik helyett.
## [Előzetes kvíz](https://ff-quizzes.netlify.app/en/ml/)
## [Előadás előtti kvíz](https://ff-quizzes.netlify.app/en/ml/)
### Előfeltétel
Feltételezzük, hogy elvégezted az előző leckéket, és van egy megtisztított adatállományod a `data` mappában, amely _cleaned_cuisines.csv_ néven található a 4-leckés mappa gyökérkönyvtárában.
Feltételezzük, hogy elvégezted az előző leckéket, és van egy megtisztított adatállományod a `data` mappádban, amelynek neve _cleaned_cuisines.csv_, és amely ebben a 4 leckés mappában a gyökérkönyvtárban található.
### Előkészület
Betöltöttük a _notebook.ipynb_ fájlodat a megtisztított adatállománnyal, és X és y adatkeretekre osztottuk, készen állva a modellépítési folyamatra.
Betöltöttük a _notebook.ipynb_ fájlodat a megtisztított adatokkal, és szétválasztottuk őket X és y adattáblákra, készen az modellépítési folyamathoz.
## Egy osztályozási térkép
Korábban megismerkedtél a különböző lehetőségekkel, amelyekkel adatokat osztályozhatsz a Microsoft csalólapja segítségével. A Scikit-learn egy hasonló, de részletesebb csalólapot kínál, amely tovább segíthet az osztályozók (más néven becslők) szűkítésében:
Korábban megtanultad a különféle opciókat, amikor az adatokat osztályozod, a Microsoft csalólapja alapján. A Scikit-learn hasonló, de még részletesebb csalólapot kínál, amely tovább segíthet leszűkíteni az osztályozóidat (más szóval becslőket):
![ML térkép a Scikit-learn-től](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Tipp: [nézd meg ezt a térképet online](https://scikit-learn.org/stable/tutorial/machine_learning_map/), és kattints az útvonalakon, hogy elolvashasd a dokumentációt.
![ML Map from Scikit-learn](../../../../translated_images/hu/map.e963a6a51349425a.webp)
> Tipp: [látogasd meg ezt a térképet online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) és kattints a útvonalon, hogy elolvasd a dokumentációt.
### A terv
Ez a térkép nagyon hasznos, ha tisztában vagy az adataiddal, mivel „végigjárhatod” az útvonalait, hogy döntést hozz:
Ez a térkép nagyon hasznos, amikor tisztán érted az adataidat, mert végig tudsz "sétálni" az útvonalain a döntéshez:
- Több mint 50 mintánk van
- Kategóriát szeretnénk előre jelezni
- Kategóriát akarunk előre jelezni
- Címkézett adataink vannak
- Kevesebb mint 100 ezer mintánk van
- ✨ Választhatunk egy Linear SVC-t
- Ha ez nem működik, mivel numerikus adataink vannak
- Kipróbálhatunk egy ✨ KNeighbors Classifiert
- Ha ez sem működik, próbáljuk ki a ✨ SVC-t és ✨ Ensemble Classifiert
- Próbálkozhatunk egy ✨ KNeighbors osztályozóval
- Ha ez sem működik, próbáljuk az ✨ SVC-t és az ✨ Ensemble osztályozókat
Ez egy nagyon hasznos útvonal, amit követhetünk.
Ez egy nagyon hasznos útvonal, amit követni lehet.
## Gyakorlat - az adatok felosztása
## Gyakorlat - oszd meg az adatokat
Ezt az útvonalat követve kezdjük azzal, hogy importálunk néhány szükséges könyvtárat.
Ezt az utat követve kezdjük azzal, hogy importálunk néhány könyvtárat használatra.
1. Importáld a szükséges könyvtárakat:
@ -50,31 +50,31 @@ Ezt az útvonalat követve kezdjük azzal, hogy importálunk néhány szüksége
import numpy as np
```
1. Oszd fel a tanuló és tesztadatokat:
1. Oszd meg a tanító és teszt adataidat:
```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 osztályozó
## Lineáris SVC osztályozó
A Support-Vector clustering (SVC) a Support-Vector gépek ML technikáinak családjába tartozik (további információk alább). Ebben a módszerben egy 'kernel'-t választhatsz, amely meghatározza, hogyan csoportosítja a címkéket. A 'C' paraméter a 'regularizációt' jelenti, amely szabályozza a paraméterek hatását. A kernel lehet [többféle](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); itt 'linear'-re állítjuk, hogy lineáris SVC-t használjunk. Az alapértelmezett valószínűség 'false'; itt 'true'-ra állítjuk, hogy valószínűségi becsléseket kapjunk. A random state '0'-ra van állítva, hogy az adatokat keverjük a valószínűségek eléréséhez.
A Support-Vector clustering (SVC) a Support-Vector gépek családjába tartozik, amelyek gépi tanulási technikák (róluk lentebb tanulhatsz). Ebben a módszerben választhatsz "kernelt", hogy meghatározd, hogyan csoportosítod a címkéket. A 'C' paraméter a "regularizációra" utal, amely szabályozza a paraméterek hatását. A kernel lehet egyik [több](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); itt 'lineáris'-ra állítottuk, hogy lineáris SVC-t használjunk. A valószínűséget alapértelmezés szerint 'hamis'-ra állítja; itt 'igaz'-ra állítjuk, hogy valószínűségi becsléseket kapjunk. A random állapotot '0'-ra állítjuk a véletlenszerű sorbarendezéshez, hogy valószínűségeket kapjunk.
### Gyakorlat - alkalmazz lineáris SVC-t
Kezdj egy osztályozók tömbjének létrehozásával. Ehhez fokozatosan hozzáadunk elemeket, ahogy tesztelünk.
Kezdj egy osztályozó tömb létrehozásával. Fokozatosan fogsz bővíteni ezen a tömbön, ahogy tesztelünk.
1. Kezdj egy Linear SVC-vel:
1. Kezdd egy Linear SVC-vel:
```python
C = 10
# Create different classifiers.
# Különböző osztályozók létrehozása.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Tanítsd be a modelledet a Linear SVC-vel, és nyomtass ki egy jelentést:
2. Tanítsd meg a modelled a Lineáris SVC-vel, és nyomtass ki egy jelentést:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Kezdj egy osztályozók tömbjének létrehozásával. Ehhez fokozatosan hozzáa
print(classification_report(y_test,y_pred))
```
Az eredmény elég jó:
Az eredmény egészen jó:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -105,21 +105,21 @@ Kezdj egy osztályozók tömbjének létrehozásával. Ehhez fokozatosan hozzáa
weighted avg 0.79 0.79 0.79 1199
```
## K-Neighbors osztályozó
## K-legközelebbi szomszéd osztályozó
A K-Neighbors az ML módszerek "szomszédok" családjába tartozik, amelyeket felügyelt és nem felügyelt tanulásra is lehet használni. Ebben a módszerben előre meghatározott számú pontot hozunk létre, és az adatok ezek köré gyűlnek, hogy általánosított címkéket lehessen előre jelezni az adatokhoz.
A K-Neighbors a "szomszédok" családjába tartozik a gépi tanulási módszereknek, amelyeket felügyelt és felügyelet nélküli tanulásra is lehet használni. Ebben a módszerben előre meghatározott számú pontot hozunk létre, és az adatokat ezek köré gyűjtjük össze, hogy általánosított címkéket tudjunk előre jelezni.
### Gyakorlat - alkalmazd a K-Neighbors osztályozót
Az előző osztályozó jó volt, és jól működött az adatokkal, de talán jobb pontosságot érhetünk el. Próbálj ki egy K-Neighbors osztályozót.
Az előző osztályozó jól működött az adatokkal, de talán jobb pontosságot érhetünk el. Próbáld ki a K-Neighbors osztályozót.
1. Adj hozzá egy sort az osztályozók tömbjéhez (tegyél vesszőt a Linear SVC elem után):
1. Adj egy sort az osztályozó tömbhöz (tegyél vesszőt a Linear SVC elem után):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Az eredmény kicsit rosszabb:
Az eredmény kissé rosszabb:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -136,23 +136,23 @@ Az előző osztályozó jó volt, és jól működött az adatokkal, de talán j
weighted avg 0.76 0.74 0.74 1199
```
Tudj meg többet a [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors) módszerről.
Ismerd meg a [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors) módszert
## Support Vector osztályozó
A Support-Vector osztályozók az ML módszerek [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) családjába tartoznak, amelyeket osztályozási és regressziós feladatokra használnak. Az SVM-ek "a tanuló példákat pontokká térképezik az űrben", hogy maximalizálják a távolságot két kategória között. A későbbi adatok ebbe az űrbe kerülnek, hogy előre jelezzék a kategóriájukat.
A Support-Vector osztályozók a [Support-Vector gép](https://wikipedia.org/wiki/Support-vector_machine) családjába tartozó gépi tanulási módszerek, amelyeket osztályozási és regressziós feladatokra használnak. Az SVM-ek "leképezik a tanító példákat térbeli pontokká", hogy maximalizálják a két kategória közötti távolságot. A későbbi adatokat ebbe a térbe képezik le, hogy előre jelezhessék a kategóriájukat.
### Gyakorlat - alkalmazz Support Vector osztályozót
Próbáljunk meg egy kicsit jobb pontosságot elérni egy Support Vector osztályozóval.
Próbáljunk egy kicsit jobb pontosságot egy Support Vector osztályozóval.
1. Tegyél vesszőt a K-Neighbors elem után, majd add hozzá ezt a sort:
1. Tegyél egy vesszőt a K-Neighbors elem után, majd add hozzá ezt a sort:
```python
'SVC': SVC(),
```
Az eredmény elég jó!
Az eredmény egészen jó!
```output
Accuracy (train) for SVC: 83.2%
@ -169,18 +169,18 @@ Próbáljunk meg egy kicsit jobb pontosságot elérni egy Support Vector osztál
weighted avg 0.84 0.83 0.83 1199
```
Tudj meg többet a [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm) módszerről.
Ismerd meg a [Support-Vektorokat](https://scikit-learn.org/stable/modules/svm.html#svm)
## Ensemble osztályozók
Kövessük az útvonalat egészen a végéig, még akkor is, ha az előző teszt elég jó volt. Próbáljunk ki néhány 'Ensemble osztályozót', különösen a Random Forest és AdaBoost módszereket:
Kövessük az utat a legvégig, még akkor is, ha az előző teszt nagyon jó volt. Próbáljunk ki néhány 'Ensemble' osztályozót, konkrétan Random Forest-et és AdaBoost-ot:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Az eredmény nagyon jó, különösen a Random Forest esetében:
Az eredmény nagyon jó, különösen a Random Forest esetén:
```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
```
Tudj meg többet az [Ensemble osztályozókról](https://scikit-learn.org/stable/modules/ensemble.html).
Ismerd meg az [Ensemble osztályozókat](https://scikit-learn.org/stable/modules/ensemble.html)
Ez a gépi tanulási módszer "több alapbecslő előrejelzéseit kombinálja", hogy javítsa a modell minőségét. Példánkban Random Trees és AdaBoost módszereket használtunk.
Ez a gépi tanulási módszer "több alapbecslő előrejelzését kombinálja", hogy javítsa a modell minőségét. A példánkban Random Trees-t és AdaBoost-ot használtunk.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), egy átlagolási módszer, amely 'döntési fák' 'erdőjét' építi fel véletlenszerűséggel, hogy elkerülje a túltanulást. Az n_estimators paraméter a fák számát határozza meg.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), egy átlagoló módszer, amely 'döntési fákat' épít fel véletlenszerűség beépítésével az túlilleszkedés elkerülése érdekében. Az n_estimators paramétert a fák számára állítjuk.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) egy osztályozót illeszt az adatállományhoz, majd ennek másolatait illeszti ugyanarra az adatállományra. Azokra az elemekre összpontosít, amelyeket helytelenül osztályoztak, és a következő osztályozó illesztését úgy állítja be, hogy javítsa azokat.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) egy olyan osztályozót illeszt egy adatállományra, majd ugyanazt többször illeszti, fókuszálva a helytelenül osztályozott minták súlyaira, és a következő osztályozó javításához állítja az illeszkedést.
---
## 🚀Kihívás
Ezeknek a technikáknak számos paramétere van, amelyeket módosíthatsz. Kutass utána mindegyik alapértelmezett paramétereinek, és gondold át, hogy ezek módosítása mit jelentene a modell minőségére nézve.
Mindegyik technikának nagy számú paramétere van, amelyeket módosíthatsz. Kutass utána ezek alapértelmezett paramétereinek, és gondold át, milyen hatásuk lehet ezek módosításának a modell minőségére.
## [Utólagos kvíz](https://ff-quizzes.netlify.app/en/ml/)
## [Előadás utáni kvíz](https://ff-quizzes.netlify.app/en/ml/)
## Áttekintés és önálló tanulás
## Áttekintés & önálló tanulás
Ezekben a leckékben sok a szakzsargon, ezért szánj egy percet arra, hogy átnézd [ezt a listát](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) a hasznos terminológiáról!
Sok szakkifejezés található ezekben a leckékben, így szánj egy percet arra, hogy áttekintsd [ezt a listát](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) a hasznos terminológiákról!
## Feladat
## Feladat
[Paraméterek játéka](assignment.md)
[Paraméter játék](assignment.md)
---
**Felelősség kizárása**:
Ez a dokumentum az AI fordítási szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Nyilatkozat**:
Ez a dokumentum az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordító szolgáltatásával készült. Bár az pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások tartalmazhatnak hibákat vagy pontatlanságokat. Az eredeti dokumentum az anyanyelvén tekintendő hivatalos forrásnak. Kritikus információk esetén javasolt professzionális, emberi fordítást igénybe venni. Nem vállalunk felelősséget az ebből eredő félreértésekért vagy félreértelmezésekért.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Osztályozó modell készítése\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Felelősségkizárás**: \nEz a dokumentum az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordítási szolgáltatás segítségével készült. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális, emberi fordítást igénybe venni. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Felelősségkizárás**:\nEz a dokumentum az AI fordító szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével készült. Míg az pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum anyanyelvű változata tekintendő hiteles forrásnak. Fontos információk esetén professzionális emberi fordítást javaslunk. Nem vállalunk felelősséget semmilyen félreértésért vagy félreértelmezésért, amely ebből a fordításból ered.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-04T08:32:11+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "hu"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Több osztályozási modell építése\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Próbáljon ki különböző osztályozókat\n"
"# Próbálj ki különböző osztályozókat\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Felelősségkizárás**: \nEz a dokumentum az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordítási szolgáltatás segítségével készült. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt a professzionális, emberi fordítás igénybevétele. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Felelősségkizárás**: \nEz a dokumentum az AI fordító szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével készült. Habár igyekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. A hiteles forrás a dokumentum eredeti nyelvű változata. Kritikus információk esetén szakmai, emberi fordítást javaslunk. Nem vállalunk felelősséget az ebből a fordításból eredő félreértésekért vagy félreértelmezésekért.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-04T08:33:00+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "hu"
}
},
"nbformat": 4,

@ -10,160 +10,170 @@
### 🌐 Többnyelvű támogatás
#### GitHub Action által támogatott (Automatizált és mindig naprakész)
#### Támogatott GitHub Action révén (Automatizált és Mindig Naprakész)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arab](../ar/README.md) | [Bengáli](../bn/README.md) | [Bolgár](../bg/README.md) | [Burmai (Mianmar)](../my/README.md) | [Kínai (egyszerűsített)](../zh-CN/README.md) | [Kínai (hagyományos, Hongkong)](../zh-HK/README.md) | [Kínai (hagyományos, Makaó)](../zh-MO/README.md) | [Kínai (hagyományos, Tajvan)](../zh-TW/README.md) | [Horvát](../hr/README.md) | [Cseh](../cs/README.md) | [Dán](../da/README.md) | [Holland](../nl/README.md) | [Észt](../et/README.md) | [Finn](../fi/README.md) | [Francia](../fr/README.md) | [Német](../de/README.md) | [Görög](../el/README.md) | [Héber](../he/README.md) | [Hindi](../hi/README.md) | [Magyar](./README.md) | [Indonéz](../id/README.md) | [Olasz](../it/README.md) | [Japán](../ja/README.md) | [Kannada](../kn/README.md) | [Koreai](../ko/README.md) | [Litván](../lt/README.md) | [Maláj](../ms/README.md) | [Malalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepáli](../ne/README.md) | [Nigériai pidzsin](../pcm/README.md) | [Norvég](../no/README.md) | [Perzsa (Fárszi)](../fa/README.md) | [Lengyel](../pl/README.md) | [Portugál (Brazília)](../pt-BR/README.md) | [Portugál (Portugália)](../pt-PT/README.md) | [Pandzsábi (Gurmukhi)](../pa/README.md) | [Román](../ro/README.md) | [Orosz](../ru/README.md) | [Szerb (cirill)](../sr/README.md) | [Szlovák](../sk/README.md) | [Szlovén](../sl/README.md) | [Spanyol](../es/README.md) | [Szuahéli](../sw/README.md) | [Svéd](../sv/README.md) | [Tagalog (filippínó)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Török](../tr/README.md) | [Ukrán](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnami](../vi/README.md)
[Arab](../ar/README.md) | [Bengáli](../bn/README.md) | [Bolgár](../bg/README.md) | [Burmai (Mianmar)](../my/README.md) | [Kínai (Egyszerűsített)](../zh-CN/README.md) | [Kínai (Hagyományos, Hong Kong)](../zh-HK/README.md) | [Kínai (Hagyományos, Makaó)](../zh-MO/README.md) | [Kínai (Hagyományos, Tajvan)](../zh-TW/README.md) | [Horvát](../hr/README.md) | [Cseh](../cs/README.md) | [Dán](../da/README.md) | [Holland](../nl/README.md) | [Észt](../et/README.md) | [Finn](../fi/README.md) | [Francia](../fr/README.md) | [Német](../de/README.md) | [Görög](../el/README.md) | [Héber](../he/README.md) | [Hindi](../hi/README.md) | [Magyar](./README.md) | [Indonéz](../id/README.md) | [Olasz](../it/README.md) | [Japán](../ja/README.md) | [Kannada](../kn/README.md) | [Koreai](../ko/README.md) | [Litván](../lt/README.md) | [Maláj](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepáli](../ne/README.md) | [Nigériai pidzsin](../pcm/README.md) | [Norvég](../no/README.md) | [Perzsa (Farsi)](../fa/README.md) | [Lengyel](../pl/README.md) | [Portugál (Brazília)](../pt-BR/README.md) | [Portugál (Portugália)](../pt-PT/README.md) | [Pandzsábi (Gurmukhi)](../pa/README.md) | [Román](../ro/README.md) | [Orosz](../ru/README.md) | [Szerb (Cirill)](../sr/README.md) | [Szlovák](../sk/README.md) | [Szlovén](../sl/README.md) | [Spanyol](../es/README.md) | [Szuahéli](../sw/README.md) | [Svéd](../sv/README.md) | [Tagalog (Filippínó)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Török](../tr/README.md) | [Ukrán](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnami](../vi/README.md)
> **Szeretnél helyben klónozni?**
> Ez a tároló több mint 50 nyelvre kínál fordítást, ami jelentősen növeli a letöltési méretet. Ha fordítások nélkül szeretnéd klónozni, használd a sparse checkoutot:
> **Szeretnéd helyben klónozni?**
>
> Ez a tároló több mint 50 nyelvi fordítást tartalmaz, ami jelentősen megnöveli a letöltési méretet. Ha fordítás nélkül szeretnéd klónozni, használj sparse checkout-ot:
>
> **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'
> ```
> Így mindent megkapsz a kurzus elvégzéséhez, sokkal gyorsabb letöltéssel.
>
> **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"
> ```
>
> Ez minden szükséges dolgot megad, hogy el tudd végezni a kurzust sokkal gyorsabb letöltéssel.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Csatlakozz közösségünkhöz
#### Csatlakozz Közösségünkhöz
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Folyamatban van egy Discord tanulási sorozatunk AI-val, ahol többet megtudhatsz és csatlakozhatsz hozzánk a [Learn with AI Series](https://aka.ms/learnwithai/discord) oldalán 2025. szeptember 18. és 30. között. Tippeket és trükköket kaphatsz a GitHub Copilot adat tudományban való használatához.
Folyamatban van egy Discord tanulási sorozat MI-vel, tudj meg többet és csatlakozz hozzánk a [Learn with AI Series](https://aka.ms/learnwithai/discord) oldalon 2025. szeptember 18-30. között. GitHub Copilot használatával kapcsolatos tippeket és trükköket kapsz az adat tudományhoz.
![Learn with AI sorozat](../../translated_images/hu/3.9b58fd8d6c373c20.webp)
![Learn with AI series](../../translated_images/hu/3.9b58fd8d6c373c20.webp)
# Gépi tanulás kezdőknek Egy tanterv
# Gépi Tanulás Kezdőknek Tananyag
> 🌍 Utazzunk körbe a világon, miközben kultúrákon át fedezzük fel a gépi tanulást 🌍
> 🌍 Utazz végig a világon, miközben a világ kultúráin keresztül fedezzük fel a Gépi Tanulást 🌍
A Microsoft felhőszakértői egy 12 hetes, 26 leckéből álló tananyagot kínálnak, amely teljes egészében a **gépi tanulásról** szól. Ebben a tantervben a klasszikusnak is nevezett **gépi tanulást** tanulhatod meg, elsősorban a Scikit-learn könyvtár használatával, elkerülve a mélytanulást, amelyet az [AI kezdőknek tananyaga](https://aka.ms/ai4beginners) tárgyal. Ezeket a leckéket párosítsd a ['Adattudomány kezdőknek' tananyagunkkal](https://aka.ms/ds4beginners) is!
A Microsoft Cloud Advocates örömmel kínál egy 12 hetes, 26 leckéből álló tananyagot a **Gépi Tanulásról**. Ebben a tananyagban az úgynevezett **klasszikus gépi tanulást** ismerheted meg, elsősorban a Scikit-learn könyvtár használatával, elkerülve a mélytanulást, amely az [AI kezdőknek tananyagunkban](https://aka.ms/ai4beginners) szerepel. Párosítsd ezt a leckéket a ['Data Science kezdőknek tananyagunkkal'](https://aka.ms/ds4beginners), is!
Utazz velünk a világ körül miközben ezeket a klasszikus technikákat a világ sok területéről származó adatokra alkalmazzuk. Minden leckében elő- és utótesztek vannak, írott utasítások a lecke elvégzéséhez, egy megoldás, egy feladat és egyebek. Projektalapú oktatásunk lehetővé teszi, hogy tanulás közben építs, ami bizonyítottan hatékony módszer az új készségek elsajátítására.
Utazz velünk a világ körül, miközben ezeket a klasszikus technikákat sok világterület adatain alkalmazzuk. Minden lecke tartalmaz elő- és utó-leckekvízeket, írott utasításokat a lecke befejezéséhez, megoldást, feladatot és még sok mást. Projektalapú oktatásunk lehetővé teszi, hogy tanulj miközben építesz, amely kipróbált módszer az új készségek hatékony elsajátításához.
**✍️ Szívből köszönjük szerzőinknek** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu és Amy Boyd
**✍️ Őszinte köszönet szerzőinknek:** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu és Amy Boyd
**🎨 Köszönet illusztrátorainknak** Tomomi Imura, Dasani Madipalli és Jen Looper
**🎨 Köszönet illusztrátorainknak:** Tomomi Imura, Dasani Madipalli, és Jen Looper
**🙏 Külön köszönet 🙏 Microsoft diák nagykövet szerzőinknek, véleményezőinknek és tartalom-kontributoraiknak**, különösen Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila és Snigdha Agarwal
**🙏 Külön köszönet 🙏 Microsoft Hallgatói Nagykövet szerzőinknek, értékelőinknek és tartalom hozzájárulóinknak**, különösen Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila és Snigdha Agarwal
**🤩 Extra köszönet Microsoft diák nagyköveteinknek Eric Wanjau-nak, Jasleen Sondhi-nak és Vidushi Gupta-nak az R leckékért!**
**🤩 Plusz köszönet Microsoft Hallgatói Nagyköveteknek Eric Wanjau, Jasleen Sondhi, és Vidushi Gupta-nak a R leckékért!**
# Első lépések
# Kezdés
Kövesd az alábbi lépéseket:
1. **Forkold le a tárolót**: Kattints a "Fork" gombra ennek az oldalnak a jobb felső sarkában.
Kövesd ezeket a lépéseket:
1. **Forkold le a tárolót**: Kattints a "Fork" gombra az oldal jobb felső sarkában.
2. **Klónozd a tárolót**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [Minden további erőforrást megtalálsz ehhez a kurzushoz a Microsoft Learn gyűjteményünkben](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [Minden további erőforrást megtalálsz az ezen tananyaghoz tartozó Microsoft Learn gyűjteményünkben](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Szükséged van segítségre?** Nézd meg a [Hibakeresési útmutatónkat](TROUBLESHOOTING.md) a telepítési, beállítási és lecke futtatási problémák megoldásaiért.
> 🔧 **Segítségre van szükséged?** Nézd meg [Hibaelhárítási Útmutatónkat](TROUBLESHOOTING.md) az általános telepítési, beállítási és leckefuttatási problémák megoldásához.
**[Diákoknak](https://aka.ms/student-page)** a tananyag használatához forkold le az egész repo-t a saját GitHub fiókodba, és végezd el a gyakorlatokat egyedül vagy csoportosan:
**[Diákok](https://aka.ms/student-page)**, a tananyag használatához klónozd saját GitHub fiókodra az egész tárolót, és végezd el a feladatokat egyedül vagy csoportban:
- Kezdj egy elő-előadás kvízzel.
- Olvasd el az előadást és végezd el a tevékenységeket, minden tudásellenőrzésnél állj meg és gondolkodj el.
- Próbáld meg a projekteket megcsinálni úgy, hogy megérted a leckéket, ne csak a megoldáskódot futtasd; viszont az kód elérhető a `/solution` mappában minden projekt-alapú leckében.
- Oldd meg az utó-előadás kvízt.
- Kezdd egy előadás előtti kvízzel.
- Olvasd el az előadást, és végezd el a feladatokat, megállva és reflektálva minden tudásellenőrzésnél.
- Próbáld megérteni a leckéket és magadtól megalkotni a projekteket ahelyett, hogy egyszerűen lefuttatnád a megoldó kódot; azonban a kód elérhető a `/solution` mappákban minden projektalapú leckénél.
- Végezd el az előadás utáni kvízt.
- Teljesítsd a kihívást.
- Teljesítsd a feladatot.
- Egy leckecsoport befejezése után látogass el a [Vita fórumra](https://github.com/microsoft/ML-For-Beginners/discussions) és "tanulj hangosan", azaz töltsd ki a megfelelő PAT értékelőlapot. A 'PAT' egy haladási értékelőeszköz, amelyet kitölthetsz a tanulásod előmozdítására. Más PAT-okra is reagálhatsz, így együtt tanulhatunk.
- Egy leckecsoport elvégzése után látogass el a [Vitatófelületre](https://github.com/microsoft/ML-For-Beginners/discussions), és "tanulj hangosan" a megfelelő PAT értékelőlap kitöltésével. A 'PAT' egy előrehaladás értékelő eszköz, amely egy értékelőlap a tanulás elősegítésére. Más PAT-ekre is reagálhatsz, hogy együtt tanulhassunk.
> További tanulmányozásra ajánljuk ezeket a [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modulokat és tanulási útvonalakat.
> További tanuláshoz ajánljuk ezeket a [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modulokat és tanulási útvonalakat.
**Tanárok számára** néhány javaslatot is tartalmazunk [itt](for-teachers.md) a tananyag használatához.
**Tanárként**, találhatsz [néhány javaslatot](for-teachers.md) arra, hogyan használd ezt a tananyagot.
---
## Videós bemutatók
## Videós ismertetések
Néhány lecke rövid videó formátumban is elérhető. Ezeket megtalálod a leckékben, vagy a [Microsoft Developer YouTube csatornáján az ML for Beginners lejátszási listán](https://aka.ms/ml-beginners-videos), ha a lent látható képre kattintasz.
Néhány lecke rövid videó formájában is elérhető. Ezeket megtalálod beágyazva a leckékben, vagy a [ML for Beginners lejátszási listán a Microsoft Developer YouTube csatornán](https://aka.ms/ml-beginners-videos), ha a lenti képre kattintasz.
[![ML for beginners banner](../../translated_images/hu/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## Ismerd meg a csapatot
## Ismerd meg a Csapatot
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif készítője:** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Kattints a fenti képre a projektről és az alkotókról készült videó megtekintéséhez!
> 🎥 Kattints a fenti képre, hogy megnézd a projektet és a készítőket bemutató videót!
---
## Oktatási módszertan
Két pedagógiai alapelvet választottunk e tanterv építésekor: kézzelfogható, **projektalapú** tanulás biztosítása és **gyakori kvízek** beépítése. Emellett a tananyagnak van egy közös **tematikája** is az összhang érdekében.
A tartalom projekt-irányultsága miatt az egész tanulási folyamat élvezetesebb a tanulók számára, és a fogalmak megőrzése is javul. Ezen túlmenően egy alacsony tétű kvíz az óra előtt a tanulás irányába tereli a figyelmet, míg az utólagos kvíz ezt még inkább megerősíti. Ez a tananyag rugalmas és szórakoztató, teljes egészében vagy részleteiben is elvégezhető. A projektek kicsiben kezdődnek, és fokozatosan egyre komplexebbé válnak a 12 hetes ciklus végére. Tartalmaz továbbá egy záró részt a gépi tanulás való életben való alkalmazásáról, amit plusz pontként vagy vitaalapként lehet használni.
> Találd meg a [Magatartási kódexünket](CODE_OF_CONDUCT.md), [Hozzájárulási útmutatót](CONTRIBUTING.md), [Fordítási útmutatót](TRANSLATIONS.md) és [Hibakeresési útmutatót](TROUBLESHOOTING.md). Várjuk építő jellegű visszajelzéseidet!
## Minden leckéhez tartozik
- választható vázlat
- választható kiegészítő videó
- videós bemutató (csak néhány leckénél)
- [elő-előadás bemelegítő kvíz](https://ff-quizzes.netlify.app/en/ml/)
- írott lecke
- projektalapú leckéknél lépésről lépésre útmutató a projekt építéséhez
- tudásellenőrzések
- kihívás
- kiegészítő olvasmány
- feladat
- [utó-előadás kvíz](https://ff-quizzes.netlify.app/en/ml/)
> **Megjegyzés a nyelvekről**: Ezek a leckék elsősorban Python nyelven íródtak, de sok elérhető R-ben is. R leckék elvégzéséhez keresd a `/solution` mappában az R leckéket. Ezek `.rmd` kiterjesztésűek, amely egy **R Markdown** fájlt jelöl, ami úgy definiálható, mint `kódrészek` (R vagy más nyelvekből) és egy `YAML fejléc` (amely a kimenetek formázását irányítja, pl. PDF) beágyazása egy `Markdown dokumentumban`. Ez egy kiváló szerzői eszköz az adattudomány számára, mivel lehetővé teszi a kód, annak kimenete és a gondolataid egy dokumentumban való együttes megjelenítését. R Markdown dokumentumok különböző formátumokra, például PDF, HTML vagy Word formátumba is konvertálhatók.
> **Jegyzet a kvízekről**: Minden kvíz megtalálható a [Quiz App mappában](../../quiz-app), összesen 52 kvíz, mindegyik három kérdéssel. Ezek a leckékből vannak linkelve, de a kvíz alkalmazás helyileg is futtatható; kövesd az utasításokat a `quiz-app` mappában a helyi hosztoláshoz vagy az Azure-ra való telepítéshez.
| Lecke száma | Téma | Lecke csoportosítás | Tanulási célok | Kapcsolódó lecke | Szerző |
| :---------: | :----------------------------------------------------------: | :-----------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Bevezetés a gépi tanulásba | [Bevezetés](1-Introduction/README.md) | Ismerd meg a gépi tanulás alapvető fogalmait | [Lecke](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | A gépi tanulás története | [Bevezetés](1-Introduction/README.md) | Ismerd meg a terület hátterét | [Lecke](1-Introduction/2-history-of-ML/README.md) | Jen és Amy |
| 03 | Méltányosság és gépi tanulás | [Bevezetés](1-Introduction/README.md) | Mik a fontos filozófiai kérdések a méltányossággal kapcsolatban, amelyeket a hallgatóknak mérlegelniük kell ML modellek építésekor? | [Lecke](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Gépi tanulási technikák | [Bevezetés](1-Introduction/README.md) | Milyen technikákat alkalmaznak a kutatók az ML modellek építésére? | [Lecke](1-Introduction/4-techniques-of-ML/README.md) | Chris és Jen |
| 05 | Bevezetés a regresszióba | [Regresszió](2-Regression/README.md) | Kezdj el dolgozni Python és Scikit-learn segítségével regressziós modelleken | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Vizualizáld és tisztítsd meg az adatokat az ML előkészítéséhez | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Építs lineáris és polinomiális regressziós modelleket | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen és Dmitry • Eric Wanjau |
| 08 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Építs logisztikus regressziós modellt | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Webalkalmazás 🔌 | [Web App](3-Web-App/README.md) | Építs webalkalmazást a betanított modelled használatára | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Bevezetés az osztályozásba | [Osztályozás](4-Classification/README.md) | Tisztítsd, készítsd elő és vizualizáld az adataidat; bevezetés az osztályozásba | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen és Cassie • Eric Wanjau |
| 11 | Ízletes ázsiai és indiai konyhák 🍜 | [Osztályozás](4-Classification/README.md) | Bevezetés az osztályozókba | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen és Cassie • Eric Wanjau |
| 12 | Ízletes ázsiai és indiai konyhák 🍜 | [Osztályozás](4-Classification/README.md) | Több osztályozó | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen és Cassie • Eric Wanjau |
| 13 | Ízletes ázsiai és indiai konyhák 🍜 | [Osztályozás](4-Classification/README.md) | Építs ajánló webalkalmazást a modelled segítségével | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Bevezetés a klaszterezésbe | [Klaszterezés](5-Clustering/README.md) | Tisztítsd, készítsd elő és vizualizáld az adataidat; bevezetés a klaszterezésbe | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Fedezd fel a nigériai zenei ízlést 🎧 | [Klaszterezés](5-Clustering/README.md) | Fedezd fel a K-Means klaszterezési módszert | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Bevezetés a természetes nyelvfeldolgozásba ☕️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Tanulj az NLP alapjairól egy egyszerű bot építésével | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Gyakori NLP feladatok ☕️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Mélyítsd el NLP tudásod azáltal, hogy megérted a nyelvi szerkezetek kezeléséhez szükséges gyakori feladatokat | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Fordítás és érzelemelemzés ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Fordítás és érzelemelemzés Jane Austen-nal | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantikus európai szállodák ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Érzelemelemzés szállodai értékelésekkel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantikus európai szállodák ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Érzelemelemzés szállodai értékelésekkel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Bevezetés az idősoros előrejelzésbe | [Idősor](7-TimeSeries/README.md) | Bevezetés az idősoros előrejelzésbe | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Villamosenergia-felhasználás ⚡️ - idősoros előrejelzés ARIMA-val | [Idősor](7-TimeSeries/README.md) | Idősoros előrejelzés ARIMA-val | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Villamosenergia-felhasználás ⚡️ - idősoros előrejelzés SVR-rel | [Idősor](7-TimeSeries/README.md) | Idősoros előrejelzés támogatott vektoros regresszorral | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Bevezetés a megerősítéses tanulásba | [Megerősítéses tanulás](8-Reinforcement/README.md) | Bevezetés a megerősítéses tanulásba Q-Learning segítségével | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Segíts Péternek elkerülni a farkast! 🐺 | [Megerősítéses tanulás](8-Reinforcement/README.md) | Megerősítéses tanulás Gym-mel | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Utószó | Valós világ ML forgatókönyvei és alkalmazásai | [ML a gyakorlatban](9-Real-World/README.md) | Érdekes és tanulságos valós világbeli alkalmazások a klasszikus ML-ben | [Lecke](9-Real-World/1-Applications/README.md) | Csapat |
| Utószó | Modell hibakeresése ML-ben RAI irányítópult segítségével | [ML a gyakorlatban](9-Real-World/README.md) | Modell hibakeresés a gépi tanulásban a Responsible AI irányítópult komponenseivel | [Lecke](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [keresd meg a tanfolyam további erőforrásait a Microsoft Learn gyűjteményünkben](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Offline elérés
Ezt a dokumentációt offline is futtathatod a [Docsify](https://docsify.js.org/#/) használatával. Forkold ezt a repót, [telepítsd a Docsify-t](https://docsify.js.org/#/quickstart) a helyi gépeden, majd a repó gyökérkönyvtárában írd be, hogy `docsify serve`. A weboldal a 3000-es porton lesz elérhető a helyi gépeden: `localhost:3000`.
## Pedagógia
Két oktatási alapelvet választottunk e tananyag építése során: hogy gyakorlatias, **projektalapú** legyen, és hogy tartalmazzon **gyakori kvízeket**. Emellett a tananyag egy közös **témára** épül, hogy egységet alkosson.
Azáltal, hogy a tartalom projektekhez igazodik, az egész folyamat motiválóbbá válik a tanulók számára, és az ismeretek jobban rögzülnek. Az alacsony tétű kvíz az óra előtt segít a tanulónak a témára fókuszálni, míg az utólagos kvíz a további rögzítést biztosítja. A tananyag rugalmas és szórakoztató, egészben vagy részekben is végezhető. A projektek kis lépésekkel kezdődnek és fokozatosan összetettebbé válnak a 12 hetes ciklus végére. A tananyag végén egy utószó van valós világban alkalmazott ML példákról, ami plusz pontnak vagy vitaalapnak is használható.
> Találd meg a [Magatartási Kódexünket](CODE_OF_CONDUCT.md), a [Hozzájárulásról szóló útmutatót](CONTRIBUTING.md), a [Fordításról](TRANSLATIONS.md), és a [Hibaelhárítási útmutatót](TROUBLESHOOTING.md). Várjuk építő jellegű visszajelzésedet!
## Minden lecke tartalmaz
- opcionális skiccnote-ot
- opcionális kiegészítő videót
- videós ismertetőt (csak néhány leckénél)
- [előadás előtti bemelegítő kvízt](https://ff-quizzes.netlify.app/en/ml/)
- írott leckét
- projektalapú leckékhez lépésről lépésre útmutatót a projekt elkészítéséhez
- tudásellenőrző kérdéseket
- kihívást
- kiegészítő olvasmányt
- feladatot
- [előadás utáni kvízt](https://ff-quizzes.netlify.app/en/ml/)
> **Megjegyzés a nyelvekről**: Ezek a leckék elsősorban Pythonban íródtak, de sok elérhető R-ben is. Egy R leckéhez a `/solution` mappába kell menni, és ott megkeresni az R leckéket. Ezek .rmd kiterjesztésű fájlok, amelyek egy **R Markdown** fájlt jelentenek, amit egyszerűen úgy lehet meghatározni, hogy beágyazott `kódblokkokat` (R vagy más nyelvek) és egy `YAML fejlécet` (ami meghatározza a kimenetek, például PDF formátum formázását) tartalmaz egy `Markdown dokumentumban`. Így mintaszerű szerkesztési keretet jelentenek az adatelemzéshez, mivel lehetővé teszik, hogy a kódot, annak kimenetét és a gondolataidat maradéktalanul Markdownban írd le. Ezenkívül az R Markdown dokumentumok PDF, HTML vagy Word kimeneti formátumokra is konvertálhatók.
> **Megjegyzés a kvízekről**: Az összes kvíz megtalálható a [Quiz App mappában](../../quiz-app), összesen 52 kvíz három kérdéssel. Ezek össze vannak kötve a leckékkel, de a kvíz alkalmazás helyileg is futtatható; kövesd a `quiz-app` mappában található utasításokat a helyi hosztoláshoz vagy Azure-ra való telepítéshez.
| Lecke száma | Téma | Lecke csoportosítása | Tanulási célok | Kapcsolódó lecke | Szerző |
| :---------: | :----------------------------------------------------------: | :-------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| 01 | Bevezetés a gépi tanulásba | [Bevezetés](1-Introduction/README.md) | Ismerd meg a gépi tanulás alapfogalmait | [Lecke](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | A gépi tanulás története | [Bevezetés](1-Introduction/README.md) | Ismerd meg a terület mögötti történelmet | [Lecke](1-Introduction/2-history-of-ML/README.md) | Jen és Amy |
| 03 | Méltányosság és gépi tanulás | [Bevezetés](1-Introduction/README.md) | Melyek a fontos filozófiai kérdések a méltányossággal kapcsolatban, amelyeket figyelembe kell venni ML modellek építésekor? | [Lecke](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Gépi tanulási technikák | [Bevezetés](1-Introduction/README.md) | Milyen technikákat használnak a gépi tanulás kutatói modellek építéséhez? | [Lecke](1-Introduction/4-techniques-of-ML/README.md) | Chris és Jen |
| 05 | Bevezetés a regresszióba | [Regresszió](2-Regression/README.md) | Kezdj el dolgozni Python és Scikit-learn segítségével regressziós modellekkel | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Vizualizáld és tisztítsd meg az adatokat a gépi tanulás előkészítéséhez | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Készíts lineáris és polinomiális regressziós modelleket | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen és Dmitry • Eric Wanjau |
| 08 | Észak-amerikai tökárak 🎃 | [Regresszió](2-Regression/README.md) | Készíts logisztikus regressziós modellt | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Egy webalkalmazás 🔌 | [Web App](3-Web-App/README.md) | Építs webalkalmazást a betanított modelled használatához | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Bevezetés az osztályozásba | [Osztályozás](4-Classification/README.md) | Tisztítsd, készítsd elő és vizualizáld az adatodat; bevezetés az osztályozásba | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen és Cassie • Eric Wanjau |
| 11 | Finom ázsiai és indiai ételek 🍜 | [Osztályozás](4-Classification/README.md) | Bevezetés az osztályozókhoz | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen és Cassie • Eric Wanjau |
| 12 | Finom ázsiai és indiai ételek 🍜 | [Osztályozás](4-Classification/README.md) | Több osztályozó | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen és Cassie • Eric Wanjau |
| 13 | Finom ázsiai és indiai ételek 🍜 | [Osztályozás](4-Classification/README.md) | Készíts ajánló webalkalmazást a modelled segítségével | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Bevezetés a klaszterezésbe | [Klaszterezés](5-Clustering/README.md) | Tisztítsd, készítsd elő és vizualizáld az adatodat; Bevezetés a klaszterezésbe | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Nigériai zenei ízlések felfedezése 🎧 | [Klaszterezés](5-Clustering/README.md) | Fedezd fel a K-Means klaszterezési módszert | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Bevezetés a természetes nyelvfeldolgozásba ☕️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Ismerd meg az NLP alapjait egy egyszerű bot készítésével | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Gyakori NLP feladatok ☕️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Mélyítsd el NLP ismereteidet olyan gyakori feladatok megértésével, amelyek a nyelvi struktúrákkal kapcsolatosak | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Fordítás és érzelemelemzés ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Fordítás és érzelemelemzés Jane Austennel | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantikus európai szállodák ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Érzelemelemzés szálloda véleményekkel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantikus európai szállodák ♥️ | [Természetes nyelvfeldolgozás](6-NLP/README.md) | Érzelemelemzés szálloda véleményekkel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Bevezetés az idősoros előrejelzésbe | [Idősorok](7-TimeSeries/README.md) | Bevezetés az idősoros előrejelzésbe | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Világ energiafelhasználás ⚡️ - idősoros előrejelzés ARIMA-val | [Idősorok](7-TimeSeries/README.md) | Idősoros előrejelzés ARIMA-val | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Világ energiafelhasználás ⚡️ - idősoros előrejelzés SVR-rel | [Idősorok](7-TimeSeries/README.md) | Idősoros előrejelzés Support Vector Regressorral (SVR) | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Bevezetés a megerősítéses tanulásba | [Megerősítéses tanulás](8-Reinforcement/README.md) | Bevezetés a megerősítéses tanulásba Q-Learning módszerrel | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Segíts Peternek elkerülni a farkast! 🐺 | [Megerősítéses tanulás](8-Reinforcement/README.md) | Megerősítéses tanulás Gym segítségével | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Utóirat | Valós világ ML helyzetek és alkalmazások | [ML a gyakorlatban](9-Real-World/README.md) | Érdekes és feltáró valódi alkalmazások a klasszikus gépi tanulásban | [Lecke](9-Real-World/1-Applications/README.md) | Csapat |
| Utóirat | Modellhibakeresés ML-ben az RAI dashboarddal | [ML a gyakorlatban](9-Real-World/README.md) | Modellhibakeresés gépi tanulásban a Responsible AI dashboard komponenseivel | [Lecke](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [itt találod a kurzus további erőforrásait a Microsoft Learn gyűjteményben](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Offline hozzáférés
Ez a dokumentáció offline módban is futtatható a [Docsify](https://docsify.js.org/#/) segítségével. Készíts forkot erről a repóról, [telepítsd a Docsify-t](https://docsify.js.org/#/quickstart) a helyi gépedre, majd a repo gyökér mappájában írd be a `docsify serve` parancsot. A weboldal a localhost 3000-es portján lesz elérhető: `localhost:3000`.
## PDF-ek
A tananyag PDF verzióját linkekkel együtt [itt találod](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
A tanterv pdf formátumát linkekkel [itt találod](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Egyéb tanfolyamok
## 🎒 Egyéb kurzusok
Csapatunk más tanfolyamokat is készít! Nézd meg:
Csapatunk egyéb kurzusokat is készít! Nézd meg:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -180,18 +190,18 @@ Csapatunk más tanfolyamokat is készít! Nézd meg:
---
### Generatív AI sorozat
[![Generatív mesterséges intelligencia kezdőknek](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)
[![Generatív mesterséges intelligencia (.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)
[![Generatív mesterséges intelligencia (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)
[![Generatív mesterséges intelligencia (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)
### Generatív MI sorozat
[![Generatív MI kezdőknek](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)
[![Generatív MI (.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)
[![Generatív MI (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)
[![Generatív MI (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)
---
### Alapvető tanulás
[![Gépi tanulás kezdőknek](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)
[![Adattudomány kezdőknek](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)
[![Mesterséges intelligencia kezdőknek](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)
[![MI kezdőknek](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)
[![Kiberbiztonság kezdőknek](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)
[![Webfejlesztés kezdőknek](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT kezdőknek](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)
@ -207,17 +217,22 @@ Csapatunk más tanfolyamokat is készít! Nézd meg:
## Segítségkérés
Ha elakadnál vagy kérdésed lenne az AI alkalmazások készítésével kapcsolatban, csatlakozz más tanulókhoz és tapasztalt fejlesztőkhöz az MCP-ről szóló beszélgetésekben. Ez egy támogató közösség, ahol a kérdések megengedettek és a tudás szabadon megosztott.
Ha elakadnál, vagy kérdésed van az MI alkalmazások fejlesztésével kapcsolatban, csatlakozz tanulótársaidhoz és tapasztalt fejlesztőkhöz a MCP közösségi beszélgetéseiben. Ez egy támogató közösség, ahol a kérdések mindig szívesen látottak, és a tudás önzetlenül megosztott.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Ha termék visszajelzésed vagy hibáid vannak a fejlesztés során, látogass el ide:
Ha termék-visszajelzésed vagy hibabejelentésed van fejlesztés közben, látogass el ide:
[![Microsoft Foundry Fejlesztői Fórum](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)
## További tanulási tippek
[![Microsoft Foundry fejlesztői fórum](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)
- Tekintsd át a jegyzetfüzeteket minden egyes lecke után a jobb megértés érdekében.
- Gyakorold az algoritmusok megvalósítását önállóan.
- Fedezd fel valós adatkészleteket a tanult fogalmak alkalmazásával.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Nyilatkozat**:
Ez a dokumentum az AI fordító szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével készült. Bár a pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hiteles forrásnak. Kritikus információk esetén szakmai, emberi fordítást javaslunk. Nem vállalunk felelősséget az ebből adódó félreértésekért vagy téves értelmezésekért.
Ezt a dokumentumot az AI fordítási szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével fordítottuk le. Bár a pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hiteles forrásnak. Kritikus információk esetén professzionális, emberi fordítást javasolunk. Nem vállalunk felelősséget az ebből a fordításból eredő félreértésekért vagy félreértelmezésekért.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "sw"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-05T16:02:18+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T09:56:10+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "sw"
},
@ -90,8 +90,8 @@
"language_code": "sw"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T15:08:49+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T09:57:04+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "sw"
},
@ -186,8 +186,8 @@
"language_code": "sw"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T16:23:09+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T09:57:25+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "sw"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "sw"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T09:53:29+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "sw"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-05T16:25:03+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "sw"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T09:53:35+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "sw"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T16:20:37+00:00",
@ -540,8 +552,8 @@
"language_code": "sw"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:49:14+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T09:56:03+00:00",
"source_file": "README.md",
"language_code": "sw"
},

@ -1,16 +1,18 @@
# Chunguza Zana ya AI Inayowajibika
# Chunguza Sanduku la Zana la AI Inayohusika
## Maelekezo
## Maagizo
Katika somo hili ulijifunza kuhusu Zana ya AI Inayowajibika, mradi wa "chanzo huria, unaoendeshwa na jamii kusaidia wanasayansi wa data kuchambua na kuboresha mifumo ya AI." Kwa kazi hii, chunguza moja ya [notebooks](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) za RAI Toolbox na toa ripoti ya matokeo yako katika karatasi au uwasilishaji.
Katika somo hili ulijifunza kuhusu Sanduku la Zana la AI Inayohusika, "mradi wa chanzo huria, unaoendesha jamii kusaidia wanasayansi wa data kuchambua na kuboresha mifumo ya AI." Kwa kazi hii, chunguza moja ya [daftari](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) za RAI Toolbox na ripoti matokeo yako katika karatasi au mawasilisho.
## Rubric
## Kigezo cha Tathmini
| Vigezo | Bora Zaidi | Inatosha | Inahitaji Kuboresha |
| ------- | ---------- | -------- | ------------------- |
| | Karatasi au uwasilishaji wa PowerPoint unawasilishwa ukijadili mifumo ya Fairlearn, notebook iliyotumika, na hitimisho lililotolewa baada ya kuitumia | Karatasi inawasilishwa bila hitimisho | Hakuna karatasi inayowasilishwa |
| Vigezo | Bora Sana | Inatosha | Inahitaji Kuboresha |
| -------- | --------- | -------- | ----------------- |
| | Karatasi au mawasilisho ya powerpoint yamewasilishwa yakiwa yajadili mifumo ya Fairlearn, daftari lililotekelezwa, na hitimisho zilizopatikana kutokana na kuitekeleza | Karatasi imetolewa bila hitimisho | Hakuna karatasi iliyowasilishwa |
---
**Kanusho**:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Kumbusho**:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kwamba tafsiri za kielektroniki zinaweza kuwa na makosa au hayakuwa sahihi kabisa. Hati ya asili katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na binadamu inashauriwa. Hatuna dhamana kwa kutoelewana au tafsiri potofu zitokanazo na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Jenga Mfano wa Regression kwa kutumia Scikit-learn: Njia Nne za Regression
# Jenga mfano wa urekebishaji ukitumia Scikit-learn: urekebishaji kwa njia nne
![Picha ya habari ya regression ya mstari dhidi ya polynomial](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
> Picha ya habari na [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Jaribio la kabla ya somo](https://ff-quizzes.netlify.app/en/ml/)
## Kumbuka kwa Mwanzo
> ### [Somo hili linapatikana kwa R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Utangulizi
Urekebishaji wa mstari hutumiwa tunapotaka kutabiri **thamani ya nambari** (kwa mfano, bei ya nyumba, joto, au mauzo).
Hufanya kazi kwa kupata mstari wa moja kwa moja unaowakilisha vizuri uhusiano kati ya vipengele vya ingizo na matokeo.
Hadi sasa umechunguza regression ni nini kwa kutumia data ya mfano iliyokusanywa kutoka kwenye seti ya data ya bei ya maboga ambayo tutatumia katika somo hili. Pia umeiona kwa kutumia Matplotlib.
Katika somo hili, tunazingatia kuelewa dhana kabla ya kuchunguza mbinu za urekebishaji za hali ya juu.
![Linear vs polynomial regression infographic](../../../../translated_images/sw/linear-polynomial.5523c7cb6576ccab.webp)
> Picha ya taarifa na [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Mtihani kabla ya mihadhara](https://ff-quizzes.netlify.app/en/ml/)
Sasa uko tayari kuchunguza zaidi regression kwa ML. Wakati uonekanaji wa data unakusaidia kuelewa data, nguvu halisi ya Kujifunza kwa Mashine inatokana na _kufundisha mifano_. Mifano hufundishwa kwa data ya kihistoria ili kunasa utegemezi wa data kiotomatiki, na hukuwezesha kutabiri matokeo kwa data mpya ambayo mfano haujawahi kuona hapo awali.
> ### [Somo hili linapatikana pia kwa R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Utangulizi
Katika somo hili, utajifunza zaidi kuhusu aina mbili za regression: _regression ya mstari wa kawaida_ na _regression ya polynomial_, pamoja na baadhi ya hesabu zinazohusiana na mbinu hizi. Mifano hiyo itatuwezesha kutabiri bei za maboga kulingana na data tofauti za pembejeo.
Hadi sasa umechambua ni nini urekebishaji kwa kutumia data ya sampuli kutoka kwenye dataset ya bei ya malenge ambayo tutatumia katika somo hili lote. Pia umeionyesha picha kwa kutumia Matplotlib.
[![ML kwa wanaoanza - Kuelewa Regression ya Mstari](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML kwa wanaoanza - Kuelewa Regression ya Mstari")
Sasa uko tayari kuingia zaidi katika urekebishaji kwa ML. Wakati uoneshaji picha unakuwezesha kuelewa data, nguvu halisi ya Kujifunza kwa Mashine hutoka kwa _mafunzo ya mifano_. Mifano huandaliwa kwa data ya kihistoria ili kiotomatiki kushika utegemezi wa data, na hukuruhusu kutabiri matokeo kwa data mpya, ambayo mfano haujawahi kuona hapo awali.
> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa regression ya mstari.
Katika somo hili, utajifunza zaidi kuhusu aina mbili za urekebishaji: _urekebishaji wa mstari wa msingi_ na _urekebishaji wa polinomial_, pamoja na baadhi ya hisabati zinazotegemea mbinu hizi. Mifano hiyo itatuwezesha kutabiri bei za malenge kulingana na data ya ingizo tofauti.
> Katika mtaala huu, tunadhania maarifa ya chini ya hesabu, na tunalenga kuifanya ipatikane kwa wanafunzi kutoka nyanja nyingine, kwa hivyo angalia maelezo, 🧮 maelezo ya hesabu, michoro, na zana nyingine za kujifunza kusaidia ufahamu.
[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
### Mahitaji ya Awali
> 🎥 Bonyeza picha hapo juu kwa video fupi ya muhtasari wa urekebishaji wa mstari.
Unapaswa kuwa na ufahamu sasa wa muundo wa data ya maboga tunayochunguza. Unaweza kuipata ikiwa imepakiwa tayari na kusafishwa katika faili ya _notebook.ipynb_ ya somo hili. Katika faili hiyo, bei ya maboga inaonyeshwa kwa kila busheli katika fremu mpya ya data. Hakikisha unaweza kuendesha daftari hizi katika kernels kwenye Visual Studio Code.
> Katika mtaala huu mzima, tunadhani kuwa ujuzi wa hisabati ni mdogo, na tunalenga kuufanya ufikike kwa wanafunzi wanaotoka katika nyanja nyingine, hivyo angalia kumbukumbu, 🧮 maelezo, michoro, na zana nyingine za kujifunzia kusaidia kuelewa.
### Masharti ya Awali
Unapaswa kuwa unafahamu sasa muundo wa data ya malenge tunayochambua. Unaweza kuipata tayari imepakwa na kusafishwa katika faili la _notebook.ipynb_ la somo hili. Katika faili hilo, bei ya malenge inaonyeshwa kwa kila bushel katika fremu mpya ya data. Hakikisha unaweza kuendesha daftari hizi katika kernels ndani ya Visual Studio Code.
### Maandalizi
Kama ukumbusho, unapakia data hii ili kuuliza maswali kuihusu.
Kama kumbusho, unachukua data hii ili kuuliza maswali kuhusu yake.
- Ni wakati gani bora kununua malenge?
- Bei gani naweza kutarajia kwa kesi ya malenge madogo?
- Je, napaswa kununua katika vikapu vya nusu bushel au kwa sanduku la 1 1/9 bushel?
Tuwekeze zaidi katika uchambuzi wa data hii.
Katika somo lililopita, uliunda fremu ya data ya Pandas na kuijaza kwa sehemu ya dataset asili, ukifanya viwango vya bei iwe kwa bushel. Hata hivyo, kwa kufanya hivyo, uliweza kukusanya takriban taarifa 400 tu na kwa miezi ya vuli pekee.
- Ni wakati gani bora wa kununua maboga?
- Ni bei gani naweza kutarajia kwa sanduku la maboga madogo?
- Je, ninunue kwa vikapu vya nusu busheli au kwa sanduku la busheli 1 1/9?
Tuendelee kuchimba data hii.
Tazama data tuliyoipakia tayari katika daftari la somo hili. Data imepakiwa tayari na muundo wa awali wa pointi umeonyeshwa kuonyesha data ya miezi. Labda tunaweza kupata maelezo zaidi juu ya tabia ya data kwa kusafisha zaidi.
Katika somo lililopita, uliunda fremu ya data ya Pandas na kuijaza na sehemu ya seti ya data ya awali, ukistandadisha bei kwa busheli. Kwa kufanya hivyo, hata hivyo, uliweza tu kukusanya takriban alama 400 za data na tu kwa miezi ya vuli.
## Mstari wa urekebishaji wa mstari
Angalia data ambayo tumepakia tayari katika daftari linaloambatana na somo hili. Data imepakiwa tayari na mchoro wa awali wa alama za kutawanyika umechorwa kuonyesha data ya mwezi. Labda tunaweza kupata maelezo zaidi kuhusu asili ya data kwa kuisafisha zaidi.
Kama ulivyojifunza katika Somo la 1, lengo la zoezi la urekebishaji wa mstari ni kuwa na uwezo wa kuchora mstari wa:
## Mstari wa regression ya mstari
- **Kuonyesha uhusiano wa vigezo**. Onyesha uhusiano kati ya vigezo
- **Kutabiri matokeo**. Tengeneza utabiri sahihi wa mahali ambapo pointi mpya itapatikana kwenye mstari huo.
Kama ulivyojifunza katika Somo la 1, lengo la zoezi la regression ya mstari ni kuweza kuchora mstari ili:
Ni kawaida kwa **Urekebishaji wa Mafuta Madogo** kuchora mstari wa aina hii. Neno "Least-Squares" linahusu mchakato wa kupunguza jumla ya makosa katika mfano wetu. Kwa kila pointi ya data, tunapima umbali wima (uitwao residual) kati ya pointi halisi na mstari wetu wa urekebishaji.
- **Kuonyesha uhusiano wa vigezo**. Kuonyesha uhusiano kati ya vigezo
- **Kutabiri matokeo**. Kufanya utabiri sahihi wa mahali ambapo alama mpya ya data ingeangukia kuhusiana na mstari huo.
Tunafanyia mraba umbali huu kwa sababu mbili kuu:
Ni kawaida kwa **Regression ya Least-Squares** kuchora aina hii ya mstari. Neno 'least-squares' linamaanisha kwamba alama zote za data zinazozunguka mstari wa regression zinasikweya na kisha kuongezwa. Kwa hali bora, jumla hiyo ya mwisho inapaswa kuwa ndogo iwezekanavyo, kwa sababu tunataka idadi ndogo ya makosa, au `least-squares`.
1. **Ukubwa zaidi ya Mwelekeo:** Tunataka kushughulikia kosa la -5 kama lilivyo kosa la +5. Kufanya mraba kunafanya thamani zote kuwa chanya.
Tunafanya hivyo kwa sababu tunataka kuunda mstari ambao una umbali wa chini kabisa wa jumla kutoka kwa alama zetu zote za data. Pia tunasikweya maneno kabla ya kuyaongeza kwa sababu tunajali ukubwa wake badala ya mwelekeo wake.
2. **Kurekebisha Pointi za Mbali:** Kufanya mraba kunatoa uzito zaidi kwa makosa makubwa, na kulazimisha mstari kubaki karibu na pointi ambazo ziko mbali.
> **🧮 Nionyeshe hesabu**
Kisha tunaongeza thamani hizi zote za mraba pamoja. Lengo letu ni kupata mstari maalumu ambapo jumla hii ya mwisho ni ndogo zaidi (thamani ndogo kabisa)—ndiyo maana inaitwa "Least-Squares".
> **🧮 Nionyeshe hisabati**
>
> Mstari huu, unaoitwa _mstari wa kufaa zaidi_ unaweza kuonyeshwa na [mchoro wa equation](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Mstari huu, uitwao _mstari wa kuendana bora_ unaweza kuoneshwa na [hesabu](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` ni 'kigezo cha kueleza'. `Y` ni 'kigezo tegemezi'. Mteremko wa mstari ni `b` na `a` ni y-intercept, ambayo inahusu thamani ya `Y` wakati `X = 0`.
> `X` ni 'kigezo kinachoeleza'. `Y` ni 'kigezo kinachotegemea'. Mteremko wa mstari ni `b` na `a` ni kukatwa kwa y, ambayo ina maana ya thamani ya `Y` wakati `X = 0`.
>
>![hesabu mteremko](../../../../2-Regression/3-Linear/images/slope.png)
>![hesabu mteremko](../../../../translated_images/sw/slope.f3c9d5910ddbfcf9.webp)
>
> Kwanza, hesabu mteremko `b`. Picha ya habari na [Jen Looper](https://twitter.com/jenlooper)
> Kwanza, hesabu mteremko `b`. Picha ya taarifa na [Jen Looper](https://twitter.com/jenlooper)
>
> Kwa maneno mengine, na kurejelea swali la awali la data ya maboga: "tabiri bei ya boga kwa busheli kwa mwezi", `X` ingerejelea bei na `Y` ingerejelea mwezi wa mauzo.
> Kwa maneno mengine, na ukitazama swali la awali kuhusu data ya malenge: "tabiri bei ya malenge kwa kila bushel kwa mwezi", `X` itahusu bei na `Y` itasemekana ni mwezi wa mauzo.
>
>![kamilisha equation](../../../../2-Regression/3-Linear/images/calculation.png)
>![kamilisha hesabu](../../../../translated_images/sw/calculation.a209813050a1ddb1.webp)
>
> Hesabu thamani ya Y. Ikiwa unalipa karibu $4, lazima iwe Aprili! Picha ya habari na [Jen Looper](https://twitter.com/jenlooper)
> Hesabu thamani ya Y. Ikiwa unalipa karibu $4, lazima iwe Aprili! Picha ya taarifa na [Jen Looper](https://twitter.com/jenlooper)
>
> Hesabu inayokokotoa mstari lazima ionyeshe mteremko wa mstari, ambao pia unategemea intercept, au mahali ambapo `Y` iko wakati `X = 0`.
> Hesabu ambayo hufanya mstari lazima ionyeshe mteremko wa mstari, ambao pia unategemea sehemu ya kukatwa, au sehemu ambapo `Y` iko wakati `X = 0`.
>
> Unaweza kuona mbinu ya hesabu ya maadili haya kwenye tovuti ya [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Pia tembelea [kikokotoo cha Least-squares](https://www.mathsisfun.com/data/least-squares-calculator.html) ili kuona jinsi maadili ya namba yanavyoathiri mstari.
> Unaweza kuona njia ya hesabu ya hizi thamani kwenye tovuti ya [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Pia tembelea [kalkuleta hii ya Least-squares](https://www.mathsisfun.com/data/least-squares-calculator.html) kuangalia jinsi thamani za nambari zinavyoathiri mstari.
## Uwiano
## Uhusiano
Neno moja zaidi la kuelewa ni **Kipengele cha Uwiano** kati ya vigezo vilivyotolewa vya X na Y. Kwa kutumia mchoro wa kutawanyika, unaweza kuona haraka kipengele hiki. Mchoro wenye alama za data zilizotawanyika kwa mstari mzuri una uwiano wa juu, lakini mchoro wenye alama za data zilizotawanyika kila mahali kati ya X na Y una uwiano wa chini.
Neno zaidi la kuelewa ni **Kiwango cha Uhusiano** kati ya vigezo `X` na `Y` vilivyotolewa. Kutumia mchoro wa pointi, unaweza kuona haraka kiwango hiki. Mchoro wenye pointi zilizopangwa katika mstari mzuri una kiwango kikubwa cha uhusiano, lakini mchoro wenye pointi zilizoenea kila mahali kati ya X na Y una kiwango kidogo cha uhusiano.
Mfano mzuri wa regression ya mstari utakuwa ule wenye Kipengele cha Uwiano cha juu (karibu na 1 kuliko 0) kwa kutumia mbinu ya Least-Squares Regression na mstari wa regression.
Mfano mzuri wa urekebishaji wa mstari utakuwa ule wenye Kiwango cha Uhusiano cha juu (karibu na 1 kuliko 0) ukitumia mbinu ya Urekebishaji wa Mafuta Madogo na mstari wa urekebishaji.
✅ Endesha daftari linaloambatana na somo hili na uangalie mchoro wa kutawanyika wa Mwezi hadi Bei. Je, data inayohusisha Mwezi na Bei ya mauzo ya maboga inaonekana kuwa na uwiano wa juu au wa chini, kulingana na tafsiri yako ya kuona ya mchoro wa kutawanyika? Je, hilo linabadilika ikiwa unatumia kipimo cha kina zaidi badala ya `Mwezi`, mfano *siku ya mwaka* (yaani, idadi ya siku tangu mwanzo wa mwaka)?
✅ Endesha daftari la mazoezi linaloambatana na somo hili na tazama mchoro wa Mia kwa Bei. Je, data inayohusisha Mia na Bei kwa mauzo ya malenge inaonekana kuwa na uhusiano mkubwa au mdogo, kulingana na tafsiri yako ya picha? Je, hiyo inabadilika ikiwa utatumia kipimo chenye undani zaidi badala ya `Mwezi`, mfano *siku ya mwaka* (yaani, idadi ya siku tangu mwanzo wa mwaka)?
Katika msimbo hapa chini, tutadhania kuwa tumesafisha data, na kupata fremu ya data inayoitwa `new_pumpkins`, inayofanana na ifuatayo:
Katika msimbo hapa chini, tutaendelea kudhani kuwa tumesafisha data, na kupata fremu ya data iitwayo `new_pumpkins`, inayofanana na ifuatayo:
ID | Mwezi | SikuYaMwaka | Aina | Jiji | Kifurushi | Bei ya Chini | Bei ya Juu | Bei
---|-------|-------------|------|------|----------|-------------|------------|-----
70 | 9 | 267 | AINA YA PIE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | AINA YA PIE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | AINA YA PIE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | AINA YA PIE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | AINA YA PIE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364
ID | Mwezi | SikuYaMwaka | Aina | Jiji | Pakiti | Bei ya Chini | Bei ya Juu | Bei
---|--------|-------------|-------|-----|--------|--------------|-----------|-----
70 | 9 | 267 | AINA YA PAI | BALTIMORE | 1 1/9 katoni za bushel | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | AINA YA PAI | BALTIMORE | 1 1/9 katoni za bushel | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | AINA YA PAI | BALTIMORE | 1 1/9 katoni za bushel | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | AINA YA PAI | BALTIMORE | 1 1/9 katoni za bushel | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | AINA YA PAI | BALTIMORE | 1 1/9 katoni za bushel | 15.0 | 15.0 | 13.636364
> Msimbo wa kusafisha data unapatikana katika [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Tumefanya hatua zile zile za kusafisha kama katika somo lililopita, na tumekokotoa safu ya `SikuYaMwaka` kwa kutumia usemi ufuatao:
> Msimbo wa kusafisha data upo katika [`notebook.ipynb`](notebook.ipynb). Tumefanya hatua sawa za usafi kama katika somo lililopita, na tumekuwa tumehesabu safu ya `DayOfYear` kwa kutumia usemi ufuatao:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Sasa kwa kuwa unaelewa hesabu nyuma ya regression ya mstari, hebu tuunde Mfano wa Regression ili kuona kama tunaweza kutabiri ni kifurushi gani cha maboga kitakuwa na bei bora za maboga. Mtu anayenunua maboga kwa ajili ya shamba la likizo la maboga anaweza kutaka taarifa hii ili kuboresha ununuzi wao wa vifurushi vya maboga kwa shamba.
Sasa ukiwa na uelewa wa hisabati nyuma ya urekebishaji wa mstari, hebu tujenge Mfano wa Urekebishaji kuona kama tunaweza kutabiri pakiti gani ya malenge itakuwa na bei bora zaidi. Mtu anayeinunua malenge kwa ajili ya shamba la malenge la sikukuu anaweza kutaka taarifa hii ili kuboresha ununuzi wake wa pakiti za malenge kwa shamba hilo.
## Kutafuta Uwiano
## Kutafuta Uhusiano
[![ML kwa wanaoanza - Kutafuta Uwiano: Muhimu kwa Regression ya Mstari](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML kwa wanaoanza - Kutafuta Uwiano: Muhimu kwa Regression ya Mstari")
[![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")
> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa uwiano.
> 🎥 Bonyeza picha hapo juu kwa video fupi ya muhtasari wa uhusiano.
Kutoka somo lililopita labda umeona kuwa bei ya wastani kwa miezi tofauti inaonekana kama hii:
<img alt="Bei ya wastani kwa mwezi" src="../../../../translated_images/sw/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Average price by month" src="../../../../translated_images/sw/barchart.a833ea9194346d76.webp" width="50%"/>
Hii inapendekeza kuwa kunaweza kuwa na uwiano, na tunaweza kujaribu kufundisha mfano wa regression ya mstari kutabiri uhusiano kati ya `Mwezi` na `Bei`, au kati ya `SikuYaMwaka` na `Bei`. Hapa kuna mchoro wa kutawanyika unaoonyesha uhusiano wa pili:
Hii inaashiria kuwa kunapaswa kuwepo na uhusiano, na tunaweza kujaribu kufundisha mfano wa urekebishaji wa mstari kutabiri uhusiano kati ya `Mwezi` na `Bei`, au kati ya `SikuYaMwaka` na `Bei`. Hapa ni mchoro wa pointi unaoonyesha uhusiano wa mwisho:
<img alt="Mchoro wa kutawanyika wa Bei dhidi ya Siku ya Mwaka" src="../../../../translated_images/sw/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/sw/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Hebu tuone kama kuna uwiano kwa kutumia kazi ya `corr`:
Tuwe tuchunguze kama kuna uhusiano kwa kutumia kazi ya `corr`:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Inaonekana kama uwiano ni mdogo sana, -0.15 kwa `Mwezi` na -0.17 kwa `SikuYaMwezi`, lakini kunaweza kuwa na uhusiano mwingine muhimu. Inaonekana kuna makundi tofauti ya bei yanayohusiana na aina tofauti za maboga. Ili kuthibitisha dhana hii, hebu tuchore kila aina ya boga kwa rangi tofauti. Kwa kupitisha parameter ya `ax` kwa kazi ya kuchora `scatter` tunaweza kuchora alama zote kwenye mchoro mmoja:
Inaonekana kuwa uhusiano ni mdogo, -0.15 kwa `Mwezi` na -0.17 kwa `SikuYaMwezi`, lakini kunaweza kuwa na uhusiano mwingine muhimu. Inaonekana kuna makundi tofauti ya bei yanayolingana na aina tofauti za malenge. Ili kuthibitisha dhana hii, tuchore kila kundi la malenge kwa rangi tofauti. Kwa kupitisha parameter `ax` kwa kazi ya kuchora `scatter` tunaweza kuchora pointi zote kwenye chati moja:
```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="Mchoro wa kutawanyika wa Bei dhidi ya Siku ya Mwaka" src="../../../../translated_images/sw/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/sw/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Uchunguzi wetu unapendekeza kuwa aina ina athari kubwa zaidi kwa bei ya jumla kuliko tarehe halisi ya mauzo. Tunaweza kuona hili kwa mchoro wa bar:
Uchunguzi wetu unaonyesha kuwa aina ina athari kubwa zaidi kwa bei kwa ujumla kuliko tarehe halisi ya mauzo. Tunaweza kuona hii kwenye grafu ya bar:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Mchoro wa bar wa bei dhidi ya aina" src="../../../../translated_images/sw/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Bar graph of price vs variety" src="../../../../translated_images/sw/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Hebu tuzingatie kwa sasa aina moja tu ya maboga, 'aina ya pie', na tuone athari gani tarehe inayo kwa bei:
Tuzingatie kwa sasa aina moja tu ya malenge, aina ya pai, na tuangalie athari ya tarehe kwa bei:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Mchoro wa kutawanyika wa Bei dhidi ya Siku ya Mwaka" src="../../../../translated_images/sw/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/sw/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Ikiwa sasa tutakokotoa uwiano kati ya `Bei` na `SikuYaMwaka` kwa kutumia kazi ya `corr`, tutapata kitu kama `-0.27` - ambayo inamaanisha kuwa kufundisha mfano wa utabiri kuna mantiki.
Ikiwa sasa tutahesabu uhusiano kati ya `Bei` na `SikuYaMwaka` kwa kutumia kazi ya `corr`, tutapata kama `-0.27` - ambayo ina maana mafunzo ya mfano wa utabiri ni yenye maana.
> Kabla ya kufundisha mfano wa regression ya mstari, ni muhimu kuhakikisha kuwa data yetu ni safi. Regression ya mstari haifanyi kazi vizuri na thamani zilizokosekana, kwa hivyo inafaa kuondoa seli zote tupu:
> Kabla ya kufundisha mfano wa urekebishaji wa mstari, ni muhimu kuhakikisha data yetu ni safi. Urekebishaji wa mstari hauendani vizuri na vyanzo vya data vilivyo tupu, hivyo ni vyema kuondoa seli zote tupu:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Njia nyingine itakuwa kujaza thamani hizo tupu na thamani za wastani kutoka safu husika.
Njia nyingine ni kujaza thamani hizo tupu kwa thamani za wastani kutoka safu husika.
## Regression Rahisi ya Mstari
## Urekebishaji Rahisi wa Mstari
[![ML kwa wanaoanza - Regression ya Mstari na Polynomial kwa kutumia Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML kwa wanaoanza - Regression ya Mstari na Polynomial kwa kutumia Scikit-learn")
[![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn")
> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa regression ya mstari na polynomial.
> 🎥 Bonyeza picha hapo juu kwa video fupi ya muhtasari wa urekebishaji wa mstari na polinomial.
Ili kufundisha mfano wetu wa Regression ya Mstari, tutatumia maktaba ya **Scikit-learn**.
Ili kufundisha Mfano wetu wa Urekebishaji wa Mstari, tutatumia maktaba ya **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
@ -171,31 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Tunaanza kwa kutenganisha thamani za pembejeo (vipengele) na matokeo yanayotarajiwa (lebo) katika safu tofauti za numpy:
Tunaanza kwa kutenganisha thamani za ingizo (vipengele) na matokeo yanayotarajiwa (lebo) katika arrays za numpy tofauti:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Kumbuka kuwa tulilazimika kufanya `reshape` kwenye data ya pembejeo ili kifurushi cha Regression ya Mstari kiielewe kwa usahihi. Regression ya Mstari inatarajia safu ya 2D kama pembejeo, ambapo kila safu ya safu inalingana na vector ya vipengele vya pembejeo. Katika kesi yetu, kwa kuwa tuna pembejeo moja tu - tunahitaji safu yenye umbo la N×1, ambapo N ni ukubwa wa seti ya data.
> Kumbuka tulilazimika kufanya `reshape` kwa data ya ingizo ili kifurushi cha Urekebishaji wa Mstari kiweze kuelewa vizuri. Urekebishaji wa mstari unatarajia 2D-array kama ingizo, ambapo kila safu ya array inalingana na vector ya vipengele vya ingizo. Katika kesi yetu, kwa kuwa tuna kipengele kimoja tu, tunahitaji array yenye umbo la N&times;1, ambapo N ni ukubwa wa dataset.
Kisha, tunahitaji kugawanya data katika seti za mafunzo na majaribio, ili tuweze kuthibitisha mfano wetu baada ya mafunzo:
Kisha, tunahitaji kugawanya data kuwa seti za mafunzo na mtihani, ili tuweze kuhakiki mfano wetu baada ya mafunzo:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Hatimaye, kufundisha mfano halisi wa Regression ya Mstari kunachukua mistari miwili tu ya msimbo. Tunafafanua kitu cha `LinearRegression`, na kukifaa kwa data yetu kwa kutumia njia ya `fit`:
Mwisho, kufundisha mfano halisi wa Urekebishaji wa Mstari kunachukua mstari miwili tu ya msimbo. Tunaeleza kitu cha `LinearRegression`, na kukifit kwa data yetu kwa kutumia njia ya `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Kitu cha `LinearRegression` baada ya `fit`-ting kina coefficients zote za regression, ambazo zinaweza kupatikana kwa kutumia mali ya `.coef_`. Katika kesi yetu, kuna coefficient moja tu, ambayo inapaswa kuwa karibu na `-0.017`. Inamaanisha kuwa bei zinaonekana kushuka kidogo kwa muda, lakini si sana, karibu senti 2 kwa siku. Tunaweza pia kufikia sehemu ya makutano ya regression na mhimili wa Y kwa kutumia `lin_reg.intercept_` - itakuwa karibu `21` katika kesi yetu, ikionyesha bei mwanzoni mwa mwaka.
Kitu cha `LinearRegression` baada ya `fit`-ting kina coefficient zote za regression, ambazo zinaweza kupatikana kwa kutumia mali ya `.coef_`. Katika kesi yetu, kuna coefficient moja tu, ambayo inapaswa kuwa karibu na `-0.017`. Hii ina maana kuwa bei inaonekana kushuka kidogo na muda, lakini sio sana, takriban senti 2 kwa siku. Pia tunaweza kupata pointi ya kuingilia ya regression na mhimili wa Y kwa kutumia `lin_reg.intercept_` - itakuwa karibu na `21` katika kesi yetu, ikionyesha bei mwanzoni mwa mwaka.
Ili kuona jinsi mfano wetu ulivyo sahihi, tunaweza kutabiri bei kwenye seti ya data ya majaribio, na kisha kupima jinsi utabiri wetu ulivyo karibu na maadili yanayotarajiwa. Hii inaweza kufanywa kwa kutumia kipimo cha makosa ya mraba wa wastani (MSE), ambacho ni wastani wa tofauti zote zilizopigwa mraba kati ya thamani inayotarajiwa na iliyotabiriwa.
Ili kuona jinsi modeli yetu ilivyo sahihi, tunaweza kutabiri bei kwenye dataset ya majaribio, kisha kupima jinsi utabiri wetu unavyofanana na thamani zinazotarajiwa. Hii inaweza kufanywa kwa kutumia kipimo cha makosa ya wastani ya mraba (MSE), ambacho ni wastani wa tofauti zilizokwazwa zote kati ya thamani zinazotarajiwa na zitabiriwa.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +215,38 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Kosa letu linaonekana kuwa katika alama 2, ambayo ni ~17%. Sio nzuri sana. Kiashiria kingine cha ubora wa modeli ni **mgawo wa uamuzi**, ambao unaweza kupatikana kwa njia hii:
Hitilafu yetu inaonekana kuwa karibu na pointi 2, ambayo ni ~17%. Sio nzuri sana. Kiashiria kingine cha ubora wa modeli ni **coefficient ya utambuzi**, ambayo inaweza kupatikana hivi:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Ikiwa thamani ni 0, inamaanisha kuwa modeli haizingatii data ya pembejeo, na inafanya kazi kama *tabiri mbaya zaidi ya mstari*, ambayo ni wastani wa matokeo. Thamani ya 1 inamaanisha tunaweza kutabiri kikamilifu matokeo yote yanayotarajiwa. Katika hali yetu, mgawo uko karibu na 0.06, ambayo ni ya chini sana.
```
Tunaweza pia kuchora data ya majaribio pamoja na mstari wa regression ili kuona vizuri jinsi regression inavyofanya kazi katika hali yetu:
Kama thamani ni 0, inamaanisha kuwa modeli huchukua data ya pembejeo kwa upande na hutenda kama *mtabiri mbaya zaidi wa mstari*, ambayo ni thamani ya wastani ya matokeo tu. Thamani ya 1 ina maana tunaweza kutabiri kwa ukamilifu matokeo yote yanayotarajiwa. Katika kesi yetu, coefficient ni karibu 0.06, ambayo ni ya chini sana.
Pia tunaweza kuchora data ya majaribio pamoja na mstari wa regression kuona vizuri jinsi regression inavyofanya kazi katika kesi yetu:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
```
<img alt="Linear regression" src="../../../../translated_images/sw/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Regression ya Polynomial
## Regression ya Polynomiale
Aina nyingine ya Regression ya Mstari ni Regression ya Polynomial. Wakati mwingine kuna uhusiano wa mstari kati ya vigezo - kadri malenge yanavyokuwa makubwa kwa ujazo, ndivyo bei inavyoongezeka - lakini wakati mwingine uhusiano huu hauwezi kuchorwa kama ndege au mstari wa moja kwa moja.
Aina nyingine ya Linear Regression ni Polynomial Regression. Wakati mwingine kuna uhusiano wa mstari kati ya vigezo - vile pumpkin mkubwa kwa ujazo, ndivyo bei huwa juu - wakati mwingine uhusiano huu hauwezi kuchorwa kama uso wa ndege au mstari wa moja kwa moja.
✅ Hapa kuna [mifano zaidi](https://online.stat.psu.edu/stat501/lesson/9/9.8) ya data inayoweza kutumia Regression ya Polynomial
✅ Hapa kuna [mifano mingine zaidi](https://online.stat.psu.edu/stat501/lesson/9/9.8) ya data ambazo zinaweza kutumia Polynomial Regression
Angalia tena uhusiano kati ya Tarehe na Bei. Je, mchoro huu wa alama unaonekana kama unapaswa kuchambuliwa kwa mstari wa moja kwa moja? Je, bei haziwezi kubadilika? Katika hali hii, unaweza kujaribu regression ya polynomial.
Tazama tena uhusiano kati ya Tarehe na Bei. Je, scatterplot hii inaonekana inapaswa kuchambuliwa kwa mstari wa moja kwa moja? Je, bei haziwezi kubadilika? Katika kesi hii, unaweza jaribu polynomial regression.
✅ Polynomials ni maonyesho ya kihesabu ambayo yanaweza kuwa na moja au zaidi ya vigezo na vipeo
✅ Polynomiale ni misemo ya kihisabati ambayo inaweza kuwa na kigezo kimoja au zaidi na coefficients
Regression ya Polynomial huunda mstari wa mviringo ili kutosheleza data isiyo ya mstari vizuri zaidi. Katika hali yetu, ikiwa tutajumuisha kigezo cha `DayOfYear` kilichopigwa mraba katika data ya pembejeo, tunapaswa kuwa na uwezo wa kutosheleza data yetu na mviringo wa parabola, ambao utakuwa na kiwango cha chini katika sehemu fulani ndani ya mwaka.
Polynomial regression huunda mstari uliokunja kuelekea kufaa data zisizo za mstari. Katika kesi yetu, kama tutajumuisha variable ya `DayOfYear` iliyofunguliwa kwa mraba katika data ya pembejeo, tunapaswa kuweza kufit data zetu kwa curve ya parabolic, ambayo itakuwa na chini katika sehemu fulani ndani ya mwaka.
Scikit-learn inajumuisha [API ya pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) inayosaidia kuunganisha hatua tofauti za usindikaji wa data pamoja. **Pipeline** ni mnyororo wa **estimators**. Katika hali yetu, tutaunda pipeline ambayo kwanza inaongeza vipengele vya polynomial kwenye modeli yetu, kisha inafundisha regression:
Scikit-learn inajumuisha API ya [pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) yenye msaada ya kuunganisha hatua tofauti za usindikaji wa data pamoja. **Pipeline** ni mnyororo wa **makadirio**. Katika kesi yetu, tutaunda pipeline ambayo kwanza inaongeza sifa za polynomial kwenye modeli yetu, kisha inafunza regression:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -241,62 +255,62 @@ from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
```
Kutumia `PolynomialFeatures(2)` inamaanisha kuwa tutajumuisha polynomials zote za kiwango cha pili kutoka data ya pembejeo. Katika hali yetu, itamaanisha tu `DayOfYear`<sup>2</sup>, lakini kwa vigezo viwili vya pembejeo X na Y, hii itaongeza X<sup>2</sup>, XY na Y<sup>2</sup>. Tunaweza pia kutumia polynomials za kiwango cha juu ikiwa tunataka.
Kutumia `PolynomialFeatures(2)` inamaanisha kuwa tutajumuisha polynomiale zote za daraja la pili kutoka kwa data ya pembejeo. Katika kesi yetu itamaanisha tu `DayOfYear`<sup>2</sup>, lakini ikizingatiwa variable mbili za pembejeo X na Y, hii itaongeza X<sup>2</sup>, XY na Y<sup>2</sup>. Pia tunaweza kutumia polynomiale za daraja la juu zaidi ikiwa tunataka.
Pipelines zinaweza kutumika kwa njia sawa na kitu cha awali cha `LinearRegression`, yaani tunaweza `fit` pipeline, kisha kutumia `predict` kupata matokeo ya utabiri. Hapa kuna mchoro unaoonyesha data ya majaribio, na mstari wa takriban:
Pipelines zinaweza kutumika kwa namna ile ile kama kitu cha awali cha `LinearRegression`, yaani tunaweza `fit` pipeline, kisha kutumia `predict` kupata matokeo ya utabiri. Hii hapa grafu inayoonyesha data ya mtihani, na curve ya takriban:
<img alt="Polynomial regression" src="../../../../translated_images/sw/poly-results.ee587348f0f1f60b.webp" width="50%" />
Kwa kutumia Regression ya Polynomial, tunaweza kupata MSE ya chini kidogo na mgawo wa uamuzi wa juu zaidi, lakini sio kwa kiasi kikubwa. Tunahitaji kuzingatia vipengele vingine!
Kutumia Polynomial Regression, tunaweza kupata MSE kidogo chini na utambuzi wa juu zaidi, lakini sio kwa kiasi kikubwa. Tunahitaji kuzingatia sifa nyingine!
> Unaweza kuona kuwa bei za chini kabisa za malenge zinapatikana karibu na Halloween. Unaweza kuelezea hili vipi?
> Unaweza kuona kuwa bei za chini zaidi za pumpkin hutokea karibu na Halloween. Unawezaje kuelezea hili?
🎃 Hongera, umekamilisha modeli inayoweza kusaidia kutabiri bei ya malenge ya pai. Unaweza kurudia utaratibu huo kwa aina zote za malenge, lakini hilo litakuwa kazi ya kuchosha. Sasa hebu tujifunze jinsi ya kuzingatia aina ya malenge katika modeli yetu!
🎃 Hongera, umeunda modeli inayoweza kusaidia kutabiri bei ya pie pumpkins. Huenda ukarudia taratibu iliyofanana kwa aina zote za pumpkin, lakini hiyo itakuwa ya kuchosha. Hebu tujifunze sasa jinsi ya kuzingatia aina ya pumpkin katika modeli yetu!
## Vipengele vya Kategoria
## Sifa za Kategoria
Katika ulimwengu bora, tunataka kuwa na uwezo wa kutabiri bei za aina tofauti za malenge kwa kutumia modeli moja. Hata hivyo, safu ya `Variety` ni tofauti kidogo na safu kama `Month`, kwa sababu ina thamani zisizo za nambari. Safu kama hizi zinaitwa **kategoria**.
Katika dunia bora, tunataka kuwa na uwezo wa kutabiri bei za aina tofauti za pumpkin kwa kutumia modeli moja. Hata hivyo, safu ya `Variety` ni tofauti kidogo na safu kama `Month`, kwa sababu ina thamani zisizo za nambari. Safu kama hizo huitwa **kachategoriali**.
[![ML kwa wanaoanza - Utabiri wa Vipengele vya Kategoria na Regression ya Mstari](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML kwa wanaoanza - Utabiri wa Vipengele vya Kategoria na Regression ya Mstari")
[![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")
> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa kutumia vipengele vya kategoria.
> 🎥 Bonyeza picha hapo juu kwa video fupi ya muhtasari wa kutumia sifa za kategoria.
Hapa unaweza kuona jinsi bei ya wastani inavyotegemea aina:
Hapa unaona jinsi bei ya wastani inavyotegemea aina:
<img alt="Average price by variety" src="../../../../translated_images/sw/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Ili kuzingatia aina, tunahitaji kwanza kuibadilisha kuwa fomu ya nambari, au **kuencode**. Kuna njia kadhaa tunazoweza kutumia:
Ili kuzingatia aina, kwanza tunahitaji kuibadilisha kuwa fomu ya nambari, au **kuandika kwa kanuni ya nambari**. Kuna njia kadhaa za kufanya hivi:
* **Numeric encoding** rahisi itajenga jedwali la aina tofauti, kisha kubadilisha jina la aina kwa index katika jedwali hilo. Hii sio wazo bora kwa regression ya mstari, kwa sababu regression ya mstari inachukua thamani halisi ya nambari ya index, na kuiongeza kwenye matokeo, ikizidisha kwa kipengele fulani. Katika hali yetu, uhusiano kati ya nambari ya index na bei ni wazi kuwa sio wa mstari, hata kama tunahakikisha kuwa indices zimepangwa kwa njia maalum.
* **One-hot encoding** itabadilisha safu ya `Variety` kuwa safu 4 tofauti, moja kwa kila aina. Kila safu itakuwa na `1` ikiwa safu husika ni ya aina fulani, na `0` vinginevyo. Hii inamaanisha kutakuwa na coefficients nne katika regression ya mstari, moja kwa kila aina ya malenge, inayohusika na "bei ya kuanzia" (au "bei ya ziada") kwa aina hiyo maalum.
* **Uandikaji nambari rahisi** utaunda jedwali la aina tofauti, kisha kubadilisha jina la aina kwa index katika jedwali hilo. Hii siyo wazo bora kwa regression ya mstari, kwa sababu regression ya mstari huchukua thamani ya nambari halisi ya index, na kuiongeza kwa matokeo, ikizidishwa na coefficient fulani. Katika kesi yetu, uhusiano kati ya nambari ya index na bei ni dhahiri kuwa sio mstari, hata kama tunahakikisha kuwa index zimepangwa kwa njia maalum.
* **One-hot encoding** itabadilisha safu ya `Variety` kuwa safu 4 tofauti, moja kwa kila aina. Kila safu itakuwa na `1` ikiwa safu husika ni ya aina ile, na `0` vinginevyo. Hii ina maana kuwa kutakuwa na coefficient nne katika regression ya mstari, moja kwa kila aina ya pumpkin, inayohusika na "bei ya mwanzo" (au badala yake "bei ya ziada") kwa aina hiyo.
Hapa kuna jinsi tunaweza kufanya one-hot encoding kwa aina:
Msimbo hapa chini unaonyesha jinsi tunavyoweza kufanya one-hot encode kwa aina:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Ili kufundisha regression ya mstari kwa kutumia aina iliyofanyiwa one-hot encoding kama pembejeo, tunahitaji tu kuanzisha data ya `X` na `y` kwa usahihi:
Ili kufunza regression ya mstari kwa kutumia aina iliyomo one-hot encoded kama pembejeo, tunahitaji tu kuanzisha data `X` na `y` kwa usahihi:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
```
Sehemu nyingine ya msimbo ni sawa na tuliyotumia hapo juu kufundisha Regression ya Mstari. Ukijaribu, utaona kuwa kosa la wastani la mraba ni karibu sawa, lakini tunapata mgawo wa uamuzi wa juu zaidi (~77%). Ili kupata utabiri sahihi zaidi, tunaweza kuzingatia vipengele zaidi vya kategoria, pamoja na vipengele vya nambari, kama `Month` au `DayOfYear`. Ili kupata safu moja kubwa ya vipengele, tunaweza kutumia `join`:
Msimbo mwingine ni ule ule tuliotumia hapo juu kufunza Linear Regression. Ukijaribu, utaona kuwa makosa ya wastani ya mraba ni takriban sawa, lakini tunapata coefficient ya utambuzi ya juu zaidi (~77%). Ili kupata utabiri sahihi zaidi, tunaweza kuzingatia sifa za kategoria zaidi, pamoja na sifa za nambari, kama vile `Month` au `DayOfYear`. Ili kupata array moja kubwa ya sifa, tunaweza kutumia `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -304,68 +318,70 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
```
```
Hapa tunazingatia pia `City` na aina ya `Package`, ambayo inatupa MSE 2.84 (10%), na uamuzi 0.94!
Hapa tunazingatia pia `City` na aina ya `Package`, ambayo inatupa MSE 2.84 (10%), na coefficient 0.94!
## Kuweka Yote Pamoja
## Kuunganisha Yote Pamoja
Ili kufanya modeli bora zaidi, tunaweza kutumia data iliyojumuishwa (kategoria zilizofanyiwa one-hot encoding + nambari) kutoka mfano hapo juu pamoja na Regression ya Polynomial. Hapa kuna msimbo kamili kwa urahisi wako:
Ili kutengeneza modeli bora zaidi, tunaweza kutumia data iliyochanganywa (one-hot encoded kategoria + nambari) kutoka kwa mfano hapo juu pamoja na Polynomial Regression. Hapa ni msimbo kamili kwa urahisi wako:
```python
# set up training data
# weka data za mafunzo
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
# tengeneza mgawanyiko wa mafunzo-na-majaribio
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
# weka na funza pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# tabiri matokeo kwa data ya majaribio
pred = pipeline.predict(X_test)
# calculate MSE and determination
# hesabu MSE na uamuzi
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
```
Hii inapaswa kutupa mgawo bora wa uamuzi wa karibu 97%, na MSE=2.23 (~8% kosa la utabiri).
Hii inapaswa kutupatia coefficient bora kabisa ya utambuzi ya karibu 97%, na MSE=2.23 (~8% hitilafu ya utabiri).
| Modeli | MSE | Uamuzi |
|-------|-----|--------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| Vipengele Vyote Linear | 2.84 (10.5%) | 0.94 |
| Vipengele Vyote Polynomial | 2.23 (8.25%) | 0.97 |
| Modeli | MSE | Utambuzi |
|-------|-----|---------------|
| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
| `Variety` Linear | 5.24 (19.7%) | 0.77 |
| Zote sifa Linear | 2.84 (10.5%) | 0.94 |
| Zote sifa Polynomial | 2.23 (8.25%) | 0.97 |
🏆 Hongera! Umeunda modeli nne za Regression katika somo moja, na kuboresha ubora wa modeli hadi 97%. Katika sehemu ya mwisho ya Regression, utajifunza kuhusu Regression ya Logistic ili kuamua kategoria.
🏆 Hongera! Umeunda modeli nne za Regression katika somo moja, na kuboresha ubora wa modeli hadi 97%. Katika sehemu ya mwisho kuhusu Regression, utajifunza kuhusu Logistic Regression kutambua makundi.
---
## 🚀Changamoto
## 🚀Changamoto
Jaribu vigezo tofauti katika daftari hili ili kuona jinsi uhusiano unavyolingana na usahihi wa modeli.
Jaribu vigezo tofauti tofauti katika daftari hili kuona jinsi uwiano unavyolingana na usahihi wa modeli.
## [Jaribio la baada ya somo](https://ff-quizzes.netlify.app/en/ml/)
## [Mtihani baada ya somo](https://ff-quizzes.netlify.app/en/ml/)
## Mapitio na Kujisomea
## Hakiki & Kujisomea
Katika somo hili tulijifunza kuhusu Regression ya Mstari. Kuna aina nyingine muhimu za Regression. Soma kuhusu mbinu za Stepwise, Ridge, Lasso na Elasticnet. Kozi nzuri ya kusoma ili kujifunza zaidi ni [Kozi ya Stanford ya Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
Katika somo hili tulijifunza kuhusu Linear Regression. Kuna aina nyingine muhimu za Regression. Soma kuhusu mbinu za Stepwise, Ridge, Lasso na Elasticnet. Kozi nzuri ya kujifunza zaidi ni [Kozi ya Stanford ya Kujifunza kwa Takwimu](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Kazi
## Kazi ya Nyumbani
[Jenga Modeli](assignment.md)
[Jenga Modeli](assignment.md)
---
**Kanusho**:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati asilia katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tafadhali Kumbuka**:
Nyaraka hii imetatuliwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Nyaraka ya asili katika lugha yake lazima itambuliwe kama chanzo rasmi. Kwa taarifa muhimu, tafsiri ya mtaalamu wa binadamu inapendekezwa. Hatubebei wajibu wowote kuhusu kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Wainishi wa vyakula 2
# Vainisha za vyakula 2
Katika somo hili la pili la uainishaji, utachunguza njia zaidi za kuainisha data ya nambari. Pia utajifunza kuhusu athari za kuchagua mainishi moja badala ya jingine.
Katika somo hili la pili la uainishaji, utachunguza njia zaidi za kuainisha data ya nambari. Pia utajifunza kuhusu athari za kuchagua vainisha mmoja badala ya mwingine.
## [Jaribio la awali la somo](https://ff-quizzes.netlify.app/en/ml/)
## [Jaribio kabla ya mihadhara](https://ff-quizzes.netlify.app/en/ml/)
### Mahitaji ya awali
### Sharti
Tunadhani kuwa umekamilisha masomo ya awali na una dataset iliyosafishwa katika folda yako ya `data` inayoitwa _cleaned_cuisines.csv_ katika mzizi wa folda hii ya masomo 4.
Tunadhani umefanya masomo ya awali na una seti safi ya data katika folda yako ya `data` inayoitwa _cleaned_cuisines.csv_ kwa mzizi wa folda hii ya masomo 4.
### Maandalizi
Tumeweka faili yako ya _notebook.ipynb_ na dataset iliyosafishwa na tumeigawanya katika fremu za data za X na y, tayari kwa mchakato wa kujenga modeli.
Tumepakia faili lako la _notebook.ipynb_ lenye seti safi ya data na tumeigawanya kuwa dataframes za X na y, tayari kwa mchakato wa ujenzi wa modeli.
## Ramani ya uainishaji
Hapo awali, ulijifunza kuhusu chaguo mbalimbali unazoweza kutumia kuainisha data kwa kutumia karatasi ya udanganyifu ya Microsoft. Scikit-learn inatoa karatasi ya udanganyifu inayofanana, lakini ya kina zaidi, ambayo inaweza kusaidia zaidi kupunguza chaguo zako za makadirio (neno lingine kwa wainishi):
Hapo awali, ulijifunza kuhusu chaguzi mbalimbali ulizo nazo wakati wa kuainisha data kwa kutumia karatasi ya hila ya Microsoft. Scikit-learn inatoa karatasi ya hila inayofanana, lakini yenye maelezo zaidi ambayo inaweza kusaidia zaidi kupunguza vainisha wako (neno jingine la vainisha ni makadirio):
![Ramani ya ML kutoka Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Kidokezo: [tembelea ramani hii mtandaoni](https://scikit-learn.org/stable/tutorial/machine_learning_map/) na bonyeza njia zake kusoma nyaraka.
![ML Map from Scikit-learn](../../../../translated_images/sw/map.e963a6a51349425a.webp)
> Vidokezo: [tembelea ramani hii mtandaoni](https://scikit-learn.org/stable/tutorial/machine_learning_map/) na bonyeza mfululizo wa njia kusoma nyaraka.
### Mpango
Ramani hii ni muhimu sana mara tu unapokuwa na uelewa wa wazi wa data yako, kwani unaweza 'kutembea' kwenye njia zake hadi kufikia uamuzi:
Ramani hii ni msaada mkubwa mara unapokuwa na uelewa wazi wa data yako, kwani unaweza 'kutembea' kwenye njia zake kuelekea uamuzi:
- Tuna sampuli >50
- Tunataka kutabiri kategoria
- Tuna data yenye lebo
- Tuna data zilizo na lebo
- Tuna sampuli chini ya 100K
- ✨ Tunaweza kuchagua Linear SVC
- Ikiwa hiyo haifanyi kazi, kwa kuwa tuna data ya nambari
- Ikiwa hiyo haitumiki, kwa kuwa tuna data za nambari
- Tunaweza kujaribu ✨ KNeighbors Classifier
- Ikiwa hiyo haifanyi kazi, jaribu ✨ SVC na ✨ Ensemble Classifiers
- Ikiwa hiyo haitumiki, jaribu ✨ SVC na ✨ Ensemble Classifiers
Hii ni njia muhimu sana ya kufuata.
Hii ni njia yenye msaada mkubwa kufuata.
## Zoezi - gawanya data
## Zoha - gawanya data
Kwa kufuata njia hii, tunapaswa kuanza kwa kuingiza baadhi ya maktaba za kutumia.
Kwa kufuata njia hii, tunapaswa kuanza kwa kuingiza maktaba kadhaa kutumia.
1. Ingiza maktaba zinazohitajika:
@ -50,25 +50,25 @@ Kwa kufuata njia hii, tunapaswa kuanza kwa kuingiza baadhi ya maktaba za kutumia
import numpy as np
```
1. Gawanya data yako ya mafunzo na majaribio:
1. Gawanya data yako ya mafunzo na mtihani:
```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)
```
## Wainishi wa Linear SVC
## Vainisha la Linear SVC
Support-Vector clustering (SVC) ni sehemu ya familia ya Support-Vector machines ya mbinu za ML (jifunze zaidi kuhusu hizi hapa chini). Katika mbinu hii, unaweza kuchagua 'kernel' kuamua jinsi ya kuainisha lebo. Kipengele cha 'C' kinahusu 'regularization' ambacho kinadhibiti ushawishi wa vigezo. Kernel inaweza kuwa moja ya [kadhaa](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); hapa tunaiweka kuwa 'linear' ili kuhakikisha tunatumia Linear SVC. Uwezekano unakuwa 'false' kwa default; hapa tunaiweka kuwa 'true' ili kupata makadirio ya uwezekano. Tunaiweka random state kuwa '0' ili kuchanganya data kupata uwezekano.
Support-Vector clustering (SVC) ni sehemu ya familia ya Mashine za Support-Vector za mbinu za ML (jifunza zaidi kuhusu hizi hapa chini). Katika njia hii, unaweza kuchagua 'kernel' kuamua jinsi ya kuunganisha lebo. Parameter ya 'C' inahusu 'regularization' ambayo hudhibiti ushawishi wa vigezo. Kernel inaweza kuwa moja ya [nguvu kadhaa](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); hapa tumeiseti kuwa 'linear' kuhakikisha tunatumia linear SVC. Probability kwa default ni 'false'; hapa tumeiseti kuwa 'true' kukusanya makadirio ya uwezekano. Tumeweka hali ya bahati nasibu kuwa '0' kuchanganya data kupata uwezekano.
### Zoezi - tumia Linear SVC
### Zoha - tumia linear SVC
Anza kwa kuunda safu ya wainishi. Utaongeza hatua kwa hatua kwenye safu hii tunapojaribu.
Anza kwa kuunda safu ya vainisha. Utaiongeza polepole kwenye safu hii tunapojaribu.
1. Anza na Linear SVC:
```python
C = 10
# Create different classifiers.
# Unda waainishaji tofauti.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
@ -88,7 +88,7 @@ Anza kwa kuunda safu ya wainishi. Utaongeza hatua kwa hatua kwenye safu hii tuna
print(classification_report(y_test,y_pred))
```
Matokeo ni mazuri:
Matokeo ni mazuri kweli:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -105,21 +105,21 @@ Anza kwa kuunda safu ya wainishi. Utaongeza hatua kwa hatua kwenye safu hii tuna
weighted avg 0.79 0.79 0.79 1199
```
## Wainishi wa K-Neighbors
## Vainisha wa K-Neighbors
K-Neighbors ni sehemu ya familia ya "neighbors" ya mbinu za ML, ambazo zinaweza kutumika kwa kujifunza kwa usimamizi na bila usimamizi. Katika mbinu hii, idadi ya alama zilizowekwa awali huundwa na data hukusanywa karibu na alama hizi ili lebo za jumla ziweze kutabiriwa kwa data.
K-Neighbors ni sehemu ya familia ya mbinu za ML za "neighbors", ambazo zinaweza kutumika kwa kujifunza kwa uangalizi au bila uangalizi. Katika njia hii, idadi iliyowekwa ya pointi huundwa na data hukusanywa karibu na pointi hizi ili lebo jumla zitabiriwe kwa data.
### Zoezi - tumia wainishi wa K-Neighbors
### Zoha - tumia vainisha wa K-Neighbors
Wainishi wa awali ulikuwa mzuri, na ulifanya kazi vizuri na data, lakini labda tunaweza kupata usahihi bora. Jaribu wainishi wa K-Neighbors.
Vainisha wa awali ulikuwa mzuri, na ulikuwa na utendaji mzuri kwenye data, lakini labda tunaweza kupata usahihi bora zaidi. Jaribu vainisha wa K-Neighbors.
1. Ongeza mstari kwenye safu yako ya wainishi (ongeza koma baada ya kipengele cha Linear SVC):
1. Ongeza mstari kwenye safu yako ya vainisha (ongeza koma baada ya kipengele cha Linear SVC):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Matokeo ni kidogo mabaya:
Matokeo ni mabaya kidogo:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -138,13 +138,13 @@ Wainishi wa awali ulikuwa mzuri, na ulifanya kazi vizuri na data, lakini labda t
✅ Jifunze kuhusu [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Wainishi wa Support Vector
## Vainisha wa Support Vector
Wainishi wa Support-Vector ni sehemu ya familia ya [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) ya mbinu za ML zinazotumika kwa kazi za uainishaji na urejeleaji. SVMs "huweka mifano ya mafunzo kwenye alama katika nafasi" ili kuongeza umbali kati ya kategoria mbili. Data inayofuata huwekwa kwenye nafasi hii ili kategoria yake iweze kutabiriwa.
Support-Vector vainisha ni sehemu ya familia ya mbinu za ML za [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) zinazotumika kwa kazi za uainishaji na regression. SVMs "huweka mifano ya mafunzo kwenye pointi katika nafasi" ili kuongeza umbali kati ya vikundi viwili. Data inayofuata huwekwa kwenye nafasi hii ili kategoria yake itabiriwe.
### Zoezi - tumia wainishi wa Support Vector
### Zoha - tumia Vainisha wa Support Vector
Hebu jaribu kupata usahihi bora kidogo kwa wainishi wa Support Vector.
Tujaribu usahihi kidogo bora na Vainisha wa Support Vector.
1. Ongeza koma baada ya kipengele cha K-Neighbors, kisha ongeza mstari huu:
@ -171,9 +171,9 @@ Hebu jaribu kupata usahihi bora kidogo kwa wainishi wa Support Vector.
✅ Jifunze kuhusu [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
## Wainishi wa Ensemble
## Vainisha za Ensemble
Hebu fuata njia hadi mwisho kabisa, ingawa jaribio la awali lilikuwa zuri sana. Hebu jaribu baadhi ya 'Ensemble Classifiers', hasa Random Forest na AdaBoost:
Tufuate njia hadi mwisho kabisa, ingawa jaribio la awali lilikuwa zuri sana. Tujaribu 'Vainisha za Ensemble', hasa Random Forest na AdaBoost:
```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
```
✅ Jifunze kuhusu [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
✅ Jifunze kuhusu [Vainisha za Ensemble](https://scikit-learn.org/stable/modules/ensemble.html)
Mbinu hii ya Kujifunza kwa Mashine "inaunganisha makadirio ya wainishi kadhaa wa msingi" ili kuboresha ubora wa modeli. Katika mfano wetu, tulitumia Random Trees na AdaBoost.
Njia hii ya Kujifunza Mashine "inaunganisha utabiri wa makadirio mengi ya msingi" ili kuboresha ubora wa modeli. Katika mfano wetu, tulitumia Miti ya Bahati nasibu na AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), mbinu ya wastani, huunda 'msitu' wa 'miti ya maamuzi' yenye nasibu ili kuepuka overfitting. Kipengele cha n_estimators kimewekwa kwa idadi ya miti.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), njia ya kusawazisha, hujenga 'msitu' wa 'miti ya uamuzi' umetawanywa kwa bahati nasibu ili kuepuka kufikia kiwango cha juu sana cha kufaa data. Parameter ya n_estimators imewekwa kwa idadi ya miti.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) huweka wainishi kwenye dataset na kisha huweka nakala za wainishi huo kwenye dataset hiyo hiyo. Inazingatia uzito wa vitu vilivyoainishwa vibaya na kurekebisha fit kwa wainishi unaofuata ili kusahihisha.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) huendana na vainisha kwa seti ya data kisha huiga vainisha huo kwa seti ile ile ya data. Inazingatia uzito wa vitu vilivyokosewa na kurekebisha utendakazi kwa vainisha inayofuata kurekebisha kosa.
---
## 🚀Changamoto
Kila moja ya mbinu hizi ina idadi kubwa ya vigezo ambavyo unaweza kurekebisha. Tafiti vigezo vya default vya kila moja na fikiria kuhusu maana ya kurekebisha vigezo hivi kwa ubora wa modeli.
Kila moja ya mbinu hizi ina vigezo vingi unaweza kubadilisha. Fanya utafiti wa vigezo vyao vya default na fikiria maana ya kubadilisha vigezo hivi kwa ubora wa modeli.
## [Jaribio la baada ya somo](https://ff-quizzes.netlify.app/en/ml/)
## [Jaribio baada ya mihadhara](https://ff-quizzes.netlify.app/en/ml/)
## Mapitio & Kujisomea
## Mapitio & Kusoma Kibinafsi
Kuna msamiati mwingi katika masomo haya, kwa hivyo chukua muda kupitia [orodha hii](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) ya istilahi muhimu!
Kuna maneno mengi magumu katika masomo haya, hivyo chukua dakika moja kupitia [orodha hii](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) ya istilahi muhimu!
## Kazi
## Kazi ya nyumbani
[Cheza na vigezo](assignment.md)
---
**Kanusho**:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Kiarifa cha Hapana Dhima**:
Nyaraka hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuwa sahihi, tafadhali fahamu kuwa tafsiri za moja kwa moja zinaweza kuwa na makosa au kasoro. Nyaraka asilia katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha uhakika. Kwa taarifa muhimu, tafsiri ya kitaalamu ya mwanadamu inashauriwa. Hatuwajibiki kwa kutoelewana au tafsiri za makosa zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Jenga Mfano wa Uainishaji\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Kanusho**: \nHati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Mkatazo wa Dhima**:\nNyaraka hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za moja kwa moja zinaweza kuwa na makosa au upungufu wa usahihi. Nyaraka ya asili katika lugha yake ya mama inapaswa kuzingatiwa kama chanzo cha kuaminika. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatubeba dhamana kwa maelewano au tafsiri potofu zozote zitokanazo na matumizi ya tafsiri hii.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-06T14:42:25+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "sw"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Jenga Mifano Zaidi ya Uainishaji\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Jaribu aina tofauti za viainishi\n"
"# Jaribu aina tofauti za wanaojaribu darasa\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Kanusho**: \nHati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Hakikisho la Kukataa**:\nHati hii imetafsiriwa kwa kutumia huduma ya utafsiri wa AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za otomatiki zinaweza kuwa na makosa au kasoro. Hati asili katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa habari muhimu, tafsiri ya kitaalamu na binadamu inapendekezwa. Hatuwajibiki kwa kutoelewana au utofauti wa tafsiri unaotokana na matumizi ya tafsiri hii.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-06T14:42:56+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "sw"
}
},
"nbformat": 4,

@ -1,93 +1,103 @@
[![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 leseni](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub wachangiaji](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub matatizo](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub ombi la kuvuta](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![Karibu PRs](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 watazamaji](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub matawi](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub nyota](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
### 🌐 Usaidizi wa Lugha Nyingi
### 🌐 Msaada wa Lugha Nyingi
#### Unaungwa Mkono Kupitia Hatua za GitHub (Moja kwa Moja & Daima Imesasishwa)
#### Umahiri kupitia Hatua ya GitHub (Moja kwa Moja & Daima Imeboreshwa)
<!-- 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](./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)
[Kiarabu](../ar/README.md) | [Bengali](../bn/README.md) | [Kibulgaria](../bg/README.md) | [Kiburma (Myanmar)](../my/README.md) | [Kichina (Kilizouzwa)](../zh-CN/README.md) | [Kichina (Kilizochafuliwa, Hong Kong)](../zh-HK/README.md) | [Kichina (Kilizochafuliwa, Macau)](../zh-MO/README.md) | [Kichina (Kilizochafuliwa, Taiwan)](../zh-TW/README.md) | [Kroeshia](../hr/README.md) | [Kicheki](../cs/README.md) | [Kidenmaki](../da/README.md) | [Kiholanzi](../nl/README.md) | [Kiestonia](../et/README.md) | [Kifini](../fi/README.md) | [Kifaransa](../fr/README.md) | [Kijerumani](../de/README.md) | [Kigiriki](../el/README.md) | [Kiebrania](../he/README.md) | [Kihindi](../hi/README.md) | [Kihungari](../hu/README.md) | [Kiindonesia](../id/README.md) | [Kitaliano](../it/README.md) | [Kijapani](../ja/README.md) | [Kikannada](../kn/README.md) | [Kikorea](../ko/README.md) | [Kilitwania](../lt/README.md) | [Kimalay](../ms/README.md) | [Kimalayalami](../ml/README.md) | [Kimarathi](../mr/README.md) | [Kinepali](../ne/README.md) | [Kipidgin cha Nijeria](../pcm/README.md) | [Kinorwe](../no/README.md) | [Kifarsi (Farsi)](../fa/README.md) | [Kipolishi](../pl/README.md) | [Kireno (Brazil)](../pt-BR/README.md) | [Kireno (Portugal)](../pt-PT/README.md) | [Kipunjabi (Gurmukhi)](../pa/README.md) | [Kiromania](../ro/README.md) | [Kirusi](../ru/README.md) | [Kiserbia (Cyrillic)](../sr/README.md) | [Kislovakia](../sk/README.md) | [Kislovenia](../sl/README.md) | [Kihispania](../es/README.md) | [Kiswahili](./README.md) | [Kiswidi](../sv/README.md) | [Kitagalog (Kifilipino)](../tl/README.md) | [Kitamili](../ta/README.md) | [Kitelugu](../te/README.md) | [Kithai](../th/README.md) | [Kituruki](../tr/README.md) | [Kiukraini](../uk/README.md) | [Kiurdu](../ur/README.md) | [Kivietinamu](../vi/README.md)
> **Unapendelea Kukopa Mahali Pako?**
> Hifadhidata hii ina tafsiri za lugha 50+ ambazo huongeza sana ukubwa wa kupakua. Ili kukopa bila tafsiri, tumia sparse checkout:
> **Unapendelea Kuiga Kwenye Kompyuta Binafsi?**
>
> Hifadhi hii ina tafsiri zaidi ya 50 za lugha ambazo huongeza sana ukubwa wa kupakua. Ili kuiga bila tafsiri, tumia 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'
> ```
> Hii itakupatia kila kitu unachohitaji kukamilisha kozi hii kwa kupakua haraka zaidi.
>
> **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"
> ```
>
> Hii inakupa kila unachohitaji kumaliza kozi kwa kupakua kwa kasi zaidi.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Jiunge na Jamii Yetu
#### Jiunge na Jumuiya Yetu
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Tuna mfululizo wa kujifunza kwenye Discord ukihusisha AI, jifunze zaidi na ujiunge nasi kwenye [Mfululizo wa Kujifunza na AI](https://aka.ms/learnwithai/discord) kuanzia 18 - 30 Septemba, 2025. Utapokea vidokezo na mbinu za kutumia GitHub Copilot kwa Sayansi ya Data.
Tuna mfululizo wa kujifunza kwenye Discord na AI unaoendelea, jifunze zaidi na ujiunge nasi katika [Mfululizo wa Kujifunza na AI](https://aka.ms/learnwithai/discord) kuanzia 18 - 30 Septemba, 2025. Utapokea vidokezo na mbinu za kutumia GitHub Copilot kwa Sayansi ya Data.
![Learn with AI series](../../translated_images/sw/3.9b58fd8d6c373c20.webp)
![Mfululizo wa Kujifunza na AI](../../translated_images/sw/3.9b58fd8d6c373c20.webp)
# Kujifunza Mashine kwa Kompyuta kwa Waanzilishi - Mtaala
# Kujifunza Mashine kwa Waanzilishi - Mtaala
> 🌍 Tembea duniani kote tunapochunguza Kujifunza Mashine kupitia tamaduni za dunia 🌍
> 🌍 Safari duniani kote tunapoangalia Kujifunza Mashine kupitia tamaduni za dunia 🌍
Wafuasi wa Cloud Advocates wa Microsoft wana furaha kutoa mtaala wa wiki 12, somo 26 kuhusu **Kujifunza Mashine**. Katika mtaala huu, utajifunza kuhusu kile kinachoitwa mara nyingine **kujifunza mashine klassiki**, ukitumia hasa maktaba ya Scikit-learn na kuepuka deep learning, ambayo inashughulikiwa katika [mtaala wetu wa AI kwa Waanzilishi](https://aka.ms/ai4beginners). Pia weka masomo haya sambamba na mtaala wetu wa ['Sayansi ya Data kwa Waanzilishi'](https://aka.ms/ds4beginners).
Wakili wa Wingu wa Microsoft wanafurahi kutoa mtaala wa wiki 12, saba wa masomo 26 kuhusu **Kujifunza Mashine**. Katika mtaala huu, utajifunza kuhusu kile kinachoitwa wakati mwingine kama **kujifunza mashine ya kawaida**, ukitumia hasa maktaba ya Scikit-learn na kuepuka kujifunza kwa kina, ambacho kinashughulikiwa katika [mtaala wetu wa AI kwa Waanzilishi](https://aka.ms/ai4beginners). Pia sambaza masomo haya na mtaala wetu wa ['Sayansi ya Data kwa Waanzilishi'](https://aka.ms/ds4beginners)!
Tembea nasi duniani kote tunapotumia mbinu hizi klassiki kwenye data kutoka sehemu nyingi za dunia. Kila somo lina majaribio ya kabla na baada ya somo, maelekezo yaliyoandikwa kukamilisha somo, suluhisho, kazi ya nyumbani, na mengine zaidi. Mbinu yetu ya kujifunza kwa mradi inakuruhusu kujifunza huku ukiwa unajenga, njia thabiti ya kupata ujuzi mpya.
Safiri nasi duniani kote tunapotumia mbinu hizi za kawaida kwa data kutoka sehemu nyingi za dunia. Kila somo lina maswali ya kabla na baada ya somo, maelekezo maandishi ya kukamilisha somo, suluhisho, kazi, na zaidi. Mbinu yetu ya kufundishakwa kupitia mradi inakuwezesha kujifunza ukiendelea kujenga, njia iliyothibitishwa ya kuimarisha ujuzi mpya.
**✍️ Shukrani za dhati kwa waandishi wetu** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu na Amy Boyd
**✍️ Shukrani kwa wapenzi wetu wa maandishi** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu na Amy Boyd
**🎨 Pia shukrani kwa wachoraji wetu** Tomomi Imura, Dasani Madipalli, na Jen Looper
**🎨 Shukrani pia kwa wachora picha wetu** Tomomi Imura, Dasani Madipalli, na Jen Looper
**🙏 Shukrani maalum 🙏 kwa waandishi, wakaguzi, na wachangiaji wa maudhui wa Microsoft Student Ambassador**, hasa Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, na Snigdha Agarwal
**🤩 Asante zaidi kwa Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, na Vidushi Gupta kwa masomo yetu ya R!**
**🤩 Asante sana kwa Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, na Vidushi Gupta kwa masomo yetu ya R!**
# Kuanzia
# Kuanza
Fuata hatua hizi:
1. **Fanya Fork ya Hifadhidata**: Bonyeza kitufe cha "Fork" upande wa juu kulia wa ukurasa huu.
2. **Kopa Hifadhidata**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
1. **Tengeneza Fork ya Repositori**: Bonyeza kitufe cha "Fork" kilicho kona ya juu kulia ya ukurasa huu.
2. **Sogeza Repositori**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [pata rasilimali zote za ziada za kozi hii katika mkusanyiko wetu wa Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [pata rasilimali zote za ziada kwa kozi hii katika mkusanyiko wetu wa Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Unahitaji msaada?** Angalia [Mwongozo wa Kutatua Matatizo](TROUBLESHOOTING.md) kwa suluhisho za matatizo yanayojirudia kwenye usakinishaji, usanidi, na kuendesha masomo.
> 🔧 **Unahitaji msaada?** Angalia [Mwongozo wa Utatuzi wa Matatizo](TROUBLESHOOTING.md) kwa suluhisho za matatizo ya kawaida kuhusu usakinishaji, usanidi, na kuendesha masomo.
**[Wanafunzi](https://aka.ms/student-page)**, kutumia mtaala huu, fanya fork ya repozitori yote kwenye akaunti yako ya GitHub na kamilisha mazoezi peke yako au na kikundi:
**[Wanafunzi](https://aka.ms/student-page)**, ili kutumia mtaala huu, tengeneza fork ya repo yote kwenye akaunti yako ya GitHub na maliza mazoezi mwenyewe au na kundi:
- Anza na jaribio kabla ya somo.
- Soma somo na kamilisha shughuli, simama na fikiria kila kipimo cha maarifa.
- Jaribu kutengeneza miradi kwa kuelewa masomo badala ya kuendesha msimbo wa suluhisho; hata hivyo msimbo huo upo katika folda za `/solution` katika kila somo linalojikita kwenye mradi.
- Fanya jaribio baada ya somo.
- Kamilisha changamoto.
- Kamilisha kazi ya nyumbani.
- Baada ya kukamilisha kundi la masomo, tembelea [Bodi ya Majadiliano](https://github.com/microsoft/ML-For-Beginners/discussions) na "jifunze kwa sauti" kwa kujaza PAT rubric inayofaa. 'PAT' ni Chombo cha Tathmini ya Maendeleo ambacho ni rubric unayojaza ili kuendeleza kujifunza kwako. Unaweza pia kutoa maoni juu ya PAT nyingine ili tujifunze pamoja.
- Anza na mtihani wa kabla ya mihadhara.
- Soma mihadhara na maliza shughuli, simama na fikiria kila ukaguzi wa maarifa.
- Jaribu kuunda miradi kwa kuelewa masomo badala ya kuendesha msimbo wa suluhisho; hata hivyo msimbo huo upo katika folda `/solution` katika kila somo linalozunguka mradi.
- Fanya mtihani wa baada ya mihadhara.
- Maliza changamoto.
- Maliza kazi.
- Baada ya kumaliza kundi la masomo, tembelea [Bodi ya Majadiliano](https://github.com/microsoft/ML-For-Beginners/discussions) na "fundika kwa sauti" kwa kujaza rubriki ya PAT inayofaa. 'PAT' ni Chombo cha Tathmini cha Maendeleo ambacho ni rubriki unayojaza ili kukuza mchakato wa kujifunza. Unaweza pia kutoa maoni kwa PAT za wengine ili tuiwezeshe kujifunza pamoja.
> Kwa masomo zaidi, tunapendekeza kufuata moduli na njia za kujifunza hizi za [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
> Kwa masomo zaidi, tunapendekeza kufuata [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) moduli na njia za kujifunza.
**Walimu**, tumetoa [mapendekezo kadhaa](for-teachers.md) kuhusu jinsi ya kutumia mtaala huu.
**Walimu**, tumepakua baadhi ya mapendekezo [hapa](for-teachers.md) kuhusu jinsi ya kutumia mtaala huu.
---
## Video za Maelekezo
## Video za kufuatilia
Baadhi ya masomo yanapatikana kama video fupi. Unaweza kupata yote haya ndani ya masomo, au kwenye [orodha ya video za ML kwa Waanzilishi kwenye channel ya Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) kwa kubonyeza picha hapa chini.
Baadhi ya masomo yanapatikana kama video fupi. Unaweza kuyapata yote haya ndani ya masomo, au kwenye [mfuatiliaji wa ML kwa Waanzilishi kwenye akaunti ya Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) kwa kubonyeza picha chini.
[![ML for beginners banner](../../translated_images/sw/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
[![Bango la ML kwa waanzilishi](../../translated_images/sw/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## Kutana na Timu
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
[![Video ya utangazaji](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif na** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
@ -97,68 +107,68 @@ Baadhi ya masomo yanapatikana kama video fupi. Unaweza kupata yote haya ndani ya
## Mbinu ya Kufundisha
Tumechagua mbinu mbili za kufundisha wakati wa kujenga mtaala huu: kuhakikisha ni **mradi unaotekelezwa kwa mikono** na kwamba unajumuisha **mara kwa mara quizzes**. Zaidi ya hayo, mtaala huu una **kauli mbiu** ya pamoja kwa kumuunganisha.
Tumekuja na kanuni mbili za kielimu wakati wa kujenga mtaala huu: kuhakikisha kwamba ni wa vitendo na **unategemea mradi** na kwamba unajumuisha **maswali ya mara kwa mara**. Zaidi ya hayo, mtaala huu una **kauli mbiu** ya pamoja kutoa muunganiko.
Kwa kuhakikisha maudhui yanaendana na miradi, mchakato unakuwa wa kuvutia zaidi kwa wanafunzi na kunahakikisha wazo la dhahania linakumbukwa. Zaidi ya hayo, jaribio la chini ya mzigo kabla ya darasa linaweka nia ya mwanafunzi kuelekea kujifunza mada, wakati jaribio la pili baada ya darasa linahakikisha kumbukumbu zaidi. Mtaala huu umeundwa kuwa rahisi kubadilika na kufurahisha na unaweza kufuatwa kwa jumla au sehemu. Miradi inaanza mdogo na kuwa ngumu zaidi mwishoni mwa mzunguko wa wiki 12. Mtaala huu pia unajumuisha maelezo ya matumizi halisi ya ML, ambayo yanaweza kutumika kama alama ya ziada au msingi wa majadiliano.
Kwa kuhakikisha maudhui yanaendana na miradi, mchakato unakuwa wa kuvutia kwa wanafunzi na kufanikisha kumbukumbu ya dhana. Zaidi ya hayo, mtihani wa chini wa hatari kabla ya darasa unaweka nia ya mwanafunzi kuelekea kujifunza mada, huku mtihani wa pili baada ya darasa unaongeza kumbukumbu zaidi. Mtaala huu umetengenezwa kuwa rahisi na wa kufurahisha na unaweza kuchukuliwa kikamilifu au kwa sehemu. Miradi huanza kwa urahisi na kuendelea kuwa magumu hatua kwa hatua mwishoni mwa mzunguko wa wiki 12. Mtaala huu pia unajumuisha maandishi ya ziada kuhusu matumizi halisi ya ML, ambayo inaweza kutumika kama mkopo wa ziada au msingi wa majadiliano.
> Tafuta [Kanuni Zetu za Maadili](CODE_OF_CONDUCT.md), [Mchango](CONTRIBUTING.md), [Tafsiri](TRANSLATIONS.md), na [Kutatua Matatizo](TROUBLESHOOTING.md). Tunakaribisha maoni yako ya kujenga!
> Tafuta [Kanuni zetu za Maadili](CODE_OF_CONDUCT.md), [Michango](CONTRIBUTING.md), [Tafsiri](TRANSLATIONS.md), na [Utatuzi wa Matatizo](TROUBLESHOOTING.md). Tunakaribisha maoni yako ya kujenga!
## Kila somo linajumuisha
- chati ya sketchnote kwa hiari
- video za ziada kwa hiari
- video ya maelekezo (masomo mengine pekee)
- [jaribio la joto kabla ya somo](https://ff-quizzes.netlify.app/en/ml/)
- chaguo la sketchnote
- video ya ziada chaguo
- video ya kufuatilia (masomo mengine tu)
- [mtihani wa kuanzisha kabla ya mihadhara](https://ff-quizzes.netlify.app/en/ml/)
- somo lililoandikwa
- kwa masomo yanayojikita kwenye mradi, mwongozo wa hatua kwa hatua wa jinsi ya kujenga mradi
- vipimo vya maarifa
- kwa masomo yanayojikita kwenye mradi, maelekezo ya hatua kwa hatua ya jinsi ya kujenga mradi
- ukaguzi wa maarifa
- changamoto
- somo la ziada
- kazi ya nyumbani
- [jaribio baada ya somo](https://ff-quizzes.netlify.app/en/ml/)
> **Tafadhali kuhusu lugha**: Masomo haya huandikwa hasa kwa Python, lakini mengi yanaweza kupatikana pia kwa R. Ili kumaliza somo la R, nenda kwenye folda ya `/solution` na tatua masomo ya R. Yana kiambatisho cha .rmd kinachoashiria faili ya **R Markdown** ambayo inaweza kueleweka kama jalada la `vipande vya msimbo` (ya R au lugha nyingine) na `kichwa cha YAML` (kinachoongoza jinsi ya kuitengeneza matokeo kama PDF) katika `nyaraka za Markdown`. Kwa hiyo, ni mfumo bora wa uandishi kwa sayansi ya data kwa sababu hukuruhusu kuunganisha msimbo wako, matokeo yake, na mawazo yako kwa kuyaratibu kwa Markdown. Zaidi ya hayo, nyaraka za R Markdown zinaweza kutengenezwa kuwa aina mbalimbali za matokeo kama PDF, HTML, au Word.
> **Kumbuka kuhusu mitihani ya maarifa**: Mitihani yote iko ndani ya [Folda ya Programu ya Mitihani](../../quiz-app), kwa jumla ya mitihani 52 yenye maswali matatu kila moja. Imeunganishwa ndani ya masomo lakini programu ya mitihani inaweza kuendeshwa kwa ndani; fuata maelekezo katika folda ya `quiz-app` ili kuiendesha au kuiweka moja kwa moja Azure.
| Nambari ya Somo | Mada | Kikundi cha Somo | Malengo ya Kujifunza | Somo Linalounganishwa | Mwandishi |
| :-------------: | :--------------------------------------------------------------: | :--------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Utangulizi wa ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Jifunze dhana msingi nyuma ya ujifunzaji wa mashine | [Somo](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historia ya ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Jifunze historia inayosimamia uwanja huu | [Somo](1-Introduction/2-history-of-ML/README.md) | Jen na Amy |
| 03 | Usawa na ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Ni masuala gani muhimu ya kifalsafa kuhusu usawa ambayo wanafunzi wanapaswa kuyazingatia wakati wa kujenga na kutumia mifano ya ML? | [Somo](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Mbinu za ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Ni mbinu gani wanazotumia watafiti wa ML kujenga mifano ya ML? | [Somo](1-Introduction/4-techniques-of-ML/README.md) | Chris na Jen |
| 05 | Utangulizi wa urekebishaji | [Urekebishaji](2-Regression/README.md) | Anza na Python na Scikit-learn kwa mifano ya urekebishaji | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Bei za malenge ya Amerika Kaskazini 🎃 | [Urekebishaji](2-Regression/README.md) | Onyesha na safisha data kwa ajili ya ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Bei za malenge ya Amerika Kaskazini 🎃 | [Urekebishaji](2-Regression/README.md) | Jenga mifano ya urekebishaji wa mstari na polynomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen na Dmitry • Eric Wanjau |
| 08 | Bei za malenge ya Amerika Kaskazini 🎃 | [Urekebishaji](2-Regression/README.md) | Jenga mfano wa urekebishaji wa logistic | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Programu ya Mtandao 🔌 | [Programu ya Mtandao](3-Web-App/README.md) | Jenga programu ya mtandao kutumia mfano uliyofundishwa | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Utangulizi wa upangaji wa makundi | [Upangaji wa Makundi](4-Classification/README.md) | Safisha, andaa, na onyesha data yako; utangulizi wa upangaji wa makundi | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen na Cassie • Eric Wanjau |
| 11 | Ladha tamu za Asia na India 🍜 | [Upangaji wa Makundi](4-Classification/README.md) | Utangulizi wa wapangaji wa makundi | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen na Cassie • Eric Wanjau |
| 12 | Ladha tamu za Asia na India 🍜 | [Upangaji wa Makundi](4-Classification/README.md) | Wapangaji wa makundi zaidi | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen na Cassie • Eric Wanjau |
| 13 | Ladha tamu za Asia na India 🍜 | [Upangaji wa Makundi](4-Classification/README.md) | Jenga programu ya mtandao ya kupendekeza kwa kutumia mfano wako | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Utangulizi wa ugawaji kundi | [Ugawaji Kundi](5-Clustering/README.md) | Safisha, andaa, na onyesha data yako; utangulizi wa ugawaji kundi | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Kuchunguza Ladha za Muziki za Nigeria 🎧 | [Ugawaji Kundi](5-Clustering/README.md) | Chunguza mbinu ya ugawaji kundi wa 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 | Utangulizi wa usindikaji wa lugha asilia ☕️ | [Usindikaji wa Lugha Asilia](6-NLP/README.md) | Jifunze misingi ya NLP kwa kujenga bot rahisi | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Kazi za kawaida za NLP ☕️ | [Usindikaji wa Lugha Asilia](6-NLP/README.md) | Zidisha ujuzi wako wa NLP kwa kuelewa kazi za kawaida zinazohitajika wakati wa kushughulika na miundo ya lugha | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tafsiri na uchambuzi wa hisia ♥️ | [Usindikaji wa Lugha Asilia](6-NLP/README.md) | Tafsiri na uchambuzi wa hisia na Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hoteli za kimapenzi za Ulaya ♥️ | [Usindikaji wa Lugha Asilia](6-NLP/README.md) | Uchambuzi wa hisia kwa mapitio ya hoteli 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hoteli za kimapenzi za Ulaya ♥️ | [Usindikaji wa Lugha Asilia](6-NLP/README.md) | Uchambuzi wa hisia kwa mapitio ya hoteli 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Utangulizi wa utabiri wa mfululizo wa wakati | [Mfululizo wa Wakati](7-TimeSeries/README.md) | Utangulizi wa utabiri wa mfululizo wa wakati | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Matumizi ya Nguvu Duniani ⚡️ - utabiri wa mfululizo wa wakati na ARIMA | [Mfululizo wa Wakati](7-TimeSeries/README.md) | Utabiri wa mfululizo wa wakati kwa kutumia ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Matumizi ya Nguvu Duniani ⚡️ - utabiri wa mfululizo wa wakati na SVR | [Mfululizo wa Wakati](7-TimeSeries/README.md) | Utabiri wa mfululizo wa wakati kwa kutumia Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Utangulizi wa ujifunzaji wa kuimarisha | [Ujifunzaji wa Kuimarisha](8-Reinforcement/README.md) | Utangulizi wa ujifunzaji wa kuimarisha kwa kutumia Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Msaada kwa Peter kuepuka mbwa mwitu! 🐺 | [Ujifunzaji wa Kuimarisha](8-Reinforcement/README.md) | Gym ya ujifunzaji wa kuimarisha | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Hali halisi za ML na matumizi yake | [ML porini](9-Real-World/README.md) | Matumizi yenye kuvutia na kufunua ya ML ya kihistoria | [Somo](9-Real-World/1-Applications/README.md) | Timu |
| Postscript | Urekebishaji wa Mfano katika ML kwa kutumia dashibodi ya RAI | [ML porini](9-Real-World/README.md) | Urekebishaji wa Mfano katika Ujifunzaji wa Mashine kwa kutumia vipengele vya dashibodi ya Responsible AI | [Somo](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [pata rasilimali zote za ziada kwa kozi hii katika mkusanyiko wetu wa Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Upatikanaji wa nje ya mtandao
Unaweza kuendesha hati hii nje ya mtandao kwa kutumia [Docsify](https://docsify.js.org/#/). Toa nakala ya repo hii, [weka Docsify](https://docsify.js.org/#/quickstart) kwenye mashine yako ya ndani, kisha katika folda ya mzizi ya repo hii, andika `docsify serve`. Tovuti itakuwa inatolewa kwenye bandari 3000 kabisa akaunti yako ya localhost: `localhost:3000`.
## PDF
Pata pdf ya mtaala yenye viungo [hapa](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
- usomaji wa ziada
- kazi
- [mtihani baada ya mihadhara](https://ff-quizzes.netlify.app/en/ml/)
> **Kumbuka kuhusu lugha**: Masomo haya yameandikwa hasa kwa Python, lakini mengi pia yanapatikana kwa R. Ili kumaliza somo la R, nenda kwenye folda ya `/solution` na tafuta masomo ya R. Yanajumuisha kiambishi .rmd ambacho kinawakilisha faili la **R Markdown** ambalo linaweza kuelezwa kama kuingiza `vipande vya msimbo` (vya R au lugha nyingine) na `kichwa cha YAML` (ambacho kinaongoza jinsi ya kuunda matokeo kama PDF) katika `nyaraka za Markdown`. Kwa hivyo, hutumika kama fremu bora ya kuandika kwa sayansi ya data kwa sababu inakuwezesha kuunganisha msimbo wako, matokeo yake, na mawazo yako kwa kuweza kuyaandika kwa Markdown. Zaidi ya hayo, nyaraka za R Markdown zinaweza kutafsiriwa hadi katika aina mbalimbali za matokeo kama PDF, HTML, au Word.
> **Kumbuka kuhusu maswali ya mtihani**: Maswali yote ya mtihani yapo katika [folda ya Quiz App](../../quiz-app), kwa maswali 52 jumla yenye maswali matatu kila moja. Yameunganishwa ndani ya masomo lakini programu ya mtihani inaweza kutekelezwa ndani ya eneo lako; fuata maelekezo katika folda ya `quiz-app` kwa mwenyeji wa ndani au kupeleka kwa Azure.
| Nambari ya Somo | Mada | Kikundi cha Somo | Malengo ya Kujifunza | Somo Lililounganishwa | Mwandishi |
| :-------------: | :----------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| 01 | Utangulizi wa ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Jifunze dhana msingi nyuma ya ujifunzaji wa mashine | [Somo](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historia ya ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Jifunze historia inayohusiana na eneo hili | [Somo](1-Introduction/2-history-of-ML/README.md) | Jen na Amy |
| 03 | Usawa na ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Masuala muhimu ya kifalsafa kuhusu usawa ambayo wanafunzi wanapaswa kuyazingatia wanapojenga na kutumia mifano ya ML? | [Somo](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Mbinu za ujifunzaji wa mashine | [Utangulizi](1-Introduction/README.md) | Ni mbinu gani watafiti wa ML hutumia kujenga mifano ya ML? | [Somo](1-Introduction/4-techniques-of-ML/README.md) | Chris na Jen |
| 05 | Utangulizi wa regression | [Regression](2-Regression/README.md) | Anza kutumia Python na Scikit-learn kwa mifano ya regression | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Bei za malenge Amerika Kaskazini 🎃 | [Regression](2-Regression/README.md) | Chora na safisha data kwa maandalizi ya ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Bei za malenge Amerika Kaskazini 🎃 | [Regression](2-Regression/README.md) | Jenga mifano ya regression ya mstari na polynomial | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen na Dmitry • Eric Wanjau |
| 08 | Bei za malenge Amerika Kaskazini 🎃 | [Regression](2-Regression/README.md) | Jenga mfano wa regression ya logistic | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | App ya Mtandao 🔌 | [Web App](3-Web-App/README.md) | Jenga app ya mtandao kutumia mfano wako uliyoungwa | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Utangulizi wa ugawaji (classification) | [Classification](4-Classification/README.md) | Safisha, andaa na chora data zako; utangulizi wa ugawaji | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen na Cassie • Eric Wanjau |
| 11 | Vyakula tamu vya Asia na India 🍜 | [Classification](4-Classification/README.md) | Utangulizi wa watoaji maamuzi | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen na Cassie • Eric Wanjau |
| 12 | Vyakula tamu vya Asia na India 🍜 | [Classification](4-Classification/README.md) | Watoaji maamuzi zaidi | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen na Cassie • Eric Wanjau |
| 13 | Vyakula tamu vya Asia na India 🍜 | [Classification](4-Classification/README.md) | Jenga app ya mtandao ya kupendekeza ukitumia mfano wako | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Utangulizi wa usambazaji (clustering) | [Clustering](5-Clustering/README.md) | Safisha, andaa na chora data zako; Utangulizi wa usambazaji | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Kuchunguza Ladha ya Muziki wa Nigeria 🎧 | [Clustering](5-Clustering/README.md) | Chunguza mbinu ya usambazaji ya 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 | Utangulizi wa usindikaji wa lugha asilia ☕️ | [Natural language processing](6-NLP/README.md) | Jifunze misingi ya NLP kwa kujenga bot rahisi | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Kazi za kawaida za NLP ☕️ | [Natural language processing](6-NLP/README.md) | Zidisha maarifa yako ya NLP kwa kuelewa kazi za kawaida zinazohitajika kushughulikia miundo ya lugha | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tafsiri na uchambuzi wa hisia ♥️ | [Natural language processing](6-NLP/README.md) | Tafsiri na uchambuzi wa hisia kwa Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hoteli za kimapenzi za Ulaya ♥️ | [Natural language processing](6-NLP/README.md) | Uchambuzi wa hisia na maoni ya hoteli 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hoteli za kimapenzi za Ulaya ♥️ | [Natural language processing](6-NLP/README.md) | Uchambuzi wa hisia na maoni ya hoteli 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Utangulizi wa utabiri wa mfululizo wa nyakati | [Time series](7-TimeSeries/README.md) | Utangulizi wa utabiri wa mfululizo wa nyakati | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Matumizi ya Nguvu Duniani ⚡️ - utabiri wa nyakati na ARIMA | [Time series](7-TimeSeries/README.md) | Utabiri wa mfululizo wa nyakati kwa kutumia ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Matumizi ya Nguvu Duniani ⚡️ - utabiri wa nyakati na SVR | [Time series](7-TimeSeries/README.md) | Utabiri wa mfululizo wa nyakati kwa kutumia Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Utangulizi wa ujifunzaji wa kuimarisha | [Reinforcement learning](8-Reinforcement/README.md) | Utangulizi wa ujifunzaji wa kuimarisha kwa kutumia Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Msaada kwa Peter kuhakikisha apelekwe mbali na mbwa mwitu! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Gym ya ujifunzaji wa kuimarisha | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Hali halisi na matumizi ya ML | [ML in the Wild](9-Real-World/README.md) | Matumizi ya kuvutia na wazi ya ML ya kawaida katika ulimwengu halisi | [Somo](9-Real-World/1-Applications/README.md) | Timu |
| Postscript | Kurekebisha mifano ya ML kwa kutumia dashibodi ya RAI | [ML in the Wild](9-Real-World/README.md) | Kurekebisha mifano ya Machine Learning kwa kutumia vipengele vya dashibodi ya Responsible AI | [Somo](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [tafuta rasilimali zote za ziada kwa kozi hii katika mkusanyiko wetu wa Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Upatikanaji bila mtandao
Unaweza kuendesha hati hii bila mtandao kwa kutumia [Docsify](https://docsify.js.org/#/). Fanya kopi ya repozitori hii, [weka Docsify](https://docsify.js.org/#/quickstart) kwenye mashine yako ya nyumbani, kisha katika folda kuu ya repozitori hii, andika `docsify serve`. Tovuti itahudumiwa kwenye bandari 3000 kwenye localhost yako: `localhost:3000`.
## PDFs
Tafuta pdf ya mitaala na viungo [hapa](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Kozi Nyingine
@ -167,24 +177,24 @@ Timu yetu hutengeneza kozi nyingine! Angalia:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j kwa Waanzilishi](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js kwa Waanzilishi](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain kwa Waanzilishi](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / Wakala
[![AZD kwa Waanzilishi](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 kwa Waanzilishi](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 kwa Waanzilishi](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)
[![Maagenti wa AI kwa Waanzilishi](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)
---
### Mfululizo wa AI ya Kizazi
[![Generative AI kwa Waanzilishi](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Mfululizo wa AI Jenereta
[![AI Jenereta kwa Waanzilishi](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)
[![AI Jenereta (.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)
[![AI Jenereta (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)
[![AI Jenereta (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)
---
@ -193,31 +203,36 @@ Timu yetu hutengeneza kozi nyingine! Angalia:
[![Sayansi ya Data kwa Waanzilishi](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI kwa Waanzilishi](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)
[![Usalama wa Mtandao kwa Waanzilishi](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)
[![Maendeleo ya Wavuti kwa Waanzilishi](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)
[![Uendelezaji wa Tovuti kwa Waanzilishi](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT kwa Waanzilishi](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)
[![Maendeleo ya XR kwa Waanzilishi](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)
[![Uendelezaji wa XR kwa Waanzilishi](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)
---
### Mfululizo wa Copilot
[![Copilot kwa Uandishi wa Pamoja wa AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot kwa Uprogramu wa Pamoja wa AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot kwa C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Adventure ya Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![Shughuli za Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Kupata Msaada
Ikiwa unakwama au una maswali yoyote kuhusu kujenga programu za AI. Jiunge na wanafunzi wenzako na waendelezaji wenye uzoefu katika mijadala kuhusu MCP. Ni jamii yenye msaada ambapo maswali yanakaribishwa na maarifa hushirikiana kwa uhuru.
Ikiwa unakwama au una maswali kuhusu kujenga programu za AI. Jiunge na wanafunzi wenzao na waendelezaji wenye uzoefu katika mijadala kuhusu MCP. Ni jamii inayounga mkono ambapo maswali yanakaribishwa na maarifa yanashirikiwa kwa uhuru.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Ikiwa una maoni kuhusu bidhaa au makosa wakati wa kujenga tembelea:
Ikiwa una maoni juu ya bidhaa au makosa wakati wa kujenga tembelea:
[![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)
## Vidokezo Zaidi vya Kujifunza
- Kagua dahari baada ya somo kila moja kwa kuelewa zaidi.
- Fanya mazoezi ya kutekeleza algorithms wewe mwenyewe.
- Chunguza seti halisi za data ukitumia dhana ulizojifunza.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tangazo la Kutojihusisha**:
Nyaraka hii imetatuliwa kwa kutumia huduma ya kutafsiri kwa AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kupata usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Nyaraka asilia katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatubeba dhamana kwa maana potofu au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
**Tangazo la Msamaha**:
Nyaraka hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatika zinaweza kuwa na makosa au taarifa zisizo sahihi. Nyaraka asilia katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo halali. Kwa taarifa muhimu, tafsiri ya kitaalamu iliyofanywa na binadamu inapendekezwa. Hatuwajibiki kwa kutoelewana au tafsiri potofu zitokanazo na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save