diff --git a/translations/hr/.co-op-translator.json b/translations/hr/.co-op-translator.json index 96bf509c1..af4d50a68 100644 --- a/translations/hr/.co-op-translator.json +++ b/translations/hr/.co-op-translator.json @@ -90,8 +90,8 @@ "language_code": "hr" }, "2-Regression/3-Linear/README.md": { - "original_hash": "9a8359f1945bd3beccccb2b46592580e", - "translation_date": "2026-02-28T09:48:29+00:00", + "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", + "translation_date": "2026-04-20T19:13:53+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "hr" }, @@ -168,8 +168,8 @@ "language_code": "hr" }, "4-Classification/2-Classifiers-1/README.md": { - "original_hash": "1a6e9e46b34a2e559fbbfc1f95397c7b", - "translation_date": "2025-09-05T13:04:51+00:00", + "original_hash": "cb761595e5b6c42b99bb81bd13683311", + "translation_date": "2026-04-20T19:14:46+00:00", "source_file": "4-Classification/2-Classifiers-1/README.md", "language_code": "hr" }, @@ -552,8 +552,8 @@ "language_code": "hr" }, "README.md": { - "original_hash": "7fb48097f57e680b380cd9aae988d317", - "translation_date": "2026-04-06T17:27:33+00:00", + "original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0", + "translation_date": "2026-04-20T19:12:30+00:00", "source_file": "README.md", "language_code": "hr" }, diff --git a/translations/hr/2-Regression/3-Linear/README.md b/translations/hr/2-Regression/3-Linear/README.md index f8fc33838..82404bc3d 100644 --- a/translations/hr/2-Regression/3-Linear/README.md +++ b/translations/hr/2-Regression/3-Linear/README.md @@ -1,136 +1,136 @@ -# Izgradite regresijski model koristeći Scikit-learn: regresija na četiri načina +# Izgradnja regresijskog modela pomoću Scikit-learn: četiri načina regresije -## Bilješka za početnike +## Napomena za početnike -Linearna regresija se koristi kada želimo predvidjeti **numeričku vrijednost** (na primjer, cijenu kuće, temperaturu ili prodaju). -Radi tako da pronalazi pravu liniju koja najbolje predstavlja odnos između ulaznih značajki i izlaza. +Linearna regresija se koristi kada želimo predvidjeti **numeričku vrijednost** (na primjer, cijenu kuće, temperaturu ili prodaju). +Funkcionira tako da pronalazi pravu koja najbolje predstavlja odnos između ulaznih značajki i izlaza. -U ovom dijelu fokusiramo se na razumijevanje koncepta prije nego što istražimo naprednije tehnike regresije. -![Infografika linearne nasuprot polinomnoj regresiji](../../../../translated_images/hr/linear-polynomial.5523c7cb6576ccab.webp) -> Infografika od [Dasani Madipalli](https://twitter.com/dasani_decoded) -## [Kviz prije predavanja](https://ff-quizzes.netlify.app/en/ml/) +U ovoj lekciji se fokusiramo na razumijevanje koncepta prije nego što istražimo naprednije tehnike regresije. +![Linear vs polynomial regression infographic](../../../../translated_images/hr/linear-polynomial.5523c7cb6576ccab.webp) +> Infografika autora [Dasani Madipalli](https://twitter.com/dasani_decoded) +## [Kviz prije lekcije](https://ff-quizzes.netlify.app/en/ml/) -> ### [Ovaj je lekciju dostupan i u R-u!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) -### Uvod +> ### [Ova je lekcija dostupna i u R-u!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) +### Uvod -Do sada ste istraživali što je regresija koristeći uzorak podataka prikupljenih iz skupa podataka o cijenama bundeva kojeg koristimo kroz cijelu ovu lekciju. Također ste ga vizualizirali koristeći Matplotlib. +Do sada ste istraživali što je regresija koristeći uzorke podataka prikupljenih iz skupa podataka o cijenama bundeva koje ćemo koristiti kroz cijelu ovu lekciju. Također ste ih vizualizirali pomoću Matplotlib. -Sada ste spremni dublje zaroniti u regresiju za ML. Dok vizualizacija omogućuje razumijevanje podataka, prava moć strojnog učenja dolazi iz _treniranja modela_. Modeli se treniraju na povijesnim podacima kako bi automatski uhvatili ovisnosti podataka, i omogućuju vam da predviđate ishode za nove podatke koje model ranije nije vidio. +Sada ste spremni dublje zaroniti u regresiju za ML. Dok vizualizacija omogućuje razumijevanje podataka, prava snaga strojnog učenja dolazi iz _treninga modela_. Modeli se treniraju na povijesnim podacima kako bi automatski uhvatili ovisnosti u podacima i omogućuju predviđanje ishoda za nove podatke koje model prije nije vidio. -U ovoj lekciji naučit ćete više o dvije vrste regresije: _osnovna linearna regresija_ i _polinomna regresija_, zajedno s dijelom matematike koja stoji iza ovih tehnika. Ti modeli će nam omogućiti predviđanje cijene bundeva ovisno o različitim ulaznim podacima. +U ovoj lekciji ćete naučiti više o dvije vrste regresije: _osnovna linearna regresija_ i _polinomijalna regresija_, zajedno s dijelom matematike koja stoji iza tih tehnika. Ti modeli će nam omogućiti predviđanje cijena bundeva ovisno o različitim ulaznim podacima. -[![ML za početnike - Razumijevanje linearne regresije](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") +[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") -> 🎥 Kliknite na slikovnu poveznicu za kratki video pregled linearne regresije. +> 🎥 Kliknite na sliku gore za kratak video pregled linearne regresije. -> Kroz ovaj kurikulum pretpostavljamo minimalno matematičko znanje i nastojimo ga učiniti pristupačnim studentima iz drugih područja, pa pripazite na napomene, 🧮 objašnjenja, dijagrame i druge alate za učenje koji pomažu razumijevanju. +> Kroz ovaj kurikulum pretpostavljamo minimalno znanje iz matematike i nastojimo ga učiniti dostupnim studentima iz drugih područja, stoga obratite pažnju na bilješke, 🧮 oznake, dijagrame i druge nastavne alate koji pomažu u razumijevanju. ### Preduvjeti -Do sada biste trebali biti upoznati sa strukturom podataka o bundevama koje proučavamo. Možete ih pronaći predinstalirane i predobrijeđene u _notebook.ipynb_ datoteci ove lekcije. U datoteci se prikazuje cijena bundeve po bushelu u novom okviru podataka. Provjerite da možete pokrenuti ove bilježnice u Visual Studio Code kernelima. +Sada biste trebali biti upoznati sa strukturom podataka o bundevama koje promatramo. One su unaprijed učitane i očišćene u datoteci _notebook.ipynb_ ove lekcije. U datoteci je cijena bundeve prikazana po košari. Provjerite da možete pokretati ove bilježnice u kernelima u Visual Studio Codeu. ### Priprema -Kao podsjetnik, učitavate ove podatke kako biste ih mogli ispitivati. +Kao podsjetnik, učitavate ove podatke kako biste mogli postavljati pitanja o njima. -- Kada je najbolje vrijeme za kupnju bundeva? -- Koju cijenu mogu očekivati za paket minijaturnih bundeva? -- Trebam li ih kupiti u košarama od pola bushela ili u kutiji od 1 1/9 bushela? -Nastavimo s ispitivanjem ovih podataka. +- Kada je najbolje vrijeme za kupnju bundeva? +- Koju cijenu mogu očekivati za kutiju mini bundeva? +- Trebam li ih kupovati u košarama od pola bushela ili u kutiji od 1 1/9 bushela? +Nastavimo dalje kopati u ove podatke. -U prethodnoj ste lekciji kreirali Pandas okvir podataka i ispunili ga dijelom izvornog skupa podataka, standardizirajući cijene po bushelu. Međutim, učinili ste to samo za oko 400 podataka i samo za jesenske mjesece. +U prethodnoj lekciji ste napravili Pandas DataFrame i popunili ga dijelom izvornog skupa podataka, standardizirajući cijene po bushelu. Time ste uspjeli prikupiti oko 400 podataka samo za jesenske mjesece. -Pogledajte podatke koje smo predinstalirali u bilježnici ove lekcije. Podaci su učitani, a prikazan je početni scatterplot koji prikazuje podatke mjeseci. Možemo li možda dobiti malo više detalja o prirodi podataka čišćenjem? +Pogledajte podatke koje smo unaprijed učitali u pratećoj bilježnici za ovu lekciju. Podaci su unaprijed učitani i nacrtan je početni scatterplot koji prikazuje podatke po mjesecima. Možda možemo dobiti malo više detalja o prirodi podataka dodatnim čišćenjem. -## Linija linearne regresije +## Linearna regresijska crta -Kao što ste naučili u Lekciji 1, cilj linearne regresije je biti u stanju nacrtati liniju koja: +Kao što ste naučili u Lekciji 1, cilj linearne regresije je moći nacrtati liniju da: -- **Prikazuje odnose među varijablama**. Prikazuje odnos između varijabli -- **Daje predviđanja**. Točno predviđa gdje bi novi podatak pao u odnosu na tu liniju. +- **Prikaže odnose varijabli**. Prikaže odnos između varijabli +- **Napraviti predviđanja**. Precizno predvidjeti gdje će se novi podatak smjestiti u odnosu na tu liniju. -Tipično je za **metodu najmanjih kvadrata** crtanje takve linije. Pojam "najmanjih kvadrata" odnosi se na proces minimiziranja ukupne greške u našem modelu. Za svaku točku mjerimo vertikalnu udaljenost (nazvanu residuum) između stvarne točke i naše regresijske linije. +Tipično za **regresiju najmanjih kvadrata** je crtanje takve linije. Termin "najmanjih kvadrata" odnosi se na proces minimiziranja ukupne pogreške u našem modelu. Za svaku točku mjerimo vertikalnu udaljenost (zvanu rezidual) između stvarne točke i naše regresijske linije. -Te udaljenosti kvadriramo zbog dva glavna razloga: +Te udaljenosti kvadriramo iz dva glavna razloga: -1. **Magnitude nad smjerom:** Želimo tretirati grešku -5 isto kao i grešku +5. Kvadriranje sve vrijednosti čini pozitivnima. +1. **Veličina nasuprot smjeru:** Želimo tretirati pogrešku od -5 isto kao i pogrešku od +5. Kvadriranjem sve vrijednosti postaju pozitivne. -2. **Kaznjavanje odmetnika:** Kvadriranje daje veću težinu većim greškama, prisiljavajući liniju da ostane bliže udaljenim točkama. +2. **Kazna za odstupanja:** Kvadriranjem se daje veća težina većim pogreškama, tjerajući liniju da bude bliža točkama koje su daleko. -Zatim zbrojimo sve te kvadrirane vrijednosti. Naš cilj je pronaći točnu liniju gdje je taj konačni zbroj najmanji (najmanja moguća vrijednost)—otuda naziv "najmanjih kvadrata." +Zatim zbrojimo sve te kvadrirane vrijednosti. Cilj je pronaći specifičnu liniju za koju je taj konačni zbroj najmanji (najmanja moguća vrijednost)—otuda i naziv "najmanjih kvadrata". -> **🧮 Pokaži mi matematiku** -> -> Ta linija, nazvana _linija najboljeg pristajanja_, može se izraziti [jednadžbom](https://en.wikipedia.org/wiki/Simple_linear_regression): -> +> **🧮 Pokaži mi matematiku** +> +> Ova linija, nazvana _linijom najboljeg pristajanja_, može se izraziti [jednadžbom](https://en.wikipedia.org/wiki/Simple_linear_regression): +> > ``` > Y = a + bX > ``` -> -> `X` je 'objašnjavajuća varijabla'. `Y` je 'ovisna varijabla'. Nagib linije je `b`, a `a` je odsječak na y-osi, što se odnosi na vrijednost `Y` kada je `X = 0`. -> ->![izračunaj nagib](../../../../translated_images/hr/slope.f3c9d5910ddbfcf9.webp) -> -> Prvo, izračunajte nagib `b`. Infografika od [Jen Looper](https://twitter.com/jenlooper) -> -> Drugim riječima, i referirajući se na naše izvornog pitanje o bundevama: "predvidjeti cijenu bundeve po bushelu prema mjesecu", `X` bi se odnosilo na cijenu, a `Y` na mjesec prodaje. -> ->![dovrši jednadžbu](../../../../translated_images/hr/calculation.a209813050a1ddb1.webp) -> -> Izračunajte vrijednost Y. Ako plaćate oko 4 dolara, mora biti travanj! Infografika od [Jen Looper](https://twitter.com/jenlooper) -> -> Matematika koja izračunava liniju mora pokazati nagib linije, koji također ovisi o odsječku ili gdje se `Y` nalazi kada je `X = 0`. -> -> Metodu izračuna ovih vrijednosti možete promatrati na web stranici [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Također posjetite [ovaj kalkulator najmanjih kvadrata](https://www.mathsisfun.com/data/least-squares-calculator.html) da vidite kako vrijednosti brojeva utječu na liniju. +> +> `X` je 'objašnjavajuća varijabla'. `Y` je 'ovisna varijabla'. Nagib linije je `b` a `a` je y-presjek, što je vrijednost `Y` kad je `X = 0`. +> +>![izračun nagiba](../../../../translated_images/hr/slope.f3c9d5910ddbfcf9.webp) +> +> Prvo, izračunajte nagib `b`. Infografika autora [Jen Looper](https://twitter.com/jenlooper) +> +> Drugim riječima, i referirajući se na originalno pitanje naših podataka o bundevama: "predvidjeti cijenu bundeve po bushelu po mjesecu", `X` bi označavalo cijenu a `Y` mjesec prodaje. +> +>![dovršavanje jednadžbe](../../../../translated_images/hr/calculation.a209813050a1ddb1.webp) +> +> Izračunajte vrijednost Y. Ako plaćate oko 4 dolara, mora biti travanj! Infografika autora [Jen Looper](https://twitter.com/jenlooper) +> +> Matematika koja izračunava liniju mora pokazati nagib linije, koji također ovisi o presjeku, odnosno gdje se `Y` nalazi kada je `X = 0`. +> +> Metodu izračuna ovih vrijednosti možete proučiti na stranici [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Posjetite i [ovaj kalkulator najmanjih kvadrata](https://www.mathsisfun.com/data/least-squares-calculator.html) da vidite kako vrijednosti brojeva utječu na liniju. ## Korelacija -Još jedan pojam koji treba razumjeti jest **koeficijent korelacije** između zadanih X i Y varijabli. Koristeći scatterplot, brzo možete vizualizirati ovaj koeficijent. Grafikon s točkama raspoređenim uredno u liniji ima visoku korelaciju, dok grafikon s točkama raštrkanima posvuda između X i Y ima nisku korelaciju. +Još jedan pojam koji treba razumjeti je **koeficijent korelacije** između zadanih X i Y varijabli. Pomoću scatterplota možete brzo vizualizirati ovaj koeficijent. Grafikon s točkama razbacanim u lijepoj liniji ima visoku korelaciju, dok graf s točkama razbacanim posvuda između X i Y ima nisku korelaciju. -Dobar model linearne regresije bit će onaj koji ima visok (bliži 1 nego 0) koeficijent korelacije koristeći metodu najmanjih kvadrata s regresijskom linijom. +Dobar linearni regresijski model će imati visok koeficijent korelacije (bliži 1 nego 0) koristeći metodu najmanjih kvadrata s regresijskom linijom. -✅ Pokrenite bilježnicu uz ovu lekciju i pogledajte scatterplot Mjesec prema Cijeni. Ima li podataka koji povezuju mjesec s cijenom prodaje bundeva visoku ili nisku korelaciju, prema vašoj vizualnoj interpretaciji scatterplota? Mijenja li se to ako koristite finiju mjeru umjesto `Month`, npr. *dan u godini* (broj dana od početka godine)? +✅ Pokrenite bilježnicu koja prati ovu lekciju i pogledajte scatterplot Mjeseca prema Cijeni. Ima li podataka koji povezuju Mjesec i Cijenu kod prodaje bundeva visoku ili nisku korelaciju prema vašoj vizualnoj interpretaciji scatterplota? Mijenja li se to ako koristite finiju mjeru umjesto `Month`, npr. *dan u godini* (tj. broj dana od početka godine)? -U sljedećem kodu pretpostavit ćemo da smo očistili podatke i dobili okvir podataka nazvan `new_pumpkins`, sličan sljedećem: +U sljedećem kodu pretpostavit ćemo da smo očistili podatke i dobili DataFrame nazvan `new_pumpkins`, sličan sljedećem: -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 +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 -> Kod za čišćenje podataka nalazi se u [`notebook.ipynb`](notebook.ipynb). Izveli smo iste korake čišćenja kao u prethodnoj lekciji te izračunali stupac `DayOfYear` koristeći sljedeći izraz: +> Kod za čišćenje podataka dostupan je u [`notebook.ipynb`](notebook.ipynb). Izveli smo iste korake čišćenja kao u prethodnoj lekciji i izračunali stupac `DayOfYear` koristeći sljedeći izraz: ```python day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` - -Sada kad imate razumijevanje matematike iza linearne regresije, kreirajmo regresijski model da vidimo možemo li predvidjeti koji paket bundeva će imati najbolje cijene. Netko tko kupuje bundeve za blagdanski prikaz bundeva može htjeti ovu informaciju kako bi optimizirao kupnju paketa bundeva za prikaz. + +Sada, kad imate razumijevanje matematike iza linearne regresije, stvorimo regresijski model da vidimo možemo li predvidjeti koja će pakiranja bundeva imati najbolje cijene. Netko tko kupuje bundeve za natjecanje ili ukrasnu parcelu možda želi ove informacije kako bi optimizirao svoje kupovine pakiranja bundeva. ## Traženje korelacije -[![ML za početnike - Traženje korelacije: Ključ za linearnu regresiju](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") +[![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") -> 🎥 Kliknite na slikovnu poveznicu za kratki video pregled korelacije. +> 🎥 Kliknite na sliku gore za kratak video pregled korelacije. -Iz prethodne lekcije vjerojatno ste vidjeli da prosječna cijena za različite mjesece izgleda ovako: +Iz prethodne lekcije vjerojatno ste vidjeli da prosječna cijena po mjesecima izgleda ovako: -Prosječna cijena po mjesecu +Average price by month -To sugerira da bi trebala postojati neka korelacija, i možemo pokušati trenirati linearni regresijski model da predvidi odnos između `Month` i `Price`, ili između `DayOfYear` i `Price`. Evo scatterplota koji prikazuje ovaj zadnji odnos: +Ovo sugerira da bi trebala postojati neka korelacija, i možemo pokušati trenirati linearni regresijski model koji predviđa odnos između `Month` i `Price`, ili između `DayOfYear` i `Price`. Slijedi scatter plot koji prikazuje posljednji odnos: -Scatter plot cijena u odnosu na dan u godini +Scatter plot of Price vs. Day of Year -Pogledajmo ima li korelacije koristeći funkciju `corr`: +Pogledajmo je li korelacija prisutna uz pomoć funkcije `corr`: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` - -Izgleda da je korelacija prilično mala, -0.15 prema `Month` i -0.17 prema `DayOfMonth`, ali moglo bi postojati još neki važan odnos. Čini se da postoje različiti klasteri cijena koji odgovaraju različitim vrstama bundeva. Da bismo potvrdili ovu hipotezu, nacrtajmo svaku kategoriju bundeva različitom bojom. Prosljeđivanjem parametra `ax` funkciji `scatter` možemo nacrtati sve točke na istom grafikonu: + +Izgleda da je korelacija prilično mala, -0.15 po `Month` i -0.17 po `DayOfMonth`, ali može postojati još neki važan odnos. Izgleda da postoje različite skupine cijena koje odgovaraju različitim sortama bundeva. Da bismo potvrdili ovu hipotezu, prikažimo svaku kategoriju bundeva različitom bojom. Prosljeđivanjem parametra `ax` funkciji za crtanje `scatter` možemo nacrtati sve točke na istom grafikonu: ```python ax=None @@ -139,92 +139,93 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): df = new_pumpkins[new_pumpkins['Variety']==var] ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var) ``` + +Scatter plot of Price vs. Day of Year -Scatter plot cijena u odnosu na dan u godini s bojama - -Naša istraga sugerira da sorta ima veći utjecaj na ukupnu cijenu nego stvarni datum prodaje. To možemo vidjeti na stupčastom grafikonu: +Naša istraga pokazuje da sorta ima veći utjecaj na ukupnu cijenu nego stvarni datum prodaje. Ovo vidimo i na stupčastom grafikonu: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') ``` + +Bar graph of price vs variety -Stupčasti grafikon cijene po vrstama - -Usredotočimo se na trenutak samo na jednu vrstu bundeve, 'pie type', i vidimo kakav utjecaj datum ima na cijenu: +Za sada se usredotočimo samo na jednu sortu bundeve, 'pie type', i pogledajmo kako datum utječe na cijenu: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] pie_pumpkins.plot.scatter('DayOfYear','Price') ``` -Scatter plot cijena u odnosu na dan u godini za pie vrste bundeva +Scatter plot of Price vs. Day of Year -Ako sad izračunamo korelaciju između `Price` i `DayOfYear` koristeći funkciju `corr`, dobit ćemo nešto oko `-0.27` - što znači da ima smisla trenirati prediktivni model. +Ako sada izračunamo korelaciju između `Price` i `DayOfYear` pomoću funkcije `corr`, dobit ćemo nešto poput `-0.27` - što znači da je treniranje prediktivnog modela smisleno. -> Prije treniranja modela linearne regresije važno je osigurati da su naši podaci čisti. Linearna regresija ne funkcionira dobro s nedostajućim vrijednostima, stoga ima smisla ukloniti sve prazne ćelije: +> Prije nego treniramo linearni regresijski model, važno je osigurati da su naši podaci čisti. Linearna regresija ne radi dobro s nedostajućim vrijednostima, stoga ima smisla ukloniti sve prazne ćelije: ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` - -Drugi pristup bio bi popuniti prazne vrijednosti prosječnim vrijednostima iz odgovarajućeg stupca. + +Drugi pristup bi bio popuniti prazne vrijednosti prosječnim vrijednostima iz odgovarajućeg stupca. ## Jednostavna linearna regresija -[![ML za početnike - Linearna i polinomna regresija koristeći 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") +[![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") -> 🎥 Kliknite na slikovnu poveznicu za kratki video pregled linearne i polinomne regresije. +> 🎥 Kliknite na sliku gore za kratak video pregled linearne i polinomijalne regresije. -Za treniranje našeg modela linearne regresije koristit ćemo **Scikit-learn** biblioteku. +Za treniranje našeg linearno regresijskog modela koristit ćemo biblioteku **Scikit-learn**. ```python from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` - -Započinjemo razdvajanjem ulaznih vrijednosti (značajki) i očekivanog izlaza (oznake) u zasebne numpy nizove: + +Počinjemo odvajajući ulazne vrijednosti (značajke) i očekivane izlazne vrijednosti (etikete) u zasebne numpy nizove: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` + +> Primijetite da smo morali izvršiti `reshape` na ulaznim podacima da bi Linear Regression paket pravilno razumio ulaz. Linearna regresija očekuje 2D niz kao ulaz, gdje svaki redak niza predstavlja vektor ulaznih značajki. U našem slučaju, budući da imamo samo jednu ulaznu varijablu, treba nam niz oblika N×1, gdje je N veličina skupa podataka. -> Primijetite da smo morali napraviti `reshape` ulaznih podataka kako bi Linear Regression paket ispravno razumio podatke. Linearna regresija očekuje 2D niz kao ulaz, gdje svaki redak niza odgovara vektoru ulaznih značajki. U našem slučaju, budući da imamo samo jedan ulaz, potrebna nam je matrica dimenzija N×1, gdje je N veličina skupa podataka. - -Zatim trebamo podijeliti podatke na trening i test skupove, kako bismo mogli validirati naš model nakon treniranja: +Zatim trebamo podijeliti podatke u skupove za treniranje i testiranje, kako bismo mogli validirati naš model nakon treninga: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` - -Na kraju, treniranje stvarnog modela linearne regresije traje samo dvije linije koda. Definiramo objekt `LinearRegression` i prilagođavamo ga našim podacima korištenjem metode `fit`: + +Na kraju, treniranje samog modela linearne regresije traje samo dvije linije koda. Definiramo objekt `LinearRegression` i prilagođavamo ga naša podacima pomoću metode `fit`: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` -Objekt `LinearRegression` nakon `fit`-iranja sadrži sve koeficijente regresije, kojima se može pristupiti pomoću `.coef_` svojstva. U našem slučaju postoji samo jedan koeficijent, koji bi trebao biti oko `-0.017`. To znači da cijene izgledaju kao da malo padaju s vremenom, ali ne previše, oko 2 centa dnevno. Također možemo pristupiti sjecištu regresije s Y-osi pomoću `lin_reg.intercept_` - ono će biti oko `21` u našem slučaju, što označava cijenu na početku godine. +Objekt `LinearRegression` nakon treniranja (`fit`) sadrži sve koeficijente regresije, do kojih se može pristupiti putem svojstva `.coef_`. U našem slučaju postoji samo jedan koeficijent, koji bi trebao biti oko `-0.017`. To znači da cijene djeluju kao da nešto padaju s vremenom, ali ne previše, oko 2 centa dnevno. Također možemo pristupiti točki presjeka regresije s Y-osi koristeći `lin_reg.intercept_` - u našem slučaju bit će oko `21`, što označava cijenu na početku godine. -Da bismo vidjeli koliko je naš model točan, možemo predvidjeti cijene na testnom skupu podataka, a zatim izmjeriti koliko su naša predviđanja bliska očekivanim vrijednostima. To se može učiniti pomoću metrike srednje kvadratne pogreške (MSE), što je srednja vrijednost svih kvadratnih razlika između očekivane i predviđene vrijednosti. +Da bismo vidjeli koliko je naš model točan, možemo predvidjeti cijene na testnom skupu podataka i zatim izmjeriti koliko su naša predviđanja bliska očekivanim vrijednostima. To se može napraviti koristeći metriku korijen srednje kvadratne pogreške (RMSE), što je korijen sredine svih kvadrata razlika između očekivane i predviđene vrijednosti. ```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}%)') +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` -Naša pogreška izgleda da je oko 2 boda, što je ~17%. Nije baš dobro. Još jedan pokazatelj kvalitete modela je **koeficijent determinacije**, koji se može dobiti ovako: +Naša pogreška je otprilike oko 2 boda, što je ~17%. Nije baš dobro. Još jedan pokazatelj kvalitete modela je **koeficijent determinacije**, koji se može dobiti ovako: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` -Ako je vrijednost 0, to znači da model ne uzima u obzir ulazne podatke i djeluje kao *najgori linearni prediktor*, što je jednostavno srednja vrijednost rezultata. Vrijednost 1 znači da možemo savršeno predvidjeti sve očekivane izlaze. U našem slučaju, koeficijent je oko 0.06, što je prilično nisko. -Također možemo prikazati testne podatke zajedno s regresijskom linijom kako bismo bolje vidjeli kako regresija radi u našem slučaju: +Ako je vrijednost 0, to znači da model ne uzima u obzir ulazne podatke i djeluje kao *najgori linearni prediktor*, što je jednostavno srednja vrijednost rezultata. Vrijednost 1 znači da možemo savršeno predvidjeti sve očekivane izlaze. U našem slučaju koeficijent je oko 0.06, što je prilično nisko. + +Također možemo prikazati testne podatke zajedno s regresijskom linijom da bolje vidimo kako regresija funkcionira u našem slučaju: ```python plt.scatter(X_test,y_test) @@ -233,19 +234,19 @@ plt.plot(X_test,pred) Linear regression -## Polinomska regresija +## Polinomijalna regresija -Druga vrsta linearne regresije je polinomska regresija. Dok ponekad postoji linearna veza između varijabli - što je bundeva veća po volumenu, to je viša cijena - ponekad ove veze ne mogu biti prikazane kao ravnina ili ravna linija. +Još jedna vrsta linearne regresije je polinomijalna regresija. Iako ponekad postoji linearna veza između varijabli - što je veća bundeva po volumenu, to je veća cijena - ponekad te veze nije moguće prikazati kao ravninu ili pravu liniju. -✅ Evo [još nekoliko primjera](https://online.stat.psu.edu/stat501/lesson/9/9.8) podataka koji bi mogli koristiti polinomsku regresiju +✅ Evo [još nekoliko primjera](https://online.stat.psu.edu/stat501/lesson/9/9.8) podataka za koje bi se mogla koristiti polinomijalna regresija. -Pogledajte ponovno odnos između Datuma i Cijene. Izgleda li ovaj scatterplot kao da ga nužno treba analizirati ravnom linijom? Ne mogu li cijene varirati? U tom slučaju možete pokušati polinomsku regresiju. +Ponovno pogledajte odnos između Datuma i Cijene. Izgleda li ovaj scatterplot kao da bi ga nužno trebalo analizirati linijom? Zar cijene ne mogu varirati? U tom slučaju možete pokušati polinomijalnu regresiju. ✅ Polinomi su matematički izrazi koji mogu sadržavati jednu ili više varijabli i koeficijenata. -Polinomska regresija stvara zakrivljenu liniju koja bolje pristaje nelinearnim podacima. U našem slučaju, ako u ulazne podatke uključimo kvadratnu varijablu `DayOfYear`, trebali bismo moći modelirati podatke parabolom koja će imati minimum u nekoj točki tijekom godine. +Polinomijalna regresija stvara zakrivljenu liniju kako bi bolje pristajala nelinearnim podacima. U našem slučaju, ako uključimo kvadratnu varijablu `DayOfYear` u ulazne podatke, trebali bismo biti u mogućnosti uklopiti podatke parabolom, koja će imati minimum u nekoj točki tijekom godine. -Scikit-learn uključuje korisno [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) za kombiniranje različitih koraka obrade podataka zajedno. **Pipeline** je lanac **procjenitelja**. U našem slučaju, stvorit ćemo pipeline koji prvo dodaje polinomske značajke našem modelu, a zatim trenira regresiju: +Scikit-learn uključuje korisni [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) za spajanje različitih koraka obrade podataka zajedno. **Pipeline** je niz **estimatora**. U našem slučaju ćemo napraviti pipeline koji prvo dodaje polinomijalne značajke našem modelu, a zatim trenira regresiju: ```python from sklearn.preprocessing import PolynomialFeatures @@ -256,36 +257,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` -Korištenje `PolynomialFeatures(2)` znači da ćemo uključiti sve polinome drugog stupnja iz ulaznih podataka. U našem slučaju to će jednostavno značiti `DayOfYear`2, ali s dvije ulazne varijable X i Y, to će dodati X2, XY i Y2. Također možemo koristiti polinome višeg stupnja ako želimo. +Korištenjem `PolynomialFeatures(2)` znači da će se uključiti svi polinomi drugog stupnja iz ulaznih podataka. U našem slučaju to će biti samo `DayOfYear`2, ali ako imamo dvije ulazne varijable X i Y, to će uključiti X2, XY i Y2. Također možemo koristiti i polinome višeg stupnja ako želimo. -Pipelinove se mogu koristiti na isti način kao izvorni objekt `LinearRegression`, tj. možemo `fit`-ati pipeline, a zatim koristiti `predict` za dobivanje predviđanja. Evo grafikona koji prikazuje testne podatke i aproksimacijsku krivulju: +Pipeline-ovi se mogu koristiti na isti način kao i originalni objekt `LinearRegression`, tj. možemo `fit` pipeline, a zatim koristiti `predict` za dobivanje rezultata predviđanja. Evo grafa koji prikazuje testne podatke i aproksimacijsku krivulju: Polynomial regression -Korištenjem polinomske regresije možemo dobiti nešto nižu MSE i viši koeficijent determinacije, ali ne značajno. Moramo uzeti u obzir i druge značajke! +Upotrebom polinomijalne regresije možemo dobiti nešto niži MSE i viši koeficijent determinacije, ali ne značajno. Moramo uzeti u obzir i druge značajke! -> Možete vidjeti da su minimalne cijene bundeva opažene negdje oko Noći vještica. Kako to možete objasniti? +> Možete primijetiti da su minimalne cijene bundeva zabilježene negdje oko Noći vještica. Kako to možete objasniti? -🎃 Čestitamo, upravo ste stvorili model koji može pomoći u predviđanju cijene pita od bundeva. Vjerojatno možete ponoviti isti postupak za sve vrste bundeva, ali to bi bilo zamorno. Naučimo sada kako u model uključiti vrstu bundeve! +🎃 Čestitamo, upravo ste kreirali model koji može pomoći u predviđanju cijene bundeva za pite. Vjerojatno možete ponoviti isti postupak za sve vrste bundeva, ali to bi bilo zamorno. Sada ćemo naučiti kako u našem modelu uzeti u obzir sortu bundeve! -## Kategorijske značajke +## Kategorizirane značajke -U idealnom svijetu želimo moći predvidjeti cijene za različite sorte bundeva koristeći isti model. Međutim, stupac `Variety` se razlikuje od stupaca poput `Month`, jer sadrži nenumeričke vrijednosti. Takvi se stupci nazivaju **kategorijskim**. +U idealnom svijetu želimo moći predvidjeti cijene za različite sorte bundeva koristeći isti model. Međutim, stupac `Variety` se donekle razlikuje od stupaca poput `Month`, jer sadrži nenumeričke vrijednosti. Takvi se stupci nazivaju **kategorizirani**. -[![ML za početnike - Predviđanja kategorijskih značajki linearnom regresijom](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML za početnike - Predviđanja kategorijskih značajki linearnom regresijom") +[![ML for beginners - Kategorizirano predviđanje s linearnom regresijom](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Kategorizirano predviđanje s linearnom regresijom") -> 🎥 Kliknite gornju sliku za kratak video pregled korištenja kategorijskih značajki. +> 🎥 Kliknite na sliku iznad za kratki video pregled korištenja kategoriziranih značajki. -Ovdje možete vidjeti kako prosječna cijena ovisi o sorti: +Ovdje možete vidjeti kako se prosječna cijena razlikuje po sorti: Average price by variety -Da bismo uzeli sortu u obzir, prvo je moramo pretvoriti u numerički oblik, ili je **enkodirati**. Postoji nekoliko načina kako to možemo učiniti: +Da bismo uzeli sortu u obzir, prvo je moramo pretvoriti u numerički oblik, odnosno **enkodirati**. Postoji nekoliko načina kako to možemo napraviti: -* Jednostavna **numerička enkodiranja** će napraviti tablicu različitih sorti, a zatim zamijeniti ime sorte indeksom u toj tablici. To nije najbolja ideja za linearnu regresiju, jer linearna regresija uzima stvarnu numeričku vrijednost indeksa i dodaje je rezultatu množeći s nekim koeficijentom. U našem slučaju, veza između broja indeksa i cijene je jasno nelinearna, čak i ako osiguramo da su indeksi uređeni na neki specifičan način. -* **One-hot enkodiranje** zamijenit će stupac `Variety` s 4 različita stupca, po jedan za svaku sortu. Svaki stupac će sadržavati `1` ako je odgovarajući redak određene sorte, a `0` inače. To znači da će postojati četiri koeficijenta u linearnoj regresiji, po jedan za svaku sortu bundeve, koji će biti odgovorni za "početnu cijenu" (ili bolje rečeno "dodatnu cijenu") za tu određenu sortu. +* Jednostavna **numerička enkodiranja** izgradi će tablicu različitih sorti, a zatim zamijeni ime sorte njezinim indeksom u toj tablici. To nije najbolja ideja za linearnu regresiju, jer linearna regresija uzima stvarnu numeričku vrijednost indeksa i dodaje je rezultatu, množeći koeficijentom. U našem slučaju odnos između broja indeksa i cijene je jasno nelinearan, čak i ako osiguramo da su indeksi sortirani na neki specifičan način. +* **One-hot enkodiranje** će zamijeniti stupac `Variety` sa 4 različita stupca, po jedan za svaku sortu. Svaki stupac će imati vrijednost `1` ako je odgovarajući redak te sorte, i `0` inače. To znači da će u linearnoj regresiji biti četiri koeficijenta, jedan za svaku sortu bundeve, koji su odgovorni za "početnu cijenu" (ili bolje rečeno "dodatnu cijenu") za tu sortu. -Donji kôd pokazuje kako možemo one-hot enkodirati sortu: +Sljedeći kod pokazuje kako možemo napraviti one-hot enkodiranje sorte: ```python pd.get_dummies(new_pumpkins['Variety']) @@ -302,14 +303,14 @@ pd.get_dummies(new_pumpkins['Variety']) 1741 | 0 | 1 | 0 | 0 1742 | 0 | 1 | 0 | 0 -Da bismo trenirali linearnu regresiju koristeći one-hot enkodiranu sortu kao ulaz, samo trebamo pravilno inicijalizirati podatke `X` i `y`: +Za treniranje linearne regresije koristeći one-hot enkodiranu sortu kao ulaz, samo trebamo ispravno inicijalizirati podatke `X` i `y`: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` -Ostatak koda je isti kao što smo gore koristili za treniranje Linearne Regresije. Ako to probate, vidjet ćete da je srednja kvadratna pogreška približno ista, ali dobivamo puno veći koeficijent determinacije (~77%). Da bismo dobili još točnija predviđanja, možemo uzeti u obzir još kategorijskih značajki, kao i numeričkih značajki, poput `Month` ili `DayOfYear`. Da bismo dobili jedan veliki niz značajki, možemo koristiti `join`: +Ostatak koda je isti kao onaj koji smo koristili gore za treniranje linearne regresije. Ako probate, vidjet ćete da je srednja kvadratna pogreška otprilike ista, ali koeficijent determinacije je znatno veći (~77%). Da bismo dobili još točnija predviđanja, možemo uzeti u obzir i više kategoriziranih značajki, kao i numeričke kao što su `Month` ili `DayOfYear`. Da bismo dobili jedan veliki niz značajki, možemo koristiti `join`: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -319,11 +320,11 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ y = new_pumpkins['Price'] ``` -Ovdje također uzimamo u obzir `City` i tip `Package`, što nam daje MSE 2.84 (10%), i determinaciju 0.94! +Ovdje također uzimamo u obzir grad i tip pakiranja, što nam daje MSE 2.84 (10%) i determinaciju 0.94! -## Sve spojeno +## Sve zajedno -Da bismo napravili najbolji model, možemo koristiti kombinirane (one-hot enkodirane kategorijske + numeričke) podatke iz prethodnog primjera zajedno s polinomskom regresijom. Evo kompletnog koda radi vaše udobnosti: +Da bismo napravili najbolji model, možemo koristiti kombinirane (one-hot enkodirane kategorizirane + numeričke) podatke iz gornjeg primjera zajedno s polinomijalnom regresijom. Evo kompletnog koda radi vaše udobnosti: ```python # postavi podatke za trening @@ -333,17 +334,17 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ .join(pd.get_dummies(new_pumpkins['Package'])) y = new_pumpkins['Price'] -# napravi podjelu podataka na trening i test +# napravi podjelu na trening i test X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # postavi i treniraj pipeline pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# predvidi rezultate za testne podatke +# predvidi rezultate za test podatke pred = pipeline.predict(X_test) -# izračunaj MSE i koeficijent determinacije +# izračunaj MSE i determinaciju mse = np.sqrt(mean_squared_error(y_test,pred)) print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') @@ -351,36 +352,36 @@ score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` -To bi nam trebalo dati najbolji koeficijent determinacije od gotovo 97%, i MSE=2.23 (~8% pogreška predviđanja). +To bi nam trebalo dati najbolji koeficijent determinacije od gotovo 97% i MSE=2.23 (~8% pogreške u predviđanju). | Model | MSE | Determinacija | -|-------|-----|--------------| -| Linearni `DayOfYear` | 2.77 (17.2%) | 0.07 | -| Polinomski `DayOfYear` | 2.73 (17.0%) | 0.08 | -| Linearna `Variety` | 5.24 (19.7%) | 0.77 | -| Sve značajke Linearno | 2.84 (10.5%) | 0.94 | -| Sve značajke Polinomski | 2.23 (8.25%) | 0.97 | +|-------|-----|---------------| +| Linearni model na `DayOfYear` | 2.77 (17.2%) | 0.07 | +| Polinomijalni model na `DayOfYear` | 2.73 (17.0%) | 0.08 | +| Linearni model na `Variety` | 5.24 (19.7%) | 0.77 | +| Linearni model na svim značajkama | 2.84 (10.5%) | 0.94 | +| Polinomijalni model na svim značajkama | 2.23 (8.25%) | 0.97 | -🏆 Svaka čast! Stvorili ste četiri modela regresije u jednoj lekciji i poboljšali kvalitetu modela na 97%. U završnom dijelu o regresiji naučit ćete o logističkoj regresiji za određivanje kategorija. +🏆 Odlično! Kreirali ste četiri modela regresije u jednoj lekciji i poboljšali kvalitetu modela do 97%. U završnom dijelu o regresiji naučit ćete o logističkoj regresiji za određivanje kategorija. --- ## 🚀Izazov -Testirajte nekoliko različitih varijabli u ovom bilježniku da vidite kako korelacija odgovara točnosti modela. +Isprobajte nekoliko različitih varijabli u ovoj bilježnici kako biste vidjeli kako korelacija odgovara točnosti modela. ## [Kviz nakon predavanja](https://ff-quizzes.netlify.app/en/ml/) -## Pregled i samostalan rad +## Pregled i samostalno učenje -U ovoj lekciji smo naučili o linearnoj regresiji. Postoje i druge važne vrste regresije. Pročitajte o tehnikama Stepwise, Ridge, Lasso i Elasticnet. Dobar tečaj za daljnje proučavanje je [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) +U ovoj lekciji smo naučili o linearnoj regresiji. Postoje i druge važne vrste regresija. Pročitajte o tehnikama Stepwise, Ridge, Lasso i Elasticnet. Dobar tečaj koji vrijedi proučiti je [Stanford tečaj statističkog učenja](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ## Zadatak -[Izradi model](assignment.md) +[Izgradi model](assignment.md) --- **Odricanje od odgovornosti**: -Ovaj je dokument preveden pomoću AI usluge prevođenja [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporuča se profesionalni prijevod ljudskog prevoditelja. Ne snosimo odgovornost za bilo kakva nesporazumevanja ili pogrešne interpretacije nastale korištenjem ovog prijevoda. +Ovaj dokument je preveden pomoću AI usluge prevođenja [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo postići točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku trebao bi se smatrati službenim izvorom. Za ključne informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili kriva tumačenja proizašla iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/4-Classification/2-Classifiers-1/README.md b/translations/hr/4-Classification/2-Classifiers-1/README.md index 0748d4e37..0516a9e11 100644 --- a/translations/hr/4-Classification/2-Classifiers-1/README.md +++ b/translations/hr/4-Classification/2-Classifiers-1/README.md @@ -1,17 +1,17 @@ # Klasifikatori kuhinja 1 -U ovoj lekciji koristit ćete skup podataka koji ste spremili iz prethodne lekcije, pun uravnoteženih i očišćenih podataka o kuhinjama. +U ovoj lekciji koristit ćete skup podataka koji ste spremili iz prošle lekcije, pun izbalansiranih, čistih podataka o kuhinjama. -Koristit ćete ovaj skup podataka s raznim klasifikatorima kako biste _predvidjeli određenu nacionalnu kuhinju na temelju grupe sastojaka_. Dok to radite, naučit ćete više o načinima na koje se algoritmi mogu koristiti za zadatke klasifikacije. +Koristit ćete ovaj skup podataka s različitim klasifikatorima kako biste _predvidjeli određenu nacionalnu kuhinju na temelju grupe sastojaka_. Istovremeno ćete naučiti više o nekim načinima na koje se algoritmi mogu koristiti za zadatke klasifikacije. -## [Kviz prije predavanja](https://ff-quizzes.netlify.app/en/ml/) +## [Kvizz prije predavanja](https://ff-quizzes.netlify.app/en/ml/) # Priprema -Pod pretpostavkom da ste završili [Lekciju 1](../1-Introduction/README.md), provjerite postoji li datoteka _cleaned_cuisines.csv_ u korijenskoj mapi `/data` za ove četiri lekcije. +Pod pretpostavkom da ste dovršili [Lekciju 1](../1-Introduction/README.md), provjerite da li u korijenskoj mapi `/data` za ove četiri lekcije postoji datoteka _cleaned_cuisines.csv_. -## Vježba - predviđanje nacionalne kuhinje +## Vježba - predvidi nacionalnu kuhinju -1. Radite u mapi _notebook.ipynb_ ove lekcije i uvezite tu datoteku zajedno s Pandas bibliotekom: +1. Uvježbajte u mapi _notebook.ipynb_ ove lekcije te uvezite tu datoteku zajedno s Pandas knjižnicom: ```python import pandas as pd @@ -30,7 +30,7 @@ Pod pretpostavkom da ste završili [Lekciju 1](../1-Introduction/README.md), pro | 4 | 4 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | -1. Sada uvezite još nekoliko biblioteka: +1. Sada uvezite još nekoliko knjižnica: ```python from sklearn.linear_model import LogisticRegression @@ -40,7 +40,7 @@ Pod pretpostavkom da ste završili [Lekciju 1](../1-Introduction/README.md), pro import numpy as np ``` -1. Podijelite X i y koordinate u dva dataframea za treniranje. `cuisine` može biti dataframe s oznakama: +1. Podijelite koordinate X i y u dva podatkovna okvira za treniranje. `cuisine` može biti podatkovni okvir oznaka: ```python cuisines_label_df = cuisines_df['cuisine'] @@ -58,7 +58,7 @@ Pod pretpostavkom da ste završili [Lekciju 1](../1-Introduction/README.md), pro Name: cuisine, dtype: object ``` -1. Izbacite stupce `Unnamed: 0` i `cuisine` koristeći `drop()`. Ostatak podataka spremite kao značajke za treniranje: +1. Izbrišite stupce `Unnamed: 0` i `cuisine` pozivom na `drop()`. Ostatak podataka spremite kao značajke za treniranje: ```python cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1) @@ -75,85 +75,85 @@ Pod pretpostavkom da ste završili [Lekciju 1](../1-Introduction/README.md), pro | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | -Sada ste spremni za treniranje modela! +Sada ste spremni za treniranje vašeg modela! ## Odabir klasifikatora -Sada kada su vaši podaci očišćeni i spremni za treniranje, morate odlučiti koji algoritam koristiti za zadatak. +Sada kada su vam podaci čisti i spremni za treniranje, morate odlučiti koji algoritam koristiti za taj posao. -Scikit-learn grupira klasifikaciju pod Nadzirano učenje, a u toj kategoriji postoji mnogo načina za klasifikaciju. [Raznolikost](https://scikit-learn.org/stable/supervised_learning.html) može na prvi pogled djelovati zbunjujuće. Sljedeće metode uključuju tehnike klasifikacije: +Scikit-learn grupira klasifikaciju pod Nadzorovano učenje, i u toj kategoriji pronaći ćete mnogo načina za klasifikaciju. [Raznolikost](https://scikit-learn.org/stable/supervised_learning.html) može u početku biti zbunjujuća. Sljedeće metode uključuju tehnike klasifikacije: - Linearni modeli -- Strojevi za potporne vektore (SVM) +- Strojevi potpornih vektora - Stohastički gradijentni spust - Najbliži susjedi - Gaussovi procesi -- Stabla odluke -- Metode ansambla (glasajući klasifikator) -- Višeklasni i višerezultatski algoritmi (višeklasna i višeznačna klasifikacija, višeklasna-višerezultatska klasifikacija) +- Odluke stabala +- Metode ansambla (voting Classifier) +- Multiklasni i multiizlazni algoritmi (multiklasna i multilabel klasifikacija, multiklasno-multiizlazna klasifikacija) > Također možete koristiti [neuronske mreže za klasifikaciju podataka](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification), ali to je izvan opsega ove lekcije. ### Koji klasifikator odabrati? -Dakle, koji klasifikator odabrati? Često je korisno isprobati nekoliko njih i tražiti dobar rezultat. Scikit-learn nudi [usporedbu](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) na stvorenom skupu podataka, uspoređujući KNeighbors, SVC na dva načina, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB i QuadraticDiscriminationAnalysis, prikazujući rezultate vizualno: +Dakle, koji klasifikator odabrati? Često je isprobavanje nekoliko njih i traženje dobrog rezultata dobar način testiranja. Scikit-learn nudi [usporedni prikaz jedan pored drugoga](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) na kreiranom skupu podataka, uspoređujući KNeighbors, SVC na dva načina, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB i QuadraticDiscrinationAnalysis, prikazujući rezultate vizualizirano: -![usporedba klasifikatora](../../../../4-Classification/2-Classifiers-1/images/comparison.png) -> Grafovi generirani u dokumentaciji Scikit-learn-a +![usporedba klasifikatora](../../../../translated_images/hr/comparison.edfab56193a85e7f.webp) +> Grafikon generiran u dokumentaciji Scikit-learn -> AutoML rješava ovaj problem jednostavno pokretanjem ovih usporedbi u oblaku, omogućujući vam odabir najboljeg algoritma za vaše podatke. Isprobajte [ovdje](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) +> AutoML rješava ovaj problem uredno izvođenjem ovih usporedbi u oblaku, omogućujući vam izbor najboljeg algoritma za vaše podatke. Isprobajte [ovdje](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) ### Bolji pristup -Bolji način od nasumičnog pogađanja je slijediti ideje iz ovog preuzimljivog [ML Cheat Sheeta](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Ovdje otkrivamo da za naš višeklasni problem imamo nekoliko izbora: +Bolji način nego nasumično pogađati je pratiti ideje na ovom preuzimljivom [ML Cheat sheetu](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Ovdje otkrivamo da za naš problem s više klasa imamo neke izbore: -![cheatsheet za višeklasne probleme](../../../../4-Classification/2-Classifiers-1/images/cheatsheet.png) -> Dio Microsoftovog Algorithm Cheat Sheeta, koji detaljno opisuje opcije za višeklasnu klasifikaciju +![cheatsheet za probleme s više klasa](../../../../translated_images/hr/cheatsheet.07a475ea444d2223.webp) +> Dio Microsoftovog Algorithm Cheat Sheeta, s detaljima opcija za višeklasnu klasifikaciju -✅ Preuzmite ovaj cheat sheet, isprintajte ga i objesite na zid! +✅ Preuzmite ovaj cheat sheet, isprintajte ga i zalijepite na zid! ### Razmišljanje -Pokušajmo razmotriti različite pristupe s obzirom na ograničenja koja imamo: +Pogledajmo možemo li racionalno pristupiti različitim pristupima s obzirom na uvjete koje imamo: -- **Neuronske mreže su preteške**. S obzirom na naš očišćeni, ali minimalni skup podataka i činjenicu da treniranje provodimo lokalno putem bilježnica, neuronske mreže su preteške za ovaj zadatak. -- **Nema klasifikatora za dvije klase**. Ne koristimo klasifikator za dvije klase, što isključuje one-vs-all. -- **Stablo odluke ili logistička regresija mogli bi raditi**. Stablo odluke moglo bi raditi, kao i logistička regresija za višeklasne podatke. -- **Višeklasna Boosted Decision Trees rješava drugi problem**. Višeklasno pojačano stablo odluke najprikladnije je za neparametarske zadatke, npr. zadatke dizajnirane za izradu rangiranja, pa nam nije korisno. +- **Neuronske mreže su preteške**. S obzirom na naš čisti, ali minimalni skup podataka i činjenicu da treniramo lokalno preko bilježnica, neuronske mreže su preteške za ovaj zadatak. +- **Nema klasifikatora za dvije klase**. Ne koristimo klasifikator za dvije klase, pa je opcija jedan-protiv-svih isključena. +- **Stablo odluke ili logistička regresija mogu funkcionirati**. Stablo odluke bi moglo funkcionirati, ili logistička regresija za višeklasne podatke. +- **Višeklasno pojačano stablo odluke rješava drugačiji problem**. Višeklasno pojačano stablo odluke najprikladnije je za neparametarske zadatke, npr. zadatke dizajnirane za izradu rangiranja, pa nije korisno za nas. -### Korištenje Scikit-learn-a +### Korištenje Scikit-learn -Koristit ćemo Scikit-learn za analizu naših podataka. Međutim, postoji mnogo načina za korištenje logističke regresije u Scikit-learn-u. Pogledajte [parametre za prosljeđivanje](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +Koristit ćemo Scikit-learn za analizu naših podataka. Međutim, postoji mnogo načina za korištenje logističke regresije u Scikit-learnu. Pogledajte [parametre koje treba proslijediti](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -U osnovi, postoje dva važna parametra - `multi_class` i `solver` - koje trebamo specificirati kada tražimo od Scikit-learn-a da izvede logističku regresiju. Vrijednost `multi_class` primjenjuje određeno ponašanje. Vrijednost solvera određuje koji algoritam koristiti. Nisu svi solveri kompatibilni sa svim vrijednostima `multi_class`. +U suštini postoje dva važna parametra - `multi_class` i `solver` - koje trebamo specificirati kad tražimo od Scikit-learna da izvrši logističku regresiju. Vrijednost `multi_class` specificira određeno ponašanje. Vrijednost `solver` označava koji algoritam se koristi. Nisu svi rješavači (solvers) kompatibilni sa svim vrijednostima `multi_class`. -Prema dokumentaciji, u slučaju višeklasne klasifikacije, algoritam treniranja: +Prema dokumentaciji, kod višeklasne varijante, algoritam treniranja: -- **Koristi shemu one-vs-rest (OvR)**, ako je opcija `multi_class` postavljena na `ovr` -- **Koristi gubitak unakrsne entropije**, ako je opcija `multi_class` postavljena na `multinomial`. (Trenutno opciju `multinomial` podržavaju samo solveri ‘lbfgs’, ‘sag’, ‘saga’ i ‘newton-cg’.) +- **Koristi shemu jedan-protiv-ostalih (OvR)** ako je opcija `multi_class` postavljena na `ovr` +- **Koristi cross-entropy loss** ako je opcija `multi_class` postavljena na `multinomial`. (Trenutno opcija `multinomial` podržana je samo kod rješavača ‘lbfgs’, ‘sag’, ‘saga’ i ‘newton-cg’)." -> 🎓 'Shema' ovdje može biti 'ovr' (one-vs-rest) ili 'multinomial'. Budući da je logistička regresija zapravo dizajnirana za podršku binarnoj klasifikaciji, ove sheme omogućuju joj bolje rukovanje zadacima višeklasne klasifikacije. [izvor](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) +> 🎓 'shema' ovdje može biti 'ovr' (jedan-protiv-ostalih) ili 'multinomial'. Budući da je logistička regresija izvorno dizajnirana za binarnu klasifikaciju, ove sheme joj omogućuju da bolje rukuje višeklasnim zadacima. [izvor](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) -> 🎓 'Solver' je definiran kao "algoritam koji se koristi u problemu optimizacije". [izvor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +> 🎓 'solver' je definiran kao "algoritam koji se koristi u problemu optimizacije". [izvor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -Scikit-learn nudi ovu tablicu kako bi objasnio kako solveri rješavaju različite izazove koje predstavljaju različite vrste struktura podataka: +Scikit-learn nudi ovu tablicu za objašnjenje kako rješavači rukuju različitim izazovima koje predstavljaju različite strukture podataka: -![solvers](../../../../4-Classification/2-Classifiers-1/images/solvers.png) +![rješavači](../../../../translated_images/hr/solvers.5fc648618529e627.webp) -## Vježba - podjela podataka +## Vježba - razdvojite podatke -Možemo se usredotočiti na logističku regresiju za naš prvi pokušaj treniranja jer ste nedavno naučili o njoj u prethodnoj lekciji. +Možemo se usredotočiti na logističku regresiju za naš prvi pokušaj treniranja budući da ste o njoj nedavno učili u prethodnoj lekciji. Podijelite svoje podatke u grupe za treniranje i testiranje pozivom `train_test_split()`: ```python X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3) ``` -## Vježba - primjena logističke regresije +## Vježba - primijenite logističku regresiju -Budući da koristite slučaj višeklasne klasifikacije, trebate odabrati koju _shemu_ koristiti i koji _solver_ postaviti. Koristite LogisticRegression s višeklasnim postavkama i **liblinear** solverom za treniranje. +Budući da koristite višeklasni slučaj, morate odabrati koju _shemu_ ćete koristiti i koji _rješavač_ postaviti. Koristite LogisticRegression s višeklasnim postavkama i rješavačem **liblinear** za treniranje. -1. Kreirajte logističku regresiju s multi_class postavljenim na `ovr` i solverom postavljenim na `liblinear`: +1. Kreirajte logističku regresiju s `multi_class` postavljenim na `ovr` i rješavačem postavljenim na `liblinear`: ```python lr = LogisticRegression(multi_class='ovr',solver='liblinear') @@ -163,27 +163,28 @@ Budući da koristite slučaj višeklasne klasifikacije, trebate odabrati koju _s print ("Accuracy is {}".format(accuracy)) ``` - ✅ Isprobajte drugi solver poput `lbfgs`, koji je često postavljen kao zadani -> Napomena, koristite Pandasovu funkciju [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) za izravnavanje podataka kada je to potrebno. -Točnost je dobra, preko **80%**! + ✅ Isprobajte drugi rješavač poput `lbfgs`, koji je često zadani -1. Možete vidjeti ovaj model u akciji testiranjem jednog retka podataka (#50): + > Napomena, koristite Pandas funkciju [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) za spljoštenje podataka kad je potrebno. + + Točnost je dobra, preko **80%**! + +1. Možete vidjeti ovaj model u akciji testiranjem jednog reda podataka (#50): ```python print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}') print(f'cuisine: {y_test.iloc[50]}') ``` - Rezultat se ispisuje: + Rezultat je ispisan: ```output ingredients: Index(['cilantro', 'onion', 'pea', 'potato', 'tomato', 'vegetable_oil'], dtype='object') cuisine: indian ``` - ✅ Isprobajte drugi broj retka i provjerite rezultate. - -1. Ako želite dublje istražiti, možete provjeriti točnost ove predikcije: + ✅ Isprobajte drugi broj retka i provjerite rezultate +1. Kopajući dublje, možete provjeriti točnost ove predikcije: ```python test= X_test.iloc[50].values.reshape(-1, 1).T @@ -195,7 +196,7 @@ Točnost je dobra, preko **80%**! topPrediction.head() ``` - Rezultat se ispisuje - Indijska kuhinja je najbolja pretpostavka, s dobrom vjerojatnošću: + Rezultat je ispisan - indijska kuhinja je najbolja procjena, s dobrom vjerojatnošću: | | 0 | | -------: | -------: | @@ -205,40 +206,42 @@ Točnost je dobra, preko **80%**! | korean | 0.017277 | | thai | 0.007634 | - ✅ Možete li objasniti zašto je model prilično siguran da se radi o indijskoj kuhinji? + ✅ Možete li objasniti zašto je model prilično siguran da je ovo indijska kuhinja? -1. Dobijte više detalja ispisivanjem izvještaja o klasifikaciji, kao što ste radili u lekcijama o regresiji: +1. Dobijte više detalja ispisivanjem izvještaja o klasifikaciji, kao što ste to činili u lekcijama o regresiji: ```python y_pred = model.predict(X_test) print(classification_report(y_test,y_pred)) ``` - | | preciznost | odziv | f1-rezultat | podrška | - | ------------ | ---------- | ----- | ----------- | ------- | - | chinese | 0.73 | 0.71 | 0.72 | 229 | - | indian | 0.91 | 0.93 | 0.92 | 254 | - | japanese | 0.70 | 0.75 | 0.72 | 220 | - | korean | 0.86 | 0.76 | 0.81 | 242 | - | thai | 0.79 | 0.85 | 0.82 | 254 | - | točnost | 0.80 | 1199 | | | - | prosjek makro| 0.80 | 0.80 | 0.80 | 1199 | - | prosjek tež. | 0.80 | 0.80 | 0.80 | 1199 | + | | precision | recall | f1-score | support | + | ------------ | --------- | ------ | -------- | ------- | + | chinese | 0.73 | 0.71 | 0.72 | 229 | + | indian | 0.91 | 0.93 | 0.92 | 254 | + | japanese | 0.70 | 0.75 | 0.72 | 220 | + | korean | 0.86 | 0.76 | 0.81 | 242 | + | thai | 0.79 | 0.85 | 0.82 | 254 | + | accuracy | | | 0.80 | 1199 | + | macro avg | 0.80 | 0.80 | 0.80 | 1199 | + | weighted avg | 0.80 | 0.80 | 0.80 | 1199 | ## 🚀Izazov -U ovoj lekciji koristili ste očišćene podatke za izradu modela strojnog učenja koji može predvidjeti nacionalnu kuhinju na temelju niza sastojaka. Odvojite malo vremena da proučite mnoge opcije koje Scikit-learn nudi za klasifikaciju podataka. Dublje istražite koncept 'solver' kako biste razumjeli što se događa iza kulisa. +U ovoj lekciji ste koristili očišćene podatke za izgradnju modela strojnog učenja koji može predvidjeti nacionalnu kuhinju na temelju niza sastojaka. Odvojite malo vremena da proučite mnoge opcije koje Scikit-learn pruža za klasifikaciju podataka. Istražite dublje koncept 'solver' kako biste razumjeli što se događa iza scene. ## [Kviz nakon predavanja](https://ff-quizzes.netlify.app/en/ml/) ## Pregled i samostalno učenje -Dublje istražite matematiku iza logističke regresije u [ovoj lekciji](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf) -## Zadatak +Istražite malo više matematiku iza logističke regresije u [ovoj lekciji](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf) +## Zadatak [Proučite solvere](assignment.md) --- -**Odricanje od odgovornosti**: -Ovaj dokument je preveden korištenjem AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. \ No newline at end of file + +**Odricanje od odgovornosti**: +Ovaj je dokument preveden korištenjem AI usluge za prijevod [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na njegovom izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. + \ No newline at end of file diff --git a/translations/hr/README.md b/translations/hr/README.md index 107568592..58495ed3e 100644 --- a/translations/hr/README.md +++ b/translations/hr/README.md @@ -10,14 +10,14 @@ ### 🌐 Višejezična podrška -#### Podržano putem GitHub akcije (automatski i uvijek ažurno) +#### Podržano putem GitHub Action (Automatski i uvijek ažurno) [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](./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) | [Khmer](../km/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) -> **Radije želite klonirati lokalno?** +> **Više volite kloniranje lokalno?** > -> Ovaj repozitorij uključuje prijevode na više od 50 jezika što značajno povećava veličinu preuzimanja. Da biste klonirali bez prijevoda, koristite sparse checkout: +> Ovaj repozitorij uključuje prijevode na 50+ jezika što značajno povećava veličinu preuzimanja. Za kloniranje bez prijevoda koristite sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -33,63 +33,63 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Ovo vam daje sve što vam treba za završetak tečaja uz mnogo brže preuzimanje. +> Ovo vam daje sve što vam je potrebno za završetak tečaja s mnogo bržim preuzimanjem. #### Pridružite se našoj zajednici [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Ima tekući Discord serijal "učiti s AI", saznajte više i pridružite nam se na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. rujna 2025. Dobit ćete savjete i trikove za korištenje GitHub Copilot za Data Science. +Imamo ongoing Discord seriju učimo s AI, saznajte više i pridružite se na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. rujna 2025. Dobit ćete savjete i trikove za korištenje GitHub Copilota za Data Science. -![SERIJA UČENJA S AI](../../translated_images/hr/3.9b58fd8d6c373c20.webp) +![Learn with AI series](../../translated_images/hr/3.9b58fd8d6c373c20.webp) -# Strojno učenje za početnike - Kurikulum +# Strojno učenje za početnike - Nastavni plan -> 🌍 Putujte svijetom dok istražujemo Strojno učenje kroz kulture svijeta 🌍 +> 🌍 Putujte svijetom dok istražujemo Strojno učenje kroz svjetske kulture 🌍 -Cloud Advocates u Microsoftu sretni su ponuditi 12-tjedni, 26-predmetni kurikulum u cijelosti posvećen **Strojnom učenju**. U ovom kurikulumu naučit ćete o onome što se često naziva **klasičnim strojnim učenjem**, koristeći prvenstveno Scikit-learn kao biblioteku i izbjegavajući dubinsko učenje, koje je obrađeno u našem [kurikulumu AI za početnike](https://aka.ms/ai4beginners). Također spojite ove lekcije s našim [kurikulom 'Data Science for Beginners'](https://aka.ms/ds4beginners)! +Cloud Advocates u Microsoftu s ponosom nude 12-tjedni, 26-lekcijski nastavni plan sve o **Strojnom učenju**. U ovom nastavnom planu naučit ćete o onome što se ponekad naziva **klasičnim strojnim učenjem**, koristeći prvenstveno biblioteku Scikit-learn i izbjegavajući duboko učenje, koje je obuhvaćeno u našem [nastavnom planu AI za početnike](https://aka.ms/ai4beginners). Kombinirajte ove lekcije s našim [nastavnim planom 'Data Science za početnike'](https://aka.ms/ds4beginners)! -Putujte s nama svijetom dok primjenjujemo ove klasične tehnike na podatke iz mnogih krajeva svijeta. Svaka lekcija uključuje pred i post kvizove, pisane upute za dovršetak lekcije, rješenje, zadatak i još. Naša pedagoška metoda temeljena na projektima omogućuje vam učenje kroz gradnju, dokazani način da nove vještine 'zapnu'. +Putujte s nama oko svijeta dok primjenjujemo ove klasične tehnike na podatke iz mnogih područja svijeta. Svaka lekcija uključuje kviz prije i poslije lekcije, pisane upute za dovršetak lekcije, rješenje, zadatak i još mnogo toga. Naša pedagoška metoda temeljena na projektima omogućuje vam učenje dok gradite, što je dokazani način da nove vještine "zapnu". -**✍️ Iskrene zahvale našim autorima** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu i Amy Boyd +**✍️ Veliko hvala našim autorima** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu i Amy Boyd -**🎨 Zahvale također našim ilustratorima** Tomomi Imura, Dasani Madipalli i Jen Looper +**🎨 Zahvale i našim ilustratorima** Tomomi Imura, Dasani Madipalli i Jen Looper -**🙏 Posebna hvala 🙏 našim Microsoft Student Ambassador autorima, recenzentima i suradnicima na sadržaju**, posebno Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila i Snigdha Agarwal +**🙏 Posebne zahvale 🙏 našim Microsoft Student Ambassador autorima, recenzentima i suradnicima**, posebno Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila i Snigdha Agarwal -**🤩 Dodatna zahvala Microsoft Student Ambassadorima Ericu Wanjauu, Jasleen Sondhi i Vidushi Gupti za naše lekcije u R!** +**🤩 Dodatna zahvalnost Microsoft Student Ambasadorima Ericu Wanjauu, Jasleen Sondhiju i Vidushi Gupti za naše R lekcije!** # Početak rada Slijedite ove korake: -1. **Forkajte repozitorij**: Kliknite na gumb "Fork" u gornjem desnom kutu ove stranice. -2. **Klonirajte repozitorij**: `git clone https://github.com/microsoft/ML-For-Beginners.git` +1. **Forkajte Repozitorij**: Kliknite na gumb "Fork" u gornjem desnom kutu ove stranice. +2. **Klonirajte Repozitorij**: `git clone https://github.com/microsoft/ML-For-Beginners.git` > [pronađite sve dodatne resurse za ovaj tečaj u našoj Microsoft Learn kolekciji](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) -> 🔧 **Trebate pomoć?** Pogledajte naš [Vodič za otklanjanje poteškoća](TROUBLESHOOTING.md) za rješenja uobičajenih problema oko instalacije, postavljanja i pokretanja lekcija. +> 🔧 **Trebate pomoć?** Pogledajte naš [Priručnik za rješavanje problema](TROUBLESHOOTING.md) za rješenja uobičajenih problema s instalacijom, postavljanjem i izvođenjem lekcija. -**[Studenti](https://aka.ms/student-page)**, za korištenje ovog kurikuluma, forknite cijeli repozitorij u svoj vlastiti GitHub račun i dovršavajte vježbe sami ili u grupi: +**[Studenti](https://aka.ms/student-page)**, za korištenje ovog nastavnog plana, forkajte cijeli repozitorij na svoj GitHub račun i dovršite vježbe sami ili u grupi: -- Počnite s pred-izazovnim kvizom. -- Pročitajte lekciju i dovršite aktivnosti, zastajte i razmislite na svakom provjeravanja znanja. -- Pokušajte sami kreirati projekte razumijevanjem lekcija umjesto samo izvođenja rješenja, no kod rješenja dostupan je u mapama `/solution` u svakoj lekciji fokusiranoj na projekt. -- Odgovorite na post-izazovni kviz. -- Izvršite izazov. +- Započnite kvizom prije predavanja. +- Pročitajte predavanje i dovršite aktivnosti, pauzirajte i razmišljajte na svakoj provjeri znanja. +- Pokušajte napraviti projekte razumijevanjem lekcija umjesto izvršavanja koda rješenja; kod rješenja je dostupan u mapama `/solution` u svakoj lekciji orijentiranoj na projekt. +- Polažite kviz nakon predavanja. +- Dovršite izazov. - Dovršite zadatak. -- Nakon završetka grupe lekcija, posjetite [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) i "učite naglas" popunjavanjem odgovarajuće PAT ocjene. 'PAT' je alat za procjenu napretka koji ispunjavate kako biste unaprijedili svoje učenje. Također možete reagirati na druge PAT-ove da učimo zajedno. +- Nakon završetka grupe lekcija, posjetite [Odbor za raspravu](https://github.com/microsoft/ML-For-Beginners/discussions) i "učite naglas" ispunjavanjem odgovarajuće PAT ljestvice. 'PAT' je alat za procjenu napretka koji ispunjavate radi daljnjeg učenja. Također možete reagirati na druge PAT-ove kako bismo učili zajedno. -> Za daljnje učenje preporučujemo da pratite ove [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) module i putanje učenja. +> Za daljnje učenje preporučujemo sljedeće [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) module i obrazovne staze. -**Nastavnici**, imamo [neke prijedloge](for-teachers.md) o tome kako koristiti ovaj kurikulum. +**Nastavnici**, uključili smo [neke prijedloge](for-teachers.md) o tome kako koristiti ovaj nastavni plan. --- ## Video vodiči -Neke lekcije dostupne su u kratkim videozapisima. Sve ih možete pronaći unutar lekcija ili na [ML for Beginners playlisti na Microsoft Developer YouTube kanalu](https://aka.ms/ml-beginners-videos) klikom na sliku ispod. +Neke lekcije dostupne su kao kratki videozapisi. Sve ih možete pronaći u lekcijama ili na [ML for Beginners playlisti na Microsoft Developer YouTube kanalu](https://aka.ms/ml-beginners-videos) klikom na sliku ispod. [![ML for beginners banner](../../translated_images/hr/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos) @@ -99,79 +99,79 @@ Neke lekcije dostupne su u kratkim videozapisima. Sve ih možete pronaći unutar [![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU) -**Gif by** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) +**Gif od** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) -> 🎥 Kliknite gore na sliku za video o projektu i ljudima koji su ga stvorili! +> 🎥 Kliknite gornju sliku za video o projektu i ljudima koji su ga stvorili! --- ## Pedagogija -Odabrali smo dva pedagoška načela dok smo gradili ovaj kurikulum: osigurati da je praktičan i **projektno orijentiran** te da uključuje **česte kvizove**. Osim toga, ovaj kurikulum ima zajedničku **temu** za povezanost. +Odabrali smo dva pedagoška načela prilikom izrade ovog nastavnog plana: osigurati da je praktičan i **temeljen na projektima** te da uključuje **učestale kvizove**. Osim toga, ovaj nastavni plan ima zajedničku **temu** koja mu daje koheziju. -Osiguravajući da sadržaj prati projekte, proces učenja postaje zanimljiviji za studente i poboljšava zadržavanje koncepata. Osim toga, kviz s niskim ulozima prije predavanja usmjerava studenta na učenje teme, dok drugi kviz nakon predavanja osigurava bolje zadržavanje. Ovaj je kurikulum dizajniran da bude fleksibilan i zabavan, može se pohađati u cijelosti ili djelomično. Projekti započinju mali i postaju složeniji do kraja 12-tjednog ciklusa. Kurikulum također uključuje post skriptu o stvarnim primjenama strojnog učenja, koja se može koristiti kao dodatni bodovi ili kao osnova za raspravu. +Osiguravajući da je sadržaj usklađen s projektima, proces postaje zanimljiviji za učenike i pojačava zadržavanje pojmova. Uz to, kviz s niskim ulogom prije sata postavlja namjeru učenika prema učenju teme, dok drugi kviz nakon nastave osigurava dodatno zadržavanje. Ovaj je nastavni plan dizajniran da bude fleksibilan i zabavan i može se koristiti u cijelosti ili djelomično. Projekti počinju jednostavno i postaju sve složeniji do kraja 12-tjednog ciklusa. Nastavni plan također uključuje postscript o stvarnim primjenama strojnog učenja, koji se može koristiti kao dodatni bodovi ili kao osnova za raspravu. -> Pronađite naš [Kodeks ponašanja](CODE_OF_CONDUCT.md), [Pravila za doprinos](CONTRIBUTING.md), [Prijevode](..) i [Vodič za otklanjanje poteškoća](TROUBLESHOOTING.md). Veselimo se vašim konstruktivnim povratnim informacijama! +> Pronađite naše [Kodeks ponašanja](CODE_OF_CONDUCT.md), [Pravila doprinosa](CONTRIBUTING.md), [Prijevode](..) i [Rješavanje problema](TROUBLESHOOTING.md). Otvoreni smo za vaše konstruktivne povratne informacije! ## Svaka lekcija uključuje -- opcionalnu skicu (sketchnote) -- opcionalni video dodatak +- opcionalnu skicu +- opcionu dodatnu video snimku - video vodič (samo neke lekcije) -- [kviz za zagrijavanje prije lekcije](https://ff-quizzes.netlify.app/en/ml/) +- [kviz za zagrijavanje prije predavanja](https://ff-quizzes.netlify.app/en/ml/) - pisanu lekciju -- za lekcije temeljene na projektima, korak-po-korak vodiče kako napraviti projekt +- za lekcije temeljene na projektima, detaljne vodiče korak-po-korak za izgradnju projekta - provjere znanja - izazov - dodatno čitanje - zadatak -- [kviz nakon lekcije](https://ff-quizzes.netlify.app/en/ml/) -> **Napomena o jezicima**: Ove lekcije su prvenstveno napisane u Pythonu, ali mnoge su također dostupne u R. Za dovršetak R lekcije, idite u mapu `/solution` i potražite R lekcije. One sadrže ekstenziju .rmd koja predstavlja **R Markdown** datoteku što se može jednostavno definirati kao ugrađivanje `code chunks` (kôd blokova) (iz R ili drugih jezika) i `YAML header` (koji vodi kako formatirati izlaze poput PDF-a) u `Markdown dokumentu`. Kao takav, služi kao uzorni okvir za autorstvo u znanosti o podacima jer vam omogućuje da kombinirate svoj kôd, njegov izlaz i svoje misli dopuštajući vam da ih zapišete u Markdownu. Štoviše, R Markdown dokumenti mogu se prikazati u izlaznim formatima poput PDF-a, HTML-a ili Word-a. - -> **Napomena o kvizovima**: Svi su kvizovi sadržani u [Mapi kviz aplikacije](../../quiz-app), ukupno 52 kviza sa po tri pitanja. Povezani su unutar lekcija, ali se kviz aplikacija može pokrenuti lokalno; slijedite upute u mapi `quiz-app` da lokalno pokrenete ili implementirate na Azure. - -| Broj lekcije | Tema | Grupiranje lekcija | Ciljevi učenja | Povezana lekcija | Autor | -| :-----------: | :------------------------------------------------------------: | :----------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: | -| 01 | Uvod u strojarno učenje | [Uvod](1-Introduction/README.md) | Naučite osnovne pojmove iza strojnog učenja | [Lekcija](1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | Povijest strojnog učenja | [Uvod](1-Introduction/README.md) | Naučite povijest ovog područja | [Lekcija](1-Introduction/2-history-of-ML/README.md) | Jen i Amy | -| 03 | Pravednost i strojno učenje | [Uvod](1-Introduction/README.md) | Koja su važna filozofska pitanja o pravednosti koja bi studenti trebali razmotriti pri izgradnji i primjeni ML modela? | [Lekcija](1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | Tehnike strojnog učenja | [Uvod](1-Introduction/README.md) | Koje tehnike istraživači strojnog učenja koriste za izgradnju ML modela? | [Lekcija](1-Introduction/4-techniques-of-ML/README.md) | Chris i Jen | -| 05 | Uvod u regresiju | [Regresija](2-Regression/README.md) | Počnite s Pythonom i Scikit-learn za regresijske modele | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau | -| 06 | Cijene tikvi u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Vizualizirajte i očistite podatke u pripremi za ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau | -| 07 | Cijene tikvi u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Izgradite linearne i polinomske regresijske modele | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen i Dmitry • Eric Wanjau | -| 08 | Cijene tikvi u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Izgradite logistički regresijski model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau | -| 09 | Web aplikacija 🔌 | [Web App](3-Web-App/README.md) | Izgradite web aplikaciju za korištenje vašeg istreniranog modela | [Python](3-Web-App/1-Web-App/README.md) | Jen | -| 10 | Uvod u klasifikaciju | [Klasifikacija](4-Classification/README.md) | Očistite, pripremite i vizualizirajte svoje podatke; uvod u klasifikaciju | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen i Cassie • Eric Wanjau | -| 11 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Uvod u klasifikatore | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen i Cassie • Eric Wanjau | -| 12 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Još klasifikatora | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen i Cassie • Eric Wanjau | -| 13 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Izgradite preporučiteljsku web aplikaciju koristeći svoj model | [Python](4-Classification/4-Applied/README.md) | Jen | -| 14 | Uvod u klasteriranje | [Klasteriranje](5-Clustering/README.md) | Očistite, pripremite i vizualizirajte svoje podatke; Uvod u klasteriranje | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau | -| 15 | Istraživanje glazbenih ukusa Nigerije 🎧 | [Klasteriranje](5-Clustering/README.md) | Istražite K-means metodu klasteriranja | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau | -| 16 | Uvod u obradu prirodnog jezika ☕️ | [Obrada prirodnog jezika](6-NLP/README.md) | Naučite osnove NLP-a gradeći jednostavnog bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | Uobičajeni NLP zadaci ☕️ | [Obrada prirodnog jezika](6-NLP/README.md) | Produbite svoje NLP znanje razumijevanjem uobičajenih zadataka potrebnih za rad s jezičnim strukturama | [Python](6-NLP/2-Tasks/README.md) | Stephen | -| 18 | Prevod i analiza sentimenta ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Prijevod i analiza sentimenta s Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | Romantični hoteli Europe ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Analiza sentimenta na recenzijama hotela 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | Romantični hoteli Europe ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Analiza sentimenta na recenzijama hotela 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | Uvod u predviđanje vremenskih serija | [Vremenske serije](7-TimeSeries/README.md) | Uvod u predviđanje vremenskih serija | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ Svjetska potrošnja energije ⚡️ - predviđanje s ARIMA | [Vremenske serije](7-TimeSeries/README.md) | Predviđanje vremenskih serija s ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | ⚡️ Svjetska potrošnja energije ⚡️ - predviđanje s SVR | [Vremenske serije](7-TimeSeries/README.md) | Predviđanje vremenskih serija s Support Vector Regressorom | [Python](7-TimeSeries/3-SVR/README.md) | Anirban | -| 24 | Uvod u pojačano učenje | [Pojačano učenje](8-Reinforcement/README.md) | Uvod u pojačano učenje s Q-Learningom | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 25 | Pomozi Peteru izbjeći vuka! 🐺 | [Pojačano učenje](8-Reinforcement/README.md) | Pojačano učenje u Gym okruženju | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry | -| Postscript | Scenariji i primjene strojnog učenja u stvarnom svijetu | [ML u stvarnom svijetu](9-Real-World/README.md) | Zanimljive i otkrivajuće primjene klasičnog strojnog učenja | [Lekcija](9-Real-World/1-Applications/README.md) | Tim | -| Postscript | Debugiranje modela u strojnog učenja korištenjem RAI nadzorne ploče | [ML u stvarnom svijetu](9-Real-World/README.md) | Debugiranje modela u strojnog učenja koristeći Responsible AI nadzorne ploče komponente | [Lekcija](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu | - -> [pronađi sve dodatne resurse za ovaj tečaj u našoj Microsoft Learn kolekciji](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) - -## Pristup bez interneta - -Možete koristiti ovu dokumentaciju offline pomoću [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svojem računalu i zatim u korijenskoj mapi ovog repozitorija unesite `docsify serve`. Web stranica će biti dostupna na portu 3000 na vašem lokalnom računalu: `localhost:3000`. +- [kviz nakon predavanja](https://ff-quizzes.netlify.app/en/ml/) +> **Napomena o jezicima**: Ove lekcije su prvenstveno napisane u Pythonu, ali mnoge su dostupne i u R-u. Za dovršetak R lekcije, idite u mapu `/solution` i potražite R lekcije. One uključuju ekstenziju .rmd koja predstavlja **R Markdown** datoteku koja se može jednostavno definirati kao umetak `code chunks` (R ili drugih jezika) i `YAML zaglavlja` (koje usmjerava kako formatirati izlaze poput PDF-a) u `Markdown dokumentu`. Kao takav, služi kao izvrstan okvir za autorstvo u znanosti o podacima jer vam omogućuje da kombinirate svoj kod, njegov izlaz i svoje misli pišući ih u Markdownu. Nadalje, R Markdown dokumenti se mogu prikazati u izlaznim formatima poput PDF, HTML ili Word. + +> **Napomena o kvizovima**: Svi kvizovi se nalaze u [Quiz App mapi](../../quiz-app), ukupno 52 kviza s po tri pitanja. Povezani su unutar lekcija, ali aplikaciju za kviz možete pokrenuti lokalno; slijedite upute u mapi `quiz-app` za lokalno hostanje ili postavljanje na Azure. + +| Broj lekcije | Tema | Skup lekcija | Ciljevi učenja | Povezana lekcija | Autor | +| :----------: | :----------------------------------------------------------: | :----------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: | +| 01 | Uvod u strojno učenje | [Uvod](1-Introduction/README.md) | Naučite osnovne pojmove strojnog učenja | [Lekcija](1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | Povijest strojnog učenja | [Uvod](1-Introduction/README.md) | Naučite povijest koja stoji iza ovog područja | [Lekcija](1-Introduction/2-history-of-ML/README.md) | Jen i Amy | +| 03 | Pravednost i strojno učenje | [Uvod](1-Introduction/README.md) | Koja su važna filozofska pitanja o pravednosti koja studenti trebaju uzeti u obzir pri izradi i primjeni ML modela? | [Lekcija](1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | Tehnike za strojno učenje | [Uvod](1-Introduction/README.md) | Koje tehnike istraživači strojnog učenja koriste za izgradnju ML modela? | [Lekcija](1-Introduction/4-techniques-of-ML/README.md) | Chris i Jen | +| 05 | Uvod u regresiju | [Regresija](2-Regression/README.md) | Počnite s Pythonom i Scikit-learnom za regresijske modele | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau | +| 06 | Cijene bundeva u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Vizualizirajte i očistite podatke u pripremi za ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau | +| 07 | Cijene bundeva u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Izgradite linearne i polinomijske regresijske modele | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen i Dmitry • Eric Wanjau | +| 08 | Cijene bundeva u Sjevernoj Americi 🎃 | [Regresija](2-Regression/README.md) | Izgradite logistički regresijski model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau | +| 09 | Web aplikacija 🔌 | [Web App](3-Web-App/README.md) | Izgradite web aplikaciju za korištenje vašeg treniranog modela | [Python](3-Web-App/1-Web-App/README.md) | Jen | +| 10 | Uvod u klasifikaciju | [Klasifikacija](4-Classification/README.md) | Očistite, pripremite i vizualizirajte svoje podatke; uvod u klasifikaciju | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen i Cassie • Eric Wanjau | +| 11 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Uvod u klasifikatore | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen i Cassie • Eric Wanjau | +| 12 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Još klasifikatora | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen i Cassie • Eric Wanjau | +| 13 | Ukusne azijske i indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Izgradite preporučiteljsku web aplikaciju koristeći svoj model | [Python](4-Classification/4-Applied/README.md) | Jen | +| 14 | Uvod u klasteriranje | [Klasteriranje](5-Clustering/README.md) | Očistite, pripremite i vizualizirajte svoje podatke; Uvod u klasteriranje | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau | +| 15 | Istraživanje glazbenih ukusa Nigerije 🎧 | [Klasteriranje](5-Clustering/README.md) | Istražite metodu K-Means klasteriranja | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau | +| 16 | Uvod u obradu prirodnog jezika ☕️ | [Obrada prirodnog jezika](6-NLP/README.md) | Naučite osnove NLP-a izradom jednostavnog bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | Uobičajeni NLP zadaci ☕️ | [Obrada prirodnog jezika](6-NLP/README.md) | Produbite svoje NLP znanje razumijevanjem uobičajenih zadataka u radu s jezičnim strukturama | [Python](6-NLP/2-Tasks/README.md) | Stephen | +| 18 | Prevođenje i analiza sentimenta ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Prevođenje i analiza sentimenta s Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | Romantični hoteli u Europi ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Analiza sentimenta uz recenzije hotela 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | Romantični hoteli u Europi ♥️ | [Obrada prirodnog jezika](6-NLP/README.md) | Analiza sentimenta uz recenzije hotela 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | Uvod u vremenske serije i prognoze | [Vremenske serije](7-TimeSeries/README.md) | Uvod u vremenske serije i prognoziranje | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ Svjetska potrošnja električne energije ⚡️ - prognoza vremenskih serija s ARIMA | [Vremenske serije](7-TimeSeries/README.md) | Prognozira vremenske serije korištenjem ARIMA modela | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | ⚡️ Svjetska potrošnja električne energije ⚡️ - prognoza vremenskih serija s SVR | [Vremenske serije](7-TimeSeries/README.md) | Prognoza vremenskih serija pomoću regresora potpornih vektora (SVR) | [Python](7-TimeSeries/3-SVR/README.md) | Anirban | +| 24 | Uvod u učenje pojačanjem | [Učenje pojačanjem](8-Reinforcement/README.md) | Uvod u učenje pojačanjem s Q-Learning metodom | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 25 | Pomozi Petru izbjeći vuka! 🐺 | [Učenje pojačanjem](8-Reinforcement/README.md) | Učenje pojačanjem Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry | +| Dodatek | Scenariji i primjene ML u stvarnom svijetu | [ML u divljini](9-Real-World/README.md) | Zanimljive i poučne primjene klasičnog strojnog učenja u stvarnom svijetu | [Lekcija](9-Real-World/1-Applications/README.md) | Tim | +| Dodatek | Otklanjanje pogrešaka u ML pomoću RAI nadzorne ploče | [ML u divljini](9-Real-World/README.md) | Otklanjanje pogrešaka u strojnim modelima korištenjem komponenti Responsible AI nadzorne ploče | [Lekcija](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu | + +> [pronađite sve dodatne resurse za ovaj tečaj u našoj Microsoft Learn kolekciji](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) + +## Offline pristup + +Ovu dokumentaciju možete pokrenuti offline pomoću [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svoje lokalno računalo, a zatim u korijenskoj mapi ovog repozitorija upišite `docsify serve`. Web stranica će se poslužiti na portu 3000 na vašem localhostu: `localhost:3000`. ## PDF-ovi -Pronađite PDF nastavnog plana s povezanim linkovima [ovdje](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf). +Pronađite PDF kurikuluma s vezama [ovdje](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf). -## 🎒 Ostali tečajevi +## 🎒 Drugi tečajevi Naš tim proizvodi i druge tečajeve! Pogledajte: @@ -182,15 +182,15 @@ Naš tim proizvodi i druge tečajeve! Pogledajte: [![LangChain za početnike](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 +### Azure / Edge / MCP / Agenti [![AZD za početnike](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 za početnike](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 za početnike](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 agenti za početnike](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI Agent za početnike](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) --- -### Serija generativne umjetne inteligencije +### Serija Generativne AI [![Generativna AI za početnike](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) [![Generativna 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) [![Generativna 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) @@ -199,8 +199,8 @@ Naš tim proizvodi i druge tečajeve! Pogledajte: --- ### Osnovno učenje -[![Strojno učenje za početnike](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) -[![Znanost o podacima za početnike](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) +[![ML za početnike](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 za početnike](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 za početnike](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) [![Kibernetička sigurnost za početnike](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 razvoj za početnike](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) @@ -210,29 +210,40 @@ Naš tim proizvodi i druge tečajeve! Pogledajte: --- ### Serija Copilot -[![Copilot za AI programski par](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 za AI upareno programiranje](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 za 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 avantura](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) ## Dobivanje pomoći -Ako zapnete ili imate pitanja o izradi AI aplikacija. Pridružite se kolegama učenicima i iskusnim programerima u raspravama o MCP-u. To je podržavajuća zajednica gdje su pitanja dobrodošla, a znanje se slobodno dijeli. +Ako zapnete ili imate pitanja dok učite Strojno učenje ili gradite AI aplikacije, ne brinite — pomoć je dostupna. -[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) +Možete se pridružiti raspravama s drugim učenicima i programerima, postavljati pitanja i dijeliti svoje ideje sa zajednicom. -Ako imate povratne informacije o proizvodu ili pogreške tijekom izrade posjetite: +- Pridružite se zajednici da postavljate pitanja i učite s drugima +- Raspravljajte o konceptima strojnog učenja i idejama projekata +- Dobijte smjernice od iskusnih programera + +Podržavajuća zajednica je odličan način da razvijete svoje vještine i brže riješite probleme. + +[Microsoft Foundry Discord Community](https://discord.gg/nTYy5BXMWG) + +Ako naiđete na greške, pogreške ili imate prijedloge za poboljšanja, također možete otvoriti **Issue** u ovom spremištu da prijavite problem. + +Za povratne informacije o proizvodu ili pretraživanje postojećih objava zajednice, posjetite Forum za programere: [![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) + ## Dodatni savjeti za učenje -- Pregledavajte bilježnice nakon svakog sata radi boljeg razumijevanja. -- Vježbajte implementaciju algoritama sami. -- Istražujte stvarne skupove podataka koristeći naučene koncepte. +- Pregledajte bilježnice nakon svake lekcije za bolje razumijevanje. +- Vježbajte samostalnu implementaciju algoritama. +- Istražite stvarne skupove podataka koristeći naučene koncepte. --- **Odricanje od odgovornosti**: -Ovaj dokument preveden je uz pomoć AI usluge za prijevod [Co-op Translator](https://github.com/Azure/co-op-translator). Iako se trudimo biti točni, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na njegovom izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. +Ovaj dokument preveden je korištenjem AI usluge za prijevod [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo postići točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporučuje se stručni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/sl/.co-op-translator.json b/translations/sl/.co-op-translator.json index 0e743f4be..9b46f3b6b 100644 --- a/translations/sl/.co-op-translator.json +++ b/translations/sl/.co-op-translator.json @@ -90,8 +90,8 @@ "language_code": "sl" }, "2-Regression/3-Linear/README.md": { - "original_hash": "9a8359f1945bd3beccccb2b46592580e", - "translation_date": "2026-02-28T09:51:29+00:00", + "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", + "translation_date": "2026-04-20T19:18:31+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "sl" }, @@ -168,8 +168,8 @@ "language_code": "sl" }, "4-Classification/2-Classifiers-1/README.md": { - "original_hash": "1a6e9e46b34a2e559fbbfc1f95397c7b", - "translation_date": "2025-09-05T13:05:40+00:00", + "original_hash": "cb761595e5b6c42b99bb81bd13683311", + "translation_date": "2026-04-20T19:19:36+00:00", "source_file": "4-Classification/2-Classifiers-1/README.md", "language_code": "sl" }, @@ -552,8 +552,8 @@ "language_code": "sl" }, "README.md": { - "original_hash": "7fb48097f57e680b380cd9aae988d317", - "translation_date": "2026-04-06T17:29:35+00:00", + "original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0", + "translation_date": "2026-04-20T19:16:56+00:00", "source_file": "README.md", "language_code": "sl" }, diff --git a/translations/sl/2-Regression/3-Linear/README.md b/translations/sl/2-Regression/3-Linear/README.md index a9cfd2cba..e455a2f95 100644 --- a/translations/sl/2-Regression/3-Linear/README.md +++ b/translations/sl/2-Regression/3-Linear/README.md @@ -1,97 +1,97 @@ -# Ustvarjanje regresijskega modela z uporabo Scikit-learn: regresija na štiri načine +# Zgradite regresijski model s Scikit-learn: regresija na štiri načine ## Opomba za začetnike -Linearna regresija se uporablja, kadar želimo napovedati **številsko vrednost** (na primer cena hiše, temperatura ali prodaja). -Deluje tako, da najde ravno črto, ki najbolje predstavlja razmerje med vhodnimi značilnostmi in izhodom. +Linearna regresija se uporablja, kadar želimo napovedati **numerično vrednost** (na primer cena hiše, temperatura ali prodaja). +Deluje tako, da najde najboljšo ravno črto, ki predstavlja povezavo med vhodnimi značilnostmi in izhodom. -V tej lekciji se osredotočamo na razumevanje koncepta, preden raziskujemo bolj napredne regresijske tehnike. -![Linearna proti polinomska regresija infografika](../../../../translated_images/sl/linear-polynomial.5523c7cb6576ccab.webp) +V tej lekciji se osredotočamo na razumevanje koncepta, preden raziščemo bolj napredne regresijske tehnike. +![Linear vs polynomial regression infographic](../../../../translated_images/sl/linear-polynomial.5523c7cb6576ccab.webp) > Infografika avtorja [Dasani Madipalli](https://twitter.com/dasani_decoded) -## [Predpredavalni kviz](https://ff-quizzes.netlify.app/en/ml/) +## [Kviz pred predavanjem](https://ff-quizzes.netlify.app/en/ml/) -> ### [Ta lekcija je na voljo v R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) +> ### [Ta lekcija je na voljo tudi v R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) ### Uvod -Do zdaj ste raziskali, kaj je regresija na podlagi vzorčnih podatkov iz nabora podatkov o cenah buč, ki jih bomo uporabljali skozi to lekcijo. Prav tako ste jih vizualizirali z uporabo Matplotlib. +Do zdaj ste raziskovali, kaj je regresija, z vzorčnimi podatki, zbranimi iz podatkovnega nabora za cene buč, ki jih bomo uporabljali v tej lekciji. Prav tako ste ju vizualizirali z uporabo Matplotlib. -Zdaj ste pripravljeni, da se poglobite v regresijo za ML. Medtem ko vizualizacija omogoča razumevanje podatkov, prava moč strojnega učenja izvira iz _usposabljanja modelov_. Modele usposabljamo na zgodovinskih podatkih, da samodejno zajamejo odvisnosti podatkov, in omogočajo napovedovanje izidov za nove podatke, ki jih model še ni videl. +Zdaj ste pripravljeni poglobljeno raziskati regresijo za ML. Medtem ko vizualizacija omogoča razumevanje podatkov, prava moč strojnega učenja izvira iz _usposabljanja modelov_. Modeli se usposabljajo na zgodovinskih podatkih, da samodejno zajamejo odvisnosti med podatki in omogočajo napovedovanje izidov za nove podatke, ki jih model še ni videl. -V tej lekciji boste izvedeli več o dveh vrstah regresije: _osnovni linearni regresiji_ in _polinomski regresiji_, skupaj z nekaj matematike, ki je osnova teh tehnik. Ti modeli nam bodo omogočili napovedovanje cen buč glede na različne vhodne podatke. +V tej lekciji boste spoznali dve vrsti regresije: _osnovno linearno regresijo_ in _polinomsko regresijo_, skupaj z nekaj matematike, ki je podlaga za ti tehniki. Ti modeli nam bodo omogočili napovedovanje cen buč glede na različne vhodne podatke. -[![ML za začetnike - Razumevanje linearne regresije](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML za začetnike - Razumevanje linearne regresije") +[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") -> 🎥 Kliknite na sliko zgoraj za kratek video pregled linearne regresije. +> 🎥 Kliknite na zgornjo sliko za kratek video pregled linearne regresije. -> V celotnem učnem načrtu predvidevamo minimalno znanje matematike in želimo, da je dostopen študentom iz drugih področij, zato bodite pozorni na opombe, 🧮 klice, diagrame in druge učne pripomočke, ki pomagajo pri razumevanju. +> V celotnem tematskem sklopu predvidevamo minimalno matematično znanje in želimo, da bo dostopno študentom iz drugih področij, zato bodite pozorni na opombe, 🧮 oznake, diagrame in druge učne pripomočke za lažje razumevanje. ### Predpogoj -Ugotoviti bi morali, da se seznanjate s strukturo podatkov o bučah, ki jih preučujemo. Najdete jih naložene in očiščene v datoteki _notebook.ipynb_ te lekcije. V tej datoteki je cena buče prikazana na mero bushela v novi podatkovni tabeli. Prepričajte se, da lahko te zvezke zaženete v okolju Visual Studio Code. +Zdaj morate biti seznanjeni s strukturo podatkov o bučah, ki jih preučujemo. Te podatke najdete prednaložene in očiščene v datoteki _notebook.ipynb_ te lekcije. V tej datoteki je cena buče prikazana na merico (bushel) v novem podatkovnem okviru. Poskrbite, da lahko te zvezke zaženete v jedrih (kernels) v Visual Studio Code. ### Priprava -Za opomnik, ta podatke nalagate zato, da bi lahko zastavljali vprašanja o njih. +Kot opomnik, te podatke nalagate, da bi lahko postavili vprašanja. - Kdaj je najboljši čas za nakup buč? -- Kakšno ceno lahko pričakujem za škatlo mini buč? -- Naj jih kupim v košarah za pol bushela ali v škatlah za 1 1/9 bushel? -Poglejmo torej podrobneje v te podatke. +- Kakšno ceno lahko pričakujem za škatlo miniaturnih buč? +- Naj jih kupim v košarah za pol bushela ali v škatlah za 1 1/9 bushela? +Poglobimo se še naprej v te podatke. -V prejšnji lekciji ste ustvarili Pandasovo podatkovno tabelo in jo napolnili z delom izvirnega nabora podatkov ter standardizirali cene glede na mero bushela. S tem pa ste pridobili le približno 400 podatkovnih točk in samo za jesenske mesece. +V prejšnji lekciji ste ustvarili Pandas podatkovni okvir in vanj vnesli del originalnega nabora podatkov, kjer ste standardizirali cene glede na bushel. S tem ste lahko zajeli približno 400 podatkovnih točk in le za jesenske mesece. -Poglejte si podatke, ki smo jih prednaložili v spremljajočem zvezku za to lekcijo. Podatki so prednaloženi, začetni razpršeni graf pa prikazuje mesečne podatke. Morda lahko z dodatnim čiščenjem pridobimo več podrobnosti o naravi podatkov. +Oglejte si podatke, ki smo jih prednaložili v pripadajočem zvezku te lekcije. Podatki so prednaloženi in kaže se začetni razpršeni diagram (scatterplot), ki prikazuje mesečne podatke. Morda lahko pridobimo več podrobnosti o naravi podatkov z dodatnim čiščenjem. ## Linearna regresijska črta -Kot ste se naučili v Lekciji 1, je cilj linearne regresije narisati črto, ki: +Kot ste se naučili v lekciji 1, je cilj linearne regresije sposobnost narisati črto, ki: -- **Prikazuje odnose med spremenljivkami**. Prikaže povezavo med spremenljivkami -- **Naredi napovedi**. Accurate napove, kje bo nova podatkovna točka glede na to črto. +- **Prikazuje razmerja med spremenljivkami.** Prikaže odnos med spremenljivkami. +- **Omogoča napovedi.** Natančno napoveduje, kje bi nova podatkovna točka padla v odnosu do te črte. -Običajno za **najmanjše kvadrate regresije** narišemo tovrstno črto. Izraz "Najmanjši kvadrati" se nanaša na proces minimizacije skupne napake v našem modelu. Za vsako podatkovno točko izmerimo vertikalno razdaljo (katerakoli ostanek) med dejansko točko in regresijsko črto. +Tipično za **regresijo z najmanjšimi kvadrati** je, da se nariše takšna črta. Izraz "najmanjši kvadrati" se nanaša na postopek minimiziranja skupne napake v našem modelu. Za vsako podatkovno točko merimo navpično razdaljo (imenuje se ostanek) med dejansko točko in regresijsko črto. Te razdalje kvadriramo iz dveh glavnih razlogov: -1. **Velikost nad smerjo:** Želimo, da je napaka -5 enaka napaki +5. Kvadriranje pretvori vse vrednosti v pozitivne. +1. **Velikost pred smerjo:** Želimo, da se napaka -5 in +5 obravnavata enako. Kvadriranje naredi vse vrednosti pozitivne. -2. **Kaznovanje odstopanj:** Kvadriranje daje večjo težo večjim napakam, zaradi česar mora črta ostati bližje točkam, ki so daleč stran. +2. **Kaznovanje odstopanj:** Kvadriranje daje večjo težo večjim napakam in sili črto, da ostane bližje točk, ki so bolj oddaljene. -Nato seštejemo vse te kvadrirane vrednosti. Naš cilj je najti točno tisto linijo, kjer je ta končni vsota najmanjša (najmanjša možna vrednost)—od tod ime "najmanjši kvadrati". +Nato seštejemo vse te kvadrirane vrednosti. Naš cilj je poiskati črto, kjer je ta vsota najmanjša (najnižja možna vrednost) — od tod ime "najmanjši kvadrati". -> **🧮 Pokaži mi matematiko** -> +> **🧮 Pokaži mi formulo** +> > Ta črta, imenovana _črta najboljšega prileganja_, je izražena z [enačbo](https://en.wikipedia.org/wiki/Simple_linear_regression): > > ``` > Y = a + bX > ``` > -> `X` je 'razlagaška spremenljivka'. `Y` je 'odvisna spremenljivka'. Naklon črte je `b`, `a` pa je y-presek, ki označuje vrednost `Y`, ko je `X = 0`. +> `X` je 'razložilna spremenljivka'. `Y` je 'odvisna spremenljivka'. Naklon črte je `b`, `a` pa je y-presečišče, kar pomeni vrednost `Y`, ko je `X = 0`. > ->![izračun naklona](../../../../translated_images/sl/slope.f3c9d5910ddbfcf9.webp) +>![izrračunaj naklon](../../../../translated_images/sl/slope.f3c9d5910ddbfcf9.webp) > -> Najprej izračunaj naklon `b`. Infografika avtorja [Jen Looper](https://twitter.com/jenlooper) +> Najprej izračunajte naklon `b`. Infografika avtorice [Jen Looper](https://twitter.com/jenlooper) > -> Z drugimi besedami, in se sklicujoč na prvotno vprašanje glede naših podatkov o bučah: "napovedati ceno buče na bushel glede na mesec", bi `X` predstavljal ceno, `Y` pa mesec prodaje. +> Z drugimi besedami in glede na vprašanje iz podatkov o bučah: "napovedati ceno buče na bushel glede na mesec", `X` bi se nanašal na ceno, `Y` pa na mesec prodaje. > ->![dopolni enačbo](../../../../translated_images/sl/calculation.a209813050a1ddb1.webp) +>![dopovej enačbo](../../../../translated_images/sl/calculation.a209813050a1ddb1.webp) > -> Izračunaj vrednost Y. Če plačuješ okoli 4 $, mora biti april! Infografika avtorja [Jen Looper](https://twitter.com/jenlooper) +> Izračunajte vrednost Y. Če plačujete okoli 4 dolarje, mora biti april! Infografika avtorice [Jen Looper](https://twitter.com/jenlooper) > -> Matematika, ki izračuna črto, mora upoštevati naklon črte, ki je odvisen tudi od preseka, torej kje je `Y`, ko je `X = 0`. +> Matematika, ki izračuna črto, mora prikazati naklon črte, ki je tudi odvisen od presečišča, oziroma kje se `Y` nahaja, ko je `X = 0`. > -> Metode za izračun teh vrednosti si lahko ogledate na spletni strani [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Prav tako obiščite [ta kalkulator najmanjših kvadratov](https://www.mathsisfun.com/data/least-squares-calculator.html), kjer lahko vidite, kako vrednosti števil vplivajo na črto. +> Metode za izračun teh vrednosti lahko opazujete na spletni strani [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Obiščite tudi [ta kalkulator najmanjših kvadratov](https://www.mathsisfun.com/data/least-squares-calculator.html), da vidite, kako vrednosti vplivajo na črto. ## Korelacija -Še en pojem, ki ga je treba razumeti, je **koeficient korelacije** med danima spremenljivkama X in Y. Z uporabo razpršenega grafa lahko hitro vizualizirate ta koeficient. Graf s podatkovnimi točkami, razporejenimi v lepo črto, ima visoko korelacijo, medtem ko graf s podatkovnimi točkami, raztresenimi povsod med X in Y, ima nizko korelacijo. +Še en izraz za razumevanje je **korelacijski koeficient** med danima spremenljivkama X in Y. Z uporabo scatterplota lahko hitro vizualizirate ta koeficient. Diagram, kjer so podatkovne točke razvrščene v lepo črto, ima visoko korelacijo, medtem ko ima diagram z razpršenimi točkami po celotnem območju X in Y nizko korelacijo. -Dober linearni regresijski model je tisti, ki ima visok (bližji 1 kot 0) koeficient korelacije, izračunan z metodo najmanjših kvadratov s črto regresije. +Dober linearni regresijski model bo tisti, ki ima visok (bližje 1 kot 0) korelacijski koeficient z metodo najmanjših kvadratov in regresijsko črto. -✅ Zaženite zvezek, ki spremlja to lekcijo, in si oglejte razpršeni graf Mesecev proti Ceni. Ali se zdi, da ima podatek, ki povezuje mesec s ceno pri prodaji buč, visoko ali nizko korelacijo glede na vašo vizualno interpretacijo razpršenega grafa? Ali se kaj spremeni, če uporabite bolj natančno meritev namesto `Month`, npr. *dan v letu* (to je število dni od začetka leta)? +✅ Zaženite zvezek, ki spremlja to lekcijo, in si oglejte scatterplot Medijec glede na Ceno. Ali se podatki povezani z mesecem in ceno za prodajo buč zdijo imeti visoko ali nizko korelacijo glede na vašo vizualno interpretacijo scatterplota? Se to spremeni, če uporabite bolj natančno mero namesto `Month`, npr. *dan v letu* (tj. število dni od začetka leta)? -V spodnji kodi bomo predpostavili, da smo podatke očistili in pridobili podatkovno tabelo z imenom `new_pumpkins`, podobno spodnjemu: +V spodnji kodi bomo predpostavili, da smo podatke očistili in dobili podatkovni okvir z imenom `new_pumpkins`, podoben naslednjemu: ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price ---|-------|-----------|---------|------|---------|-----------|------------|------- @@ -107,30 +107,30 @@ ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Pri day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` -Zdaj, ko imate razumevanje matematike za linearno regresijo, ustvarimo regresijski model, da vidimo, ali lahko napovemo, katera embalaža buč bo imela najboljše cene. Nekdo, ki kupuje buče za praznični bučni vrt, bi želel te informacije, da bi lahko optimiziral svoj nakup. +Zdaj, ko imamo razumevanje matematike za linearno regresijo, ustvarimo regresijski model, da vidimo, ali lahko napovemo, kateri paket buč bo imel najboljše cene. Nekdo, ki kupuje buče za praznično bučno okrasje, bi morda želel to informacijo, da bi lahko optimiziral nakupe paketov. ## Iskanje korelacije -[![ML za začetnike - Iskanje korelacije: ključ linearne regresije](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML za začetnike - Iskanje korelacije: ključ linearne regresije") +[![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") -> 🎥 Kliknite na sliko zgoraj za kratek video pregled korelacije. +> 🎥 Kliknite na zgornjo sliko za kratek video pregled korelacije. -Iz prejšnje lekcije ste verjetno videli, da povprečna cena v različnih mesecih izgleda tako: +Iz prejšnje lekcije ste verjetno videli, da povprečna cena za različne mesece izgleda takole: -Povprečna cena po mesecih +Average price by month -To kaže, da mora obstajati neka korelacija in lahko poskusimo usposobiti linearni regresijski model za napovedovanje odnosa med `Month` in `Price` ali med `DayOfYear` in `Price`. Tukaj je razpršeni graf, ki prikazuje slednji odnos: +To nakazuje, da bi morala obstajati neka korelacija, in lahko poskusimo usposobiti linearni regresijski model, ki napoveduje odnos med `Month` in `Price` ali med `DayOfYear` in `Price`. Tukaj je scatterplot, ki prikazuje slednji odnos: -Razpršeni graf Price proti Day of Year +Scatter plot of Price vs. Day of Year -Poglejmo, ali obstaja korelacija z uporabo funkcije `corr`: +Poglejmo, ali je korelacija ob uporabi funkcije `corr`: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` -Zdi se, da je korelacija precej majhna, -0,15 glede na `Month` in -0,17 glede na `DayOfMonth`, lahko pa obstaja druga pomembna povezava. Zdi se, da so različni grozdi cen, ki ustrezajo različnim sortam buč. Da potrdimo to hipotezo, narišimo vsako kategorijo buč z drugo barvo. Tako da podamo parameter `ax` funkciji `scatter` lahko vse točke narišemo v isti graf: +Zdi se, da je korelacija precej majhna, -0,15 glede na `Month` in -0,17 glede na `DayOfMonth`, vendar je lahko še kakšen drug pomemben odnos. Zdi se, da obstajajo različni grozdi cen, ki ustrezajo različnim sortam buč. Za potrditev te hipoteze prikažimo vsak razred buč z drugo barvo. Z uporabo parametra `ax` funkciji `scatter` lahko narišemo vse točke na istem diagramu: ```python ax=None @@ -140,40 +140,40 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var) ``` -Razpršeni graf Price proti Day of Year s barvami +Scatter plot of Price vs. Day of Year -Naše raziskave nakazujejo, da ima sorta večji vpliv na skupno ceno kot dejanski datum prodaje. To lahko vidimo z stolpičnim grafom: +Naša preiskava nakazuje, da ima sorta večji vpliv na ceno kot dejanski datum prodaje. To lahko vidimo s stolpčnim diagramom: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') ``` -Stolpični graf cen glede na sorto buče +Bar graph of price vs variety -Za zdaj se osredotočimo samo na eno sorto buč, 'pie type', in poglejmo, kakšen vpliv ima datum na ceno: +Za trenutek se osredotočimo samo na eno sorto buč, 'tip pite', in si oglejmo, kakšen vpliv ima datum na ceno: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] pie_pumpkins.plot.scatter('DayOfYear','Price') ``` -Razpršeni graf Price proti Day of Year za sorto pie type +Scatter plot of Price vs. Day of Year -Če zdaj izračunamo korelacijo med `Price` in `DayOfYear` z uporabo funkcije `corr`, bomo dobili nekaj takega kot `-0.27` – kar pomeni, da smiselno trenirati napovedni model. +Če zdaj izračunamo korelacijo med `Price` in `DayOfYear` z uporabo funkcije `corr`, bomo dobili nekaj okoli `-0,27` - kar pomeni, da ima smisel usposabljanje napovednega modela. -> Preden usposobimo linearen regresijski model, je pomembno zagotoviti, da so naši podatki čisti. Linearna regresija ne deluje dobro z manjkajočimi vrednostmi, zato je smiselno odstraniti vse prazne celice: +> Pred usposabljanjem linearnega regresijskega modela je pomembno, da podatki niso nepopolni. Linearna regresija ne deluje dobro z manjkajočimi vrednostmi, zato je smiselno odstraniti vse prazne celice: ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` -Druga možnost je, da te prazne vrednosti zapolnimo s povprečnimi vrednostmi iz ustreznega stolpca. +Drugi pristop bi bil, da prazne vrednosti zapolnimo s povprečnimi vrednostmi iz ustreznega stolpca. -## Enostavna linearna regresija +## Preprosta linearna regresija -[![ML za začetnike - Linearna in polinomska regresija z uporabo Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML za začetnike - Linearna in polinomska regresija z uporabo 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") -> 🎥 Kliknite na sliko zgoraj za kratek video pregled linearne in polinomske regresije. +> 🎥 Kliknite na zgornjo sliko za kratek video pregled linearne in polinomske regresije. Za usposabljanje našega modela linearne regresije bomo uporabili knjižnico **Scikit-learn**. @@ -183,48 +183,48 @@ from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` -Začnemo tako, da ločimo vhodne vrednosti (značilnosti) in pričakovani izhod (oznako) v ločene numpy polja: +Najprej ločimo vhodne vrednosti (značilnosti) in pričakovani izhod (oznake) v ločene numpy tabele: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` -> Upoštevajte, da smo morali na vhodne podatke uporabiti `reshape`, da jih je paket LinearRegression pravilno razumel. Linearna regresija namreč pričakuje vhod v obliki 2D polja, kjer vsak vrstični vektor predstavlja vektor vhodnih značilnosti. V našem primeru, ker imamo samo en vhod, potrebujemo polje oblike N×1, kjer je N velikost nabora podatkov. +> Upoštevajte, da smo morali vhodne podatke preoblikovati z uporabo `reshape`, da jih paket Linear Regression pravilno razume. Linearna regresija pričakuje 2D-tabelo kot vhod, kjer vsak vrstica predstavlja vektor vhodnih značilnosti. V našem primeru, ker imamo samo eno vhodno vrednost, potrebujemo tabelo oblike N×1, kjer je N velikost nabora podatkov. -Nato moramo podatke razdeliti na učni in testni sklop, da lahko model preverimo po usposabljanju: +Nato moramo podatke razdeliti na učni in testni nabor, da lahko preverimo model po usposabljanju: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` -Na koncu usposabljanje modela linearne regresije traja le dve vrstici kode. Definiramo objekt `LinearRegression` in ga prilagodimo našim podatkom z metodo `fit`: +Nazadnje usposabljanje samega linearnega regresijskega modela vzame le dve vrstici kode. Definiramo objekt `LinearRegression` in ga prilagodimo našim podatkom z metodo `fit`: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` -Objekt `LinearRegression` po prilagoditvi (`fit`) vsebuje vse koeficiente regresije, do katerih lahko dostopamo z lastnostjo `.coef_`. V našem primeru je samo en koeficient, ki bi moral biti okoli `-0.017`. To pomeni, da se cene zdi, da nekoliko padajo s časom, vendar ne preveč, približno 2 centa na dan. Do presečišča regresije z Y-osjo lahko dostopamo tudi z `lin_reg.intercept_` - v našem primeru bo okoli `21`, kar daje informacijo o ceni na začetku leta. +Objekt `LinearRegression` po `fit`-anju vsebuje vse koeficiente regresije, do katerih lahko dostopamo z lastnostjo `.coef_`. V našem primeru je le en koeficient, ki naj bi bil okoli `-0.017`. To pomeni, da se cene zdi, da rahlo upadajo sčasoma, vendar ne preveč, približno 2 centa na dan. Dostopamo lahko tudi do presečišča regresije z Y-osjo z uporabo `lin_reg.intercept_` - v našem primeru bo to okoli `21`, kar nakazuje ceno na začetku leta. -Za preverjanje točnosti našega modela lahko napovemo cene na testnem naboru podatkov in nato merimo, kako blizu so naše napovedi pričakovanim vrednostim. To lahko storimo z merjenjem srednje kvadratne napake (MSE), kar je srednja vrednost vseh kvadratov razlik med pričakovano in napovedano vrednostjo. +Da vidimo, kako natančen je naš model, lahko napovemo cene na testnem naboru podatkov in nato izmerimo, kako blizu so naše napovedi pričakovanim vrednostim. To lahko storimo z uporabo metrike korenskega povprečnega kvadratnega odklona (RMSE), ki je koren povprečja vseh kvadratnih razlik med pričakovano in napovedano vrednostjo. ```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}%)') +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` -Naša napaka je okoli 2 točki, kar je ~17 %. Ni ravno dobro. Drug indikator kakovosti modela je **koeficient determinacije**, ki ga lahko pridobimo na naslednji način: +Naša napaka je približno 2 točki, kar je ~17%. Ni prav dobro. Drugi pokazatelj kakovosti modela je **koeficient determinacije**, ki ga lahko dobimo tako: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` -Če je vrednost 0, pomeni, da model ne upošteva vhodnih podatkov in deluje kot *najslabši linearni napovedovalec*, ki je preprosto povprečna vrednost rezultata. Vrednost 1 pomeni, da lahko popolnoma napovemo vse pričakovane izide. V našem primeru je koeficient okoli 0.06, kar je precej nizko. +Če je vrednost 0, to pomeni, da model ne upošteva vhodnih podatkov in deluje kot *najslabši linearni napovedovalec*, ki je preprosto povprečna vrednost rezultata. Vrednost 1 pomeni, da lahko dokončno napovemo vse pričakovane izhode. V našem primeru je koeficient okoli 0,06, kar je precej nizko. -Testne podatke lahko tudi narišemo skupaj z regresijsko premico, da bolje vidimo, kako regresija deluje v našem primeru: +Lahko tudi narišemo testne podatke skupaj z regresijsko premico, da lažje vidimo, kako regresija deluje v našem primeru: ```python plt.scatter(X_test,y_test) @@ -235,17 +235,17 @@ plt.plot(X_test,pred) ## Polinomska regresija -Druga vrsta linearne regresije je polinomska regresija. Čeprav obstaja včasih linearna povezava med spremenljivkami - večja kot je buča po prostornini, višja je cena - včasih teh povezav ni mogoče prikazati kot ravnino ali ravno črto. +Druga vrsta linearne regresije je polinomska regresija. Medtem ko je včasih linearni odnos med spremenljivkami - večja kot je buča po volumnu, višja je cena - so včasih ti odnosi takšni, da jih ne moremo prikazati kot ravnino ali ravno črto. -✅ Tu je [še nekaj primerov](https://online.stat.psu.edu/stat501/lesson/9/9.8) podatkov, kjer bi lahko uporabili polinomsko regresijo. +✅ Tukaj je [še nekaj primerov](https://online.stat.psu.edu/stat501/lesson/9/9.8) podatkov, ki bi lahko uporabili polinomsko regresijo. -Oglejmo si še enkrat odnos med Datumom in Ceno. Ali ta diagram razpršitve nujno kaže, da se mora analizirati z ravno črto? Ali cene ne morejo nihati? V tem primeru lahko poskusimo polinomsko regresijo. +Poglejmo še enkrat odnos med datumom in ceno. Ali se vam ta raščrtani graf zdi, da bi ga bilo treba nujno analizirati z ravno črto? Se cene ne morejo spreminjati? V tem primeru lahko poskusite polinomsko regresijo. -✅ Polinomi so matematični izrazi, ki so lahko sestavljeni iz ene ali več spremenljivk in koeficientov. +✅ Polinomi so matematični izrazi, ki lahko vsebujejo eno ali več spremenljivk in koeficientov. -Polinomska regresija ustvari ukrivljeno črto, da bolje ustreza nelinearnim podatkom. V našem primeru, če vključimo kvadratno variablo `DayOfYear`, bi morali podatke prilagoditi paraboli, ki bo imela minimum v določenem trenutku v letu. +Polinomska regresija ustvari ukrivljeno črto, da bolje prilepi nelinearne podatke. V našem primeru, če vključimo spremenljivko z kvadratom `DayOfYear` v vhodne podatke, bi morali biti sposobni prilegati naše podatke s parabolično krivuljo, ki bo imela minimum na določeni točki v letu. -Scikit-learn vključuje uporabno [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) za združevanje različnih korakov obdelave podatkov skupaj. **Pipeline** je veriga **ocenjevalcev**. V našem primeru bomo ustvarili pipeline, ki najprej doda polinomske značilnosti modelu, nato pa izvede učenje regresije: +Scikit-learn vključuje uporaben [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) za združevanje različnih korakov obdelave podatkov. **Pipeline** je veriga **estimatorjev**. V našem primeru bomo ustvarili pipeline, ki najprej doda polinomske značilnosti k našemu modelu, nato pa izvede učenje regresije: ```python from sklearn.preprocessing import PolynomialFeatures @@ -256,34 +256,34 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` -Uporaba `PolynomialFeatures(2)` pomeni, da bomo vključili vse polinome drugega reda iz vhodnih podatkov. V našem primeru to pomeni samo `DayOfYear`2, vendar če imamo dve vhodni spremenljivki X in Y, bo to dodalo X2, XY in Y2. Uporabimo lahko tudi poljuben višji red polinomov, če želimo. +Uporaba `PolynomialFeatures(2)` pomeni, da bomo vključili vse polinome druge stopnje iz vhodnih podatkov. V našem primeru bo to samo pomenilo `DayOfYear`2, vendar pa pri dveh vhodnih spremenljivkah X in Y doda X2, XY in Y2. Lahko uporabimo tudi višje stopnje polinomov, če želimo. -Pipepline lahko uporabljamo na enak način kot izvirni objekt `LinearRegression`, torej lahko na pipeline uporabimo `fit`, nato pa uporabimo `predict` za pridobitev rezultatov napovedi. Tu je graf, ki prikazuje testne podatke in približno krivuljo: +Pipeline lahko uporabljamo na enak način kot izvorni objekt `LinearRegression`, tj. lahko uporabimo `fit` na pipelineu in nato uporabimo `predict` za pridobitev rezultatov napovedi. Tukaj je graf, ki prikazuje testne podatke in približno krivuljo: Polynomial regression -Z uporabo polinomske regresije lahko dosežemo nekoliko nižjo vrednost MSE in višji koeficient determinacije, vendar ne bistveno. Potrebno je upoštevati tudi druge značilnosti! +Z uporabo polinomske regresije lahko dosežemo nekoliko nižjo MSE in višji koeficient determinacije, vendar ne bistveno. Upoštevati moramo še druge značilnosti! -> Vidite, da so minimalne cene buč opazne nekje okoli noči čarovnic. Kako bi to razložili? +> Vidite, da so minimalne cene buč opažene nekje okoli noči čarovnic. Kako to pojasnite? -🎃 Čestitamo, ustvarili ste model, ki lahko napove ceno buč za pito. Verjetno lahko isto proceduro ponovite za vse vrste buč, ampak to bi bilo zamudno. Naučimo se zdaj, kako upoštevati vrsto buče v našem modelu! +🎃 Čestitamo, ravnokar ste ustvarili model, ki lahko pomaga napovedati ceno buč za pito. Verjetno lahko isto proceduro ponovite za vse vrste buč, vendar bi bilo to zamudno. Naučimo se zdaj, kako upoštevati različico buče v našem modelu! -## Kategorikalne značilnosti +## Kategorijske značilnosti -V idealnem svetu želimo napovedovati cene za različne vrste buč z uporabo istega modela. Vendar pa je stolpec `Variety` nekoliko drugačen od stolpcev, kot je `Month`, ker vsebuje nenumerične vrednosti. Takim stolpcem pravimo **kategorikalni**. +V idealnem svetu želimo z istim modelom napovedovati cene za različne vrste buč. Vendar je stolpec `Variety` nekoliko drugačen od stolpcev, kot je `Month`, saj vsebuje neničelne vrednosti. Takšni stolpci se imenujejo **kategorijski**. -[![ML za začetnike - Napovedi kategorialnih značilnosti z linearno regresijo](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML za začetnike - Napovedi kategorialnih značilnosti z linearno regresijo") +[![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") -> 🎥 Kliknite sliko zgoraj za kratek video pregled uporabe kategorikalnih značilnosti. +> 🎥 Kliknite na sliko zgoraj za kratek video pregled uporabe kategorijskih značilnosti. -Tukaj si lahko ogledate, kako povprečna cena zavisi od vrste: +Tukaj lahko vidite, kako povprečna cena zaleži od različice: Average price by variety -Za upoštevanje vrste moramo najprej pretvoriti podatke v številčno obliko, oziroma jih **kodirati**. Obstaja več načinov za to: +Da bi upoštevali različico, jo moramo najprej pretvoriti v številčno obliko ali jo **kodirati**. Obstaja več načinov, kako to storiti: -* Preprosta **numerična koda** bo sestavila tabelo različnih vrst, nato pa zamenjala ime vrstice z indeksom v tej tabeli. To ni najboljša ideja za linearno regresijo, ker linearna regresija vzame dejansko numerično vrednost indeksa in jo doda rezultatu, pomnoženo z nekim koeficientom. V našem primeru je odnos med številom indeksa in ceno očitno nelinearen, tudi če zagotovimo, da so indeksi urejeni na določen način. -* **One-hot kodiranje** bo stolpec `Variety` nadomestilo s 4 različnimi stolpci, po enim za vsako vrsto. Vsak stolpec bo vseboval `1`, če je ustrezni vrstici določena vrsta, in `0` sicer. To pomeni, da bo v linearni regresiji štiri koeficiente, po enega za vsako vrsto buče, ki bo odgovoren za "začetno ceno" (ali bolj "dodatno ceno") za določeno vrsto. +* Preprosta **numerična kodiranja** zgradi tabelo različnih različic in nato nadomesti ime različice z indeksom v tej tabeli. To ni najboljša ideja za linearno regresijo, ker linearna regresija upošteva dejansko številčno vrednost indeksa in ga prišteje rezultatu, množi z nekim koeficientom. V našem primeru je razmerje med številko indeksa in ceno očitno nelinearno, tudi če zagotovimo, da so indeksi urejeni na določen način. +* **One-hot kodiranje** nadomesti stolpec `Variety` s 4 različnimi stolpci, po enim za vsako različico. Vsak stolpec bo vseboval `1`, če je ustrezni vrstici dodeljena dana različica, in `0` sicer. To pomeni, da bo v linearni regresiji štiri koeficiente, po enega za vsako vrsto buč, odgovornega za "začetno ceno" (ali bolje "dopolnilno ceno") za to določeno vrsto. Spodnja koda prikazuje, kako lahko one-hot kodiramo vrsto: @@ -302,14 +302,14 @@ pd.get_dummies(new_pumpkins['Variety']) 1741 | 0 | 1 | 0 | 0 1742 | 0 | 1 | 0 | 0 -Za učenje linearne regresije z one-hot kodirano vrsto kot vhodom moramo samo pravilno pripraviti podatka `X` in `y`: +Za učenje linearne regresije z uporabo one-hot kodirane različice kot vhodnih podatkov moramo le pravilno inicializirati podatke `X` in `y`: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` -Preostanek kode je enak tisti, ki smo jo uporabili prej za učenje linearne regresije. Če to poskusite, boste videli, da je srednja kvadratna napaka približno enaka, vendar bomo dobili precej višji koeficient determinacije (~77 %). Za še natančnejše napovedi lahko upoštevamo več kategorikalnih značilnosti ter tudi numerične, kot sta `Month` ali `DayOfYear`. Za združitev vseh značilnosti v eno veliko tabelo lahko uporabimo `join`: +Ostali del kode je enak kot tisti, ki smo ga uporabili zgoraj za učenje linearne regresije. Če to poskusite, boste videli, da je povprečni kvadratni odklon približno enak, vendar dobimo veliko višji koeficient determinacije (~77%). Za še natančnejše napovedi lahko upoštevamo več kategorijskih spremenljivk, kot tudi številčne značilnosti, kot so `Month` ali `DayOfYear`. Za pridobitev ene velike tabele značilnosti lahko uporabimo `join`: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -319,31 +319,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ y = new_pumpkins['Price'] ``` -Tukaj upoštevamo tudi `City` in tip `Package`, kar nam da MSE 2.84 (10 %) in koeficient determinacije 0.94! +Tukaj upoštevamo tudi `City` in tip `Package`, kar nam da MSE 2,84 (10%) in koeficient determinacije 0,94! -## Vse skupaj +## Združevanje vsega skupaj -Za najboljši model lahko uporabimo združene (one-hot kodirane kategorikalne in numerične) podatke iz zgornjega primera skupaj s polinomsko regresijo. Tukaj je celotna koda za vašo udobje: +Da ustvarimo najboljši model, lahko uporabimo kombinirane podatke (one-hot kodirane kategorijske + številčne) iz zgornjega primera skupaj s polinomsko regresijo. Tukaj je za vašo udobje celotna koda: ```python -# nastavi učne podatke +# nastavite podatke za usposabljanje 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'] -# naredi razdelitev na učno in testno množico +# naredite razdelitev treninga in testa X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) -# nastavi in izuči cevovod +# nastavite in usposobite cevovod pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# napovej rezultate za testne podatke +# napovejte rezultate za testne podatke pred = pipeline.predict(X_test) -# izračunaj MSE in koeficient determinacije +# izračunajte MSE in koeficient determinacije mse = np.sqrt(mean_squared_error(y_test,pred)) print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') @@ -351,36 +351,36 @@ score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` -To nam mora dati najboljši koeficient determinacije skoraj 97 % in MSE=2.23 (~8 % napake napovedi). +To bi nam moralo dati najboljši koeficient determinacije skoraj 97% in MSE=2,23 (~8% napaka napovedi). | Model | MSE | Koeficient determinacije | |-------|-----|--------------------------| -| Linearni `DayOfYear` | 2.77 (17,2 %) | 0.07 | -| Polinomski `DayOfYear` | 2.73 (17,0 %) | 0.08 | -| Linearni `Variety` | 5.24 (19,7 %) | 0.77 | -| Linearni - vse značilnosti | 2.84 (10,5 %) | 0.94 | -| Polinomski - vse značilnosti | 2.23 (8,25 %) | 0.97 | +| Linearni `DayOfYear` | 2,77 (17,2%) | 0,07 | +| Polinomski `DayOfYear` | 2,73 (17,0%) | 0,08 | +| Linearni `Variety` | 5,24 (19,7%) | 0,77 | +| Linearni z vsemi značilnostmi | 2,84 (10,5%) | 0,94 | +| Polinomski z vsemi značilnostmi | 2,23 (8,25%) | 0,97 | -🏆 Odlično! V eni lekciji ste ustvarili štiri regresijske modele in izboljšali kakovost modela na 97 %. V zadnjem delu o regresiji se boste naučili o logistični regresiji za določanje kategorij. +🏆 Odlično! Ustvarili ste štiri regresijske modele v eni lekciji in izboljšali kakovost modela na 97%. V zadnjem razdelku o regresiji se boste naučili o logistični regresiji za določanje kategorij. --- -## 🚀Izazov +## 🚀Izziv -Preizkusite več različnih spremenljivk v tej zvezki, da vidite, kako korelacija ustreza natančnosti modela. +Preizkusite več spremenljivk v tem zvezku, da vidite, kako korelacija ustreza natančnosti modela. ## [Kviz po predavanju](https://ff-quizzes.netlify.app/en/ml/) -## Pregled in samostojno učenje +## Pregled & Samostojno učenje -V tej lekciji smo se naučili o linearni regresiji. Obstajajo še druge pomembne vrste regresije. Preberite o tehnikah Stepwise, Ridge, Lasso in Elasticnet. Dober tečaj za nadaljnje učenje je [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) +V tej lekciji smo se naučili o linearni regresiji. Obstajajo še druge pomembne vrste regresije. Preberite o tehnikah Stepwise, Ridge, Lasso in Elasticnet. Dobro je tudi študirati tečaj [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning), da se naučite več. ## Naloga -[Ustvari model](assignment.md) +[Izdelajte model](assignment.md) --- **Omejitev odgovornosti**: -Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Nismo odgovorni za kakršnekoli nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda. +Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, upoštevajte, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v svojem izvirnem jeziku naj velja kot avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Nismo odgovorni za kakršne koli napačne razlage ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sl/4-Classification/2-Classifiers-1/README.md b/translations/sl/4-Classification/2-Classifiers-1/README.md index 1c91bd4a5..e2246e677 100644 --- a/translations/sl/4-Classification/2-Classifiers-1/README.md +++ b/translations/sl/4-Classification/2-Classifiers-1/README.md @@ -1,17 +1,17 @@ -# Razvrščevalniki kuhinj 1 +# Razvrščevalci kuhinj 1 -V tej lekciji boste uporabili podatkovni niz, ki ste ga shranili v prejšnji lekciji, poln uravnoteženih in čistih podatkov o kuhinjah. +V tej lekciji boste uporabili podatkovni niz, ki ste ga shranili v zadnji lekciji, poln uravnoteženih, čistih podatkov o kuhinjah. -Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste določeno nacionalno kuhinjo na podlagi skupine sestavin_. Med tem boste spoznali več o tem, kako lahko algoritme uporabimo za naloge razvrščanja. +Ta podatkovni niz boste uporabili z različnimi razvrščevalci, da _napovejo nacionalno kuhinjo glede na skupino sestavin_. Med tem se boste naučili več o nekaterih načinih, kako je mogoče algoritme uporabiti za naloge razvrščanja. -## [Predlekcijski kviz](https://ff-quizzes.netlify.app/en/ml/) +## [Predpredavanja kviz](https://ff-quizzes.netlify.app/en/ml/) # Priprava -Če ste zaključili [Lekcijo 1](../1-Introduction/README.md), preverite, ali datoteka _cleaned_cuisines.csv_ obstaja v korenskem imeniku `/data` za te štiri lekcije. +Če ste zaključili [Lekcijo 1](../1-Introduction/README.md), se prepričajte, da datoteka _cleaned_cuisines.csv_ obstaja v korenski mapi `/data` za te štiri lekcije. -## Vaja - napoved nacionalne kuhinje +## Naloga - napovedati nacionalno kuhinjo -1. V mapi _notebook.ipynb_ te lekcije uvozite to datoteko skupaj s knjižnico Pandas: +1. V delovni mapi _notebook.ipynb_ te lekcije uvozite to datoteko skupaj s knjižnico Pandas: ```python import pandas as pd @@ -19,7 +19,7 @@ Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste cuisines_df.head() ``` - Podatki izgledajo takole: + Podatki izgledajo tako: | | Unnamed: 0 | cuisine | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini | | --- | ---------- | ------- | ------ | -------- | ----- | ---------- | ----- | ------------ | ------- | -------- | --- | ------- | ----------- | ---------- | ----------------------- | ---- | ---- | --- | ----- | ------ | -------- | @@ -30,7 +30,7 @@ Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste | 4 | 4 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | -1. Zdaj uvozite še nekaj knjižnic: +1. Zdaj uvozite še nekaj drugih knjižnic: ```python from sklearn.linear_model import LogisticRegression @@ -40,14 +40,14 @@ Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste import numpy as np ``` -1. Razdelite koordinate X in y v dva podatkovna okvira za učenje. `cuisine` lahko uporabite kot podatkovni okvir z oznakami: +1. Razdelite spremenljivki X in y na dva podatkovna okvira za učenje. `cuisine` je lahko podatkovni okvir z oznakami: ```python cuisines_label_df = cuisines_df['cuisine'] cuisines_label_df.head() ``` - Videti bo takole: + Izgledalo bo takole: ```output 0 indian @@ -58,14 +58,14 @@ Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste Name: cuisine, dtype: object ``` -1. Odstranite stolpca `Unnamed: 0` in `cuisine` z uporabo funkcije `drop()`. Preostale podatke shranite kot značilnosti za učenje: +1. Odstranite stolpca `Unnamed: 0` in `cuisine` z uporabo `drop()`. Preostale podatke shranite kot značilke za učenje: ```python cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1) cuisines_feature_df.head() ``` - Vaše značilnosti izgledajo takole: + Vaše značilke izgledajo takole: | | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | artemisia | artichoke | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini | | ---: | -----: | -------: | ----: | ---------: | ----: | -----------: | ------: | -------: | --------: | --------: | ---: | ------: | ----------: | ---------: | ----------------------: | ---: | ---: | ---: | ----: | -----: | -------: | @@ -75,85 +75,85 @@ Ta podatkovni niz boste uporabili z različnimi razvrščevalniki, da _napoveste | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | -Zdaj ste pripravljeni na učenje modela! +Zdaj ste pripravljeni za učenje modela! -## Izbira razvrščevalnika +## Izbira razvrščevalca -Zdaj, ko so vaši podatki čisti in pripravljeni za učenje, morate izbrati algoritem za nalogo. +Zdaj, ko so vaši podatki čisti in pripravljeni za učenje, morate izbrati algoritem za to nalogo. -Scikit-learn razvršča razvrščanje pod Nadzorovano učenje, v tej kategoriji pa najdete veliko načinov za razvrščanje. [Raznolikost](https://scikit-learn.org/stable/supervised_learning.html) je na prvi pogled precej osupljiva. Naslednje metode vključujejo tehnike razvrščanja: +Scikit-learn združuje razvrščanje pod Nadzorovanim učenjem, in v tej kategoriji boste našli veliko načinov za razvrščanje. [Raznolikost](https://scikit-learn.org/stable/supervised_learning.html) je na prvi pogled precej zmedena. Naslednje metode vključujejo tehnike razvrščanja: - Linearni modeli - Podporni vektorski stroji - Stohastični gradientni spust - Najbližji sosedje -- Gaussovi procesi +- Gausovi procesi - Odločitvena drevesa -- Metode ansambla (glasovalni razvrščevalnik) -- Večrazredni in večizhodni algoritmi (večrazredna in večoznačna razvrstitev, večrazredna-večizhodna razvrstitev) +- Metode združevanja (voting Classifier) +- Multiklasni in multi-output algoritmi (multiklasno in multilabel razvrščanje, multiklasno multioutput razvrščanje) -> Za razvrščanje podatkov lahko uporabite tudi [nevronske mreže](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification), vendar to presega obseg te lekcije. +> Uporabiti lahko tudi [nevronske mreže za razvrščanje podatkov](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification), vendar to ni del te lekcije. -### Kateri razvrščevalnik izbrati? +### Kateri razvrščevalec izbrati? -Torej, kateri razvrščevalnik izbrati? Pogosto je smiselno preizkusiti več razvrščevalnikov in iskati najboljši rezultat. Scikit-learn ponuja [primerjavo](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) na ustvarjenem podatkovnem nizu, kjer primerja KNeighbors, SVC na dva načina, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB in QuadraticDiscriminationAnalysis, pri čemer so rezultati vizualizirani: +Torej, katerega razvrščevalca izbrati? Pogosto je dobra praksa preizkusiti več razvrščevalcev in iskati lep rezultat. Scikit-learn ponuja [primerjavo ob strani](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) na ustvarjenem podatkovnem nizu, ki primerja KNeighbors, SVC na dva načina, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB in QuadraticDiscrinationAnalysis, ter prikazuje rezultate vizualno: -![primerjava razvrščevalnikov](../../../../4-Classification/2-Classifiers-1/images/comparison.png) -> Grafi, ustvarjeni v dokumentaciji Scikit-learn +![primerjava razvrščevalcev](../../../../translated_images/sl/comparison.edfab56193a85e7f.webp) +> Grafi iz dokumentacije Scikit-learn -> AutoML to težavo elegantno reši tako, da te primerjave izvaja v oblaku, kar vam omogoča izbiro najboljšega algoritma za vaše podatke. Preizkusite ga [tukaj](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) +> AutoML to težavo elegantno reši tako, da te primerjave izvaja v oblaku, kar vam omogoča izbiro najboljšega algoritma za vaše podatke. Poskusite [tukaj](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) ### Boljši pristop -Boljši način kot naključno ugibanje je, da sledite idejam na tem prenosljivem [ML plonk listu](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Tukaj ugotovimo, da imamo za našo večrazredno težavo nekaj možnosti: +Boljši način kot naključno ugibanje je, da sledite idejam na tem prenosljivem [ML Cheat sheetu](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Tukaj odkrijemo, da imamo za naš multiklasni problem nekaj možnosti: -![plonk list za večrazredne težave](../../../../4-Classification/2-Classifiers-1/images/cheatsheet.png) -> Del Microsoftovega plonk lista algoritmov, ki podrobno opisuje možnosti za večrazredno razvrščanje +![cheatsheet za multiklasne probleme](../../../../translated_images/sl/cheatsheet.07a475ea444d2223.webp) +> Del Microsoftovega Algorithm Cheat Sheeta, ki podrobno opisuje možnosti multiklasnega razvrščanja -✅ Prenesite ta plonk list, natisnite ga in obesite na steno! +✅ Prenesite ta cheat sheet, ga natisnite in obesite na steno! -### Razmišljanje +### Razlogi -Poglejmo, ali lahko z razmišljanjem izberemo različne pristope glede na omejitve, ki jih imamo: +Poglejmo, če lahko presodimo različne pristope glede na dane omejitve: -- **Nevronske mreže so pretežke**. Glede na naš čist, a minimalen podatkovni niz in dejstvo, da izvajamo učenje lokalno prek beležk, so nevronske mreže pretežke za to nalogo. -- **Ni razvrščevalnika za dva razreda**. Ne uporabljamo razvrščevalnika za dva razreda, zato izključimo one-vs-all. -- **Odločitveno drevo ali logistična regresija bi lahko delovala**. Odločitveno drevo bi lahko delovalo, prav tako logistična regresija za večrazredne podatke. -- **Večrazredna izboljšana odločitvena drevesa rešujejo drugačen problem**. Večrazredna izboljšana odločitvena drevesa so najbolj primerna za neparametrične naloge, npr. naloge za ustvarjanje razvrstitev, zato za nas niso uporabna. +- **Nevronske mreže so pretežke**. Glede na naš čist, a minimalen podatkovni niz in dejstvo, da učenje izvajamo lokalno prek zvezkov, so nevronske mreže za to nalogo preveč težke. +- **Ni razvrščevalca za dve razredi**. Nimamo razvrščevalca za dve razredi, zato izključimo one-vs-all metodi. +- **Odločitveno drevo ali logistična regresija bi delovala**. Morda bi delovalo odločitveno drevo ali pa logistična regresija za multiklasne podatke. +- **Multiklasno boostano odločitveno drevo rešuje drugačno težavo**. Multiklasno boostano odločitveno drevo je najbolj primerno za neparametrične naloge, npr. naloge za izdelavo rangovanj, zato za nas ni uporabno. -### Uporaba Scikit-learn +### Uporaba Scikit-learn -Za analizo podatkov bomo uporabili Scikit-learn. Vendar pa obstaja veliko načinov za uporabo logistične regresije v Scikit-learn. Oglejte si [parametre za nastavitev](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +Za analizo podatkov bomo uporabljali Scikit-learn. Vendar obstaja veliko načinov uporabe logistične regresije v Scikit-learn. Poglejte si [parametre, ki jih je mogoče nastaviti](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -V bistvu sta dva pomembna parametra - `multi_class` in `solver` - ki ju moramo določiti, ko Scikit-learn prosimo za izvedbo logistične regresije. Vrednost `multi_class` določa določeno vedenje. Vrednost `solver` določa, kateri algoritem uporabiti. Vsi reševalci ne morejo biti združeni z vsemi vrednostmi `multi_class`. +Ključno sta dva parametra - `multi_class` in `solver` - ki ju morate nastaviti, ko zahtevate od Scikit-learn, da izvede logistično regresijo. Vrednost `multi_class` določa določeno vedenje. Vrednost `solver` pa določa, kateri algoritem se bo uporabljal. Ne vsi reševalci (solverji) so združljivi z vsemi vrednostmi `multi_class`. -Po dokumentaciji, v primeru večrazredne naloge, algoritem za učenje: +Po dokumentaciji v primeru multiklase učenja: -- **Uporablja shemo one-vs-rest (OvR)**, če je možnost `multi_class` nastavljena na `ovr` -- **Uporablja izgubo navzkrižne entropije**, če je možnost `multi_class` nastavljena na `multinomial`. (Trenutno možnost `multinomial` podpirajo samo reševalci ‘lbfgs’, ‘sag’, ‘saga’ in ‘newton-cg’.) +- **Uporablja shemo one-vs-rest (OvR)**, če je `multi_class` nastavljen na `ovr` +- **Uporablja izgubo križne entropije**, če je `multi_class` nastavljen na `multinomial`. (Trenutno so `multinomial` možnost podprte samo pri reševalcih ‘lbfgs’, ‘sag’, ‘saga’ in ‘newton-cg’)." -> 🎓 'Shema' tukaj je lahko 'ovr' (one-vs-rest) ali 'multinomial'. Ker je logistična regresija zasnovana za podporo binarni razvrstitvi, ji te sheme omogočajo boljše obravnavanje večrazrednih nalog razvrščanja. [vir](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) +> 🎓 "Shema" je lahko 'ovr' (one-vs-rest) ali 'multinomial'. Ker je logistična regresija prvotno zasnovana za binarno razvrščanje, te sheme omogočajo boljše upravljanje nalog multiklasnega razvrščanja. [vir](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) -> 🎓 'Solver' je definiran kot "algoritem za uporabo pri optimizacijskem problemu". [vir](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +> 🎓 "Solver" je definiran kot "algoritem za reševanje optimizacijskega problema". [vir](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -Scikit-learn ponuja to tabelo za razlago, kako reševalci obravnavajo različne izzive, ki jih predstavljajo različne vrste podatkovnih struktur: +Scikit-learn ponuja to tabelo, ki pojasnjuje, kako reševalci obravnavajo različne izzive, povezane z različnimi vrstami podatkovnih struktur: -![reševalci](../../../../4-Classification/2-Classifiers-1/images/solvers.png) +![reševalci](../../../../translated_images/sl/solvers.5fc648618529e627.webp) -## Vaja - razdelitev podatkov +## Naloga - razdeliti podatke -Osredotočimo se na logistično regresijo za naš prvi poskus učenja, saj ste se o njej nedavno učili v prejšnji lekciji. -Razdelite svoje podatke v skupine za učenje in testiranje z uporabo funkcije `train_test_split()`: +Za našo prvo preizkusno učenje se lahko osredotočimo na logistično regresijo, saj ste o njej nedavno že izvedeli v prejšnji lekciji. +Podatke razdelite na učne in testne skupine z uporabo `train_test_split()`: ```python X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3) ``` -## Vaja - uporaba logistične regresije +## Naloga - uporabite logistično regresijo -Ker uporabljate večrazredno nalogo, morate izbrati, katero _shemo_ uporabiti in kateri _reševalec_ nastaviti. Uporabite LogisticRegression z večrazredno nastavitvijo in reševalcem **liblinear** za učenje. +Ker uporabljate multiklasni primer, morate izbrati, katero _shemo_ uporabiti in kateri _solver_ nastaviti. Uporabite LogisticRegression z nastavitvijo za multiklasno in solverjem **liblinear** za učenje. -1. Ustvarite logistično regresijo z `multi_class` nastavljeno na `ovr` in reševalcem nastavljenim na `liblinear`: +1. Ustvarite logistično regresijo z multi_class nastavljeno na `ovr` in solver nastavljen na `liblinear`: ```python lr = LogisticRegression(multi_class='ovr',solver='liblinear') @@ -163,11 +163,13 @@ Ker uporabljate večrazredno nalogo, morate izbrati, katero _shemo_ uporabiti in print ("Accuracy is {}".format(accuracy)) ``` - ✅ Preizkusite drugega reševalca, kot je `lbfgs`, ki je pogosto nastavljen kot privzet. -> Upoštevajte, uporabite funkcijo Pandas [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) za sploščitev vaših podatkov, kadar je to potrebno. -Natančnost je dobra pri več kot **80%**! + ✅ Preizkusite drugačnega solverja, na primer `lbfgs`, ki je pogosto privzeti -1. Ta model lahko preizkusite z eno vrstico podatkov (#50): + > Opomba: uporabite Pandas funkcijo [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) za sploščitev podatkov, kadar je to potrebno. + + Natančnost je dobra in presega **80 %**! + +1. Model lahko preizkusite tudi tako, da testirate enega od vrstic podatkov (#50): ```python print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}') @@ -181,8 +183,7 @@ Natančnost je dobra pri več kot **80%**! cuisine: indian ``` - ✅ Poskusite z drugo številko vrstice in preverite rezultate. - + ✅ Preizkusite drugo številko vrstice in preverite rezultate 1. Če želite podrobneje raziskati, lahko preverite natančnost te napovedi: ```python @@ -195,7 +196,7 @@ Natančnost je dobra pri več kot **80%**! topPrediction.head() ``` - Rezultat se izpiše - indijska kuhinja je najboljša ugotovitev z dobro verjetnostjo: + Rezultat je izpisan - indijska kuhinja je najbolj verjetna napoved, z dobro verjetnostjo: | | 0 | | -------: | -------: | @@ -205,9 +206,9 @@ Natančnost je dobra pri več kot **80%**! | korean | 0.017277 | | thai | 0.007634 | - ✅ Ali lahko razložite, zakaj je model precej prepričan, da gre za indijsko kuhinjo? + ✅ Ali lahko pojasnite, zakaj je model dokaj prepričan, da gre za indijsko kuhinjo? -1. Pridobite več podrobnosti z izpisom poročila o klasifikaciji, kot ste to storili pri lekcijah o regresiji: +1. Za več podrobnosti izpišite poročilo o klasifikaciji, kot ste to počeli v lekcijah o regresiji: ```python y_pred = model.predict(X_test) @@ -221,17 +222,17 @@ Natančnost je dobra pri več kot **80%**! | japanese | 0.70 | 0.75 | 0.72 | 220 | | korean | 0.86 | 0.76 | 0.81 | 242 | | thai | 0.79 | 0.85 | 0.82 | 254 | - | accuracy | 0.80 | 1199 | | | + | accuracy | | | 0.80 | 1199 | | macro avg | 0.80 | 0.80 | 0.80 | 1199 | | weighted avg | 0.80 | 0.80 | 0.80 | 1199 | ## 🚀Izziv -V tej lekciji ste uporabili očiščene podatke za izdelavo modela strojnega učenja, ki lahko napove nacionalno kuhinjo na podlagi serije sestavin. Vzemite si čas in preberite številne možnosti, ki jih Scikit-learn ponuja za klasifikacijo podatkov. Podrobneje raziščite koncept 'solverja', da boste razumeli, kaj se dogaja v ozadju. +V tej lekciji ste uporabili očiščene podatke za izdelavo modela strojnega učenja, ki lahko napove nacionalno kuhinjo na osnovi vrste sestavin. Vzemite si čas in preberite različne možnosti, ki jih Scikit-learn ponuja za klasifikacijo podatkov. Podrobneje raziščite koncept 'solver', da razumete, kaj se dogaja v ozadju. -## [Kvizi po predavanju](https://ff-quizzes.netlify.app/en/ml/) +## [Kviz po predavanju](https://ff-quizzes.netlify.app/en/ml/) -## Pregled & Samostojno učenje +## Pregled in samostojno učenje Podrobneje raziščite matematiko za logistično regresijo v [tej lekciji](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf) ## Naloga @@ -240,5 +241,7 @@ Podrobneje raziščite matematiko za logistično regresijo v [tej lekciji](https --- -**Omejitev odgovornosti**: -Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki izhajajo iz uporabe tega prevoda. \ No newline at end of file + +**Omejitev odgovornosti**: +Ta dokument je bil preveden z uporabo storitve za samodejni prevod [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, upoštevajte, da lahko samodejni prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokoven človeški prevod. Za morebitne nesporazume ali napačne interpretacije, ki nastanejo zaradi uporabe tega prevoda, ne odgovarjamo. + \ No newline at end of file diff --git a/translations/sl/README.md b/translations/sl/README.md index 7bdeed7c4..5829ed923 100644 --- a/translations/sl/README.md +++ b/translations/sl/README.md @@ -10,14 +10,14 @@ ### 🌐 Podpora za več jezikov -#### Podprto preko GitHub Action (avtomatizirano in vedno posodobljeno) +#### Podprto preko GitHub akcije (avtomatsko in vedno ažurno) -[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) | [Hrvaški](../hr/README.md) | [Češki](../cs/README.md) | [Danski](../da/README.md) | [Nizozemski](../nl/README.md) | [Estonski](../et/README.md) | [Finski](../fi/README.md) | [Francoski](../fr/README.md) | [Nemški](../de/README.md) | [Grški](../el/README.md) | [Hebrejski](../he/README.md) | [Hindi](../hi/README.md) | [Madžarski](../hu/README.md) | [Indonezijski](../id/README.md) | [Italijanski](../it/README.md) | [Japonski](../ja/README.md) | [Kannada](../kn/README.md) | [Kmerski](../km/README.md) | [Korejski](../ko/README.md) | [Litvanski](../lt/README.md) | [Malajski](../ms/README.md) | [Malajalamski](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalščina](../ne/README.md) | [Nigerijski pidžin](../pcm/README.md) | [Norveški](../no/README.md) | [Perzijski (Farsi)](../fa/README.md) | [Poljski](../pl/README.md) | [Portugalski (Brazilija)](../pt-BR/README.md) | [Portugalski (Portugalska)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romunski](../ro/README.md) | [Ruski](../ru/README.md) | [Srbščina (cirilica)](../sr/README.md) | [Slovaški](../sk/README.md) | [Slovenski](./README.md) | [Španščina](../es/README.md) | [Svahili](../sw/README.md) | [Švedski](../sv/README.md) | [Tagalog (filipinski)](../tl/README.md) | [Tamilščina](../ta/README.md) | [Telugu](../te/README.md) | [Tajski](../th/README.md) | [Turški](../tr/README.md) | [Ukrajinski](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamščina](../vi/README.md) +[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/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](./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) -> **Raje klonirate lokalno?** +> **Raje lokalno klonirati?** > -> Ta repozitorij vključuje prevode v več kot 50 jezikov, kar znatno poveča velikost prenosa. Za kloniranje brez prevodov uporabite sparse checkout: +> Ta repozitorij vsebuje več kot 50 jezikovnih prevodov, kar močno poveča velikost prenosa. Če želite klonirati brez prevodov, uporabite sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -33,63 +33,63 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> S tem dobite vse, kar potrebujete za dokončanje tečaja, z veliko hitrejšim prenosom. +> To vam daje vse, kar potrebujete za dokončanje tečaja z veliko hitrejšim prenosom. #### Pridružite se naši skupnosti [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Imamo potekajočo serijo na Discordu o učenju z AI, izveste več in se pridružite na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. septembra 2025. Dobite nasvete in trike za uporabo GitHub Copilot za podatkovno znanost. +Imamo tekočo serijo "Učenje z AI" na Discordu, izveste več in se nam pridružite na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. septembra 2025. Dobite nasvete in trike za uporabo GitHub Copilot za podatkovno znanost. ![Learn with AI series](../../translated_images/sl/3.9b58fd8d6c373c20.webp) -# Strojno učenje za začetnike – učni načrt +# Strojno učenje za začetnike - učni načrt > 🌍 Potujte po svetu, ko raziskujemo strojno učenje skozi svetovne kulture 🌍 -Cloud Advocates pri Microsoftu z veseljem ponujajo 12-tedenski učni načrt z 26 lekcijami, ki govorijo o **strojni učenju**. V tem učnem načrtu boste spoznali tisto, kar nekateri imenujejo **klasično strojno učenje**, z uporabo predvsem knjižnice Scikit-learn in brez poglobljenega učenja, ki je zajeto v našem [učnem načrtu AI za začetnike](https://aka.ms/ai4beginners). Združite te lekcije tudi z našim [učnim načrtom 'Podatkovna znanost za začetnike'](https://aka.ms/ds4beginners). +Cloud Advocates pri Microsoftu z veseljem ponujajo 12-tedenski program, sestavljen iz 26 lekcij, ki govori o **strojnem učenju**. V tem učnem načrtu se boste naučili tega, kar včasih imenujemo **klasično strojno učenje**, pri čemer primarno uporabljamo knjižnico Scikit-learn in se izogibamo globokemu učenju, ki je zajeto v našem [učnem načrtu AI za začetnike](https://aka.ms/ai4beginners). Te lekcije združite z našim [učnim načrtom 'Data Science za začetnike'](https://aka.ms/ds4beginners)! -Potujte z nami po svetu, ko te klasične tehnike uporabljamo za podatke iz različnih delov sveta. Vsaka lekcija vključuje pred- in po- lekcijski kviz, pisna navodila za dokončanje lekcije, rešitev, nalogo in še več. Naša pedagoška usmerjenost na podlagi projektov omogoča učenje skozi ustvarjanje, kar je dokazano učinkovit način, da nove veščine ostanejo. +Potujte z nami po svetu, ko te klasične tehnike uporabljamo na podatkih z različnih področij sveta. Vsaka lekcija vključuje kvize pred in po lekciji, pisna navodila za dokončanje lekcije, rešitev, nalogo in še več. Naša pedagoška metoda, temelječa na projektih, vam omogoča učenje med ustvarjanjem, kar je preizkušena metoda za boljše usvajanje novih veščin. -**✍️ Iskrena zahvala našim avtorjem** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu in Amy Boyd +**✍️ Iskrena hvala našim avtorjem** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu in Amy Boyd -**🎨 Zahvala tudi našim ilustratorjem** Tomomi Imura, Dasani Madipalli in Jen Looper +**🎨 Prav tako hvala našim ilustratorjem** Tomomi Imura, Dasani Madipalli in Jen Looper -**🙏 Posebna zahvala 🙏 našim Microsoft Student Ambassador avtorjem, recenzentom in sodelavcem vsebine**, zlasti Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila in Snigdha Agarwal +**🙏 Posebna hvala 🙏 našim Microsoft Student Ambassador avtorjem, recenzentom in prispevalcem vsebin**, zlasti Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila in Snigdha Agarwal -**🤩 Dodatna hvala Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi in Vidushi Gupta za naše lekcije v R!** +**🤩 Posebna zahvala Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi in Vidushi Gupta za naše R lekcije!** # Začetek Sledite tem korakom: -1. **Razvežite repozitorij**: Kliknite gumb "Fork" v zgornjem desnem kotu te strani. -2. **Klonirajte repozitorij**: `git clone https://github.com/microsoft/ML-For-Beginners.git` +1. **Razvezi repozitorij**: Kliknite na gumb "Fork" v zgornjem desnem kotu te strani. +2. **Kloniraj repozitorij**: `git clone https://github.com/microsoft/ML-For-Beginners.git` -> [poiščite vse dodatne vire za ta tečaj v naši zbirki Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) +> [najdete vse dodatne vire za ta tečaj v naši zbirki Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) -> 🔧 **Potrebujete pomoč?** Preverite naš [Vodnik za odpravljanje težav](TROUBLESHOOTING.md) za rešitve pogostih težav z namestitvijo, nastavitvijo in izvajanjem lekcij. +> 🔧 **Potrebujete pomoč?** Oglejte si naš [Vodnik za odpravljanje težav](TROUBLESHOOTING.md) za rešitve pogostih težav z namestitvijo, nastavitvijo in izvajanjem lekcij. -**[Študenti](https://aka.ms/student-page)**, za uporabo tega učnega načrta si razvežite celoten repozitorij na svoj GitHub račun in dokončajte vaje sami ali v skupini: +**[Študentje](https://aka.ms/student-page)**, da uporabite ta učni načrt, razvežite celoten repozitorij na svoj GitHub račun in dokončajte vaje sami ali v skupini: -- Začnite s predpredavanjem kvizom. -- Preberite predavanje in opravite aktivnosti, med tem se ustavite in premislite ob vsaki preveritvi znanja. -- Poskusite ustvariti projekte s pomočjo razumevanja lekcij, namesto da samo poganjate kodo rešitve; koda je vendarle na voljo v mapah `/solution` pri vsaki projektno usmerjeni lekciji. -- Opravite po-predavanjski kviz. -- Opravite izziv. -- Opravite nalogo. -- Po zaključku skupine lekcij obiščite [Forum za razprave](https://github.com/microsoft/ML-For-Beginners/discussions) in "učite se na glas" tako, da izpolnite ustrezno rubriko PAT. 'PAT' je orodje za ocenjevanje napredka, ki ga izpolnite za poglobitev učenja. Prav tako lahko reagirate na druge PAT-e, da se lahko skupaj učimo. +- Začnite s kvizom pred predavanjem. +- Preberite predavanje in dokončajte dejavnosti, se ustavljajte in razmišljajte ob vsakem preverjanju znanja. +- Poskusite ustvariti projekte poglobljeno razumevajoč lekcije namesto le z zagonom kode rešitve; čeprav je ta koda na voljo v mapah `/solution` v vsaki lekciji osredotočeni na projekt. +- Opravite kviz po predavanju. +- Dokončajte izziv. +- Dokončajte nalogo. +- Po dokončanju skupine lekcij obiščite [Diskusijsko ploščo](https://github.com/microsoft/ML-For-Beginners/discussions) in "se učite na glas" z izpolnitvijo ustrezne rubrike PAT. 'PAT' je Orodje za ocenjevanje napredka, rubrika, ki jo izpolnite za nadaljnje učenje. Prav tako lahko reagirate na druge PAT-e, da se skupaj učimo. -> Za nadaljnje študije priporočamo, da sledite tem modulom in učnim potem [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott). +> Za nadaljnje študije priporočamo spremljanje teh [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modulov in učnih poti. **Učitelji**, vključili smo [nekaj predlogov](for-teachers.md), kako uporabljati ta učni načrt. --- -## Video vodiči +## Video predstavitve -Nekatere lekcije so na voljo kot kratki video posnetki. Vse te lahko najdete v grafa lekcij ali na [predvajalni seznam ML za začetnike na Microsoft Developer YouTube kanalu](https://aka.ms/ml-beginners-videos) s klikom na spodnjo sliko. +Nekatere lekcije so na voljo kot kratki videoposnetki. Vse jih najdete neposredno v lekcijah ali na [ML for Beginners playlisti na Microsoft Developer YouTube kanalu](https://aka.ms/ml-beginners-videos) s klikom na spodnjo sliko. [![ML for beginners banner](../../translated_images/sl/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos) @@ -107,73 +107,73 @@ Nekatere lekcije so na voljo kot kratki video posnetki. Vse te lahko najdete v g ## Pedagogika -Pri gradnji tega učnega načrta smo izbrali dva pedagoška načela: zagotoviti, da je praktičen in **projektno usmerjen**, ter da vključuje **pogoste kvize**. Poleg tega ima ta učni načrt skupno **temo**, ki mu daje povezljivost. +Pri izdelavi tega učnega načrta smo izbrali dve pedagoški osnovi: zagotoviti, da je praktično **projektno usmerjen** in vključuje **pogoste vaje**. Poleg tega ima ta učni načrt skupno **temo**, ki mu daje kohezivnost. -S tem, ko vsebina sovpada s projekti, je proces za študente bolj zanimiv, hkrati pa se izboljša zadrževanje konceptov. Poleg tega nizkorazredni kviz pred predavanjem usmeri namen študenta k učenju teme, medtem ko drugi kviz po predavanju zagotavlja nadaljnje zadrževanje. Ta učni načrt je zasnovan tako, da je prilagodljiv in zabaven in ga lahko opravite v celoti ali delno. Projekti se začnejo majhni in postajajo vse bolj zapleteni do konca 12-tedenskega cikla. Ta učni načrt vključuje tudi dodatek o praktičnih primerih uporabe ML, ki ga lahko uporabite za dodatne točke ali kot osnovo za razpravo. +Z zagotavljanjem, da so vsebine povezane s projekti, je proces za študente bolj zanimiv in pomaga pri ohranjanju pojmov. Poleg tega nizkorizični kviz pred razredom zasadi namen učenja pri študentu, medtem ko drugi kviz po razredu zagotavlja nadaljnje utrjevanje. Ta učni načrt je zasnovan kot prilagodljiv in zabaven ter ga je mogoče vzeti celotnega ali deloma. Projekti začnejo majhni ter s časom postajajo vse bolj zapleteni do konca 12-tedenskega cikla. Ta učni načrt vključuje tudi dodatek o resničnih aplikacijah strojnega učenja, ki ga lahko uporabite kot dodatno zasluženo točko ali kot izhodišče za razpravo. -> Poiščite naš [Kodeks obnašanja](CODE_OF_CONDUCT.md), [Prispevke](CONTRIBUTING.md), [Prevode](..) in [Odpravljanje težav](TROUBLESHOOTING.md). Veselimo se vaših konstruktivnih povratnih informacij! +> Najdete naša [Pravila vedenja](CODE_OF_CONDUCT.md), [Prispevanje](CONTRIBUTING.md), [Prevodi](..) in [Odpravljanje težav](TROUBLESHOOTING.md). Veselimo se vaših konstruktivnih povratnih informacij! ## Vsaka lekcija vključuje -- neobvezno skicirno beležko -- neobvezni dodatni video -- video vodič (le pri nekaterih lekcijah) -- [pred-predavalni ogrevalni kviz](https://ff-quizzes.netlify.app/en/ml/) +- opcijsko skico zapiskov +- opcijski dodatni video +- video predstavitev (samo nekatere lekcije) +- [kviz za ogrevanje pred predavanjem](https://ff-quizzes.netlify.app/en/ml/) - pisno lekcijo -- pri projektno usmerjenih lekcijah, korak za korakom vodiče, kako zgraditi projekt -- preverjanje znanja +- za projektno usmerjene lekcije, korak za korakom vodiče za izdelavo projekta +- preverjanja znanja - izziv - dodatno branje - nalogo -- [po-predavalni kviz](https://ff-quizzes.netlify.app/en/ml/) -> **Opomba o jezikih**: Te lekcije so večinoma napisane v Pythonu, vendar so mnoge na voljo tudi v R. Če želite opraviti lekcijo v R, pojdite v mapo `/solution` in poiščite R lekcije. Vsebujejo pripono .rmd, ki predstavlja **R Markdown** datoteko, kar lahko preprosto opredelimo kot vključitev `code chunks` (kose kode v R ali drugih jezikih) in `YAML header` (ki usmerja, kako oblikovati izhod, npr. PDF) v `Markdown dokument`. Kot tak služi kot odličen okvir za pisanje vsebin za podatkovno znanost, saj vam omogoča, da združite svojo kodo, njen izhod in svoje misli tako, da jih lahko zapišete v Markdown. Poleg tega je mogoče dokumente R Markdown pretvoriti v izhodne formate, kot so PDF, HTML ali Word. - -> **Opomba o kvizih**: Vsi kvizi so vsebovani v [quiz-app mapi](../../quiz-app), skupaj 52 kvizov s po tremi vprašanji. Povezani so iz lekcij, vendar se kviz aplikacijo lahko zažene lokalno; sledite navodilom v mapi `quiz-app` za lokalno gostovanje ali namestitev na Azure. - -| Številka lekcije | Tema | Skupina lekcij | Cilji učenja | Povezana lekcija | Avtor | -| :---------------: | :----------------------------------------------------------: | :------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | -| 01 | Uvod v strojno učenje | [Uvod](1-Introduction/README.md) | Naučite se osnovnih pojmov strojenega učenja | [Lekcija](1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | Zgodovina strojenega učenja | [Uvod](1-Introduction/README.md) | Spoznajte zgodovino tega področja | [Lekcija](1-Introduction/2-history-of-ML/README.md) | Jen in Amy | -| 03 | Pravičnost in strojno učenje | [Uvod](1-Introduction/README.md) | Katere so pomembne filozofske teme glede pravičnosti, ki jih morajo študenti upoštevati pri gradnji in uporabi ML modelov? | [Lekcija](1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | Tehnike strojenega učenja | [Uvod](1-Introduction/README.md) | Katere tehnike uporabljajo raziskovalci ML za gradnjo ML modelov? | [Lekcija](1-Introduction/4-techniques-of-ML/README.md) | Chris in Jen | -| 05 | Uvod v regresijo | [Regresija](2-Regression/README.md) | Začnite z Python in Scikit-learn za modele regresije | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau | -| 06 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Vizualizirajte in očistite podatke v pripravi na ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau | -| 07 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Zgradite linearne in polinomske regresijske modele | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen in Dmitry • Eric Wanjau | -| 08 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Zgradite logistični regresijski model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau | -| 09 | Spletna aplikacija 🔌 | [Spletna aplikacija](3-Web-App/README.md) | Zgradite spletno aplikacijo za uporabo vašega izurjenega modela | [Python](3-Web-App/1-Web-App/README.md) | Jen | -| 10 | Uvod v klasifikacijo | [Klasifikacija](4-Classification/README.md) | Očistite, pripravite in vizualizirajte svoje podatke; uvod v klasifikacijo | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen in Cassie • Eric Wanjau | -| 11 | Okusne azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Uvod v klasifikatorje | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen in Cassie • Eric Wanjau | -| 12 | Okusne azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Več klasifikatorjev | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen in Cassie • Eric Wanjau | -| 13 | Okusne azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Zgradite priporočilno spletno aplikacijo z uporabo vašega modela | [Python](4-Classification/4-Applied/README.md) | Jen | -| 14 | Uvod v gručenje | [Gručenje](5-Clustering/README.md) | Očistite, pripravite in vizualizirajte svoje podatke; uvod v gručenje | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau | -| 15 | Raziščite nigerijske glasbene okuse 🎧 | [Gručenje](5-Clustering/README.md) | Raziščite metodo K-Means gručenja | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau | -| 16 | Uvod v obdelavo naravnega jezika ☕️ | [Obdelava naravnega jezika](6-NLP/README.md) | Naučite se osnov NLP z gradnjo preprostega bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | Pogoste naloge NLP ☕️ | [Obdelava naravnega jezika](6-NLP/README.md) | Poglobite svoje znanje NLP z razumevanjem pogostih nalog, potrebnih pri delu z jezikovnimi strukturami | [Python](6-NLP/2-Tasks/README.md) | Stephen | -| 18 | Prevodi in analiza sentimenta ♥️ | [Obdelava naravnega jezika](6-NLP/README.md) | Prevod in analiza sentimenta z Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | Romantični hoteli v Evropi ♥️ | [Obdelava naravnega jezika](6-NLP/README.md) | Analiza sentimenta s pregledi hotelov 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | Romantični hoteli v Evropi ♥️ | [Obdelava naravnega jezika](6-NLP/README.md) | Analiza sentimenta s pregledi hotelov 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | Uvod v napovedovanje časovnih vrst | [Časovne vrste](7-TimeSeries/README.md) | Uvod v napovedovanje časovnih vrst | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ Svetovna poraba električne energije ⚡️ - napovedovanje časovnih vrst z ARIMA | [Časovne vrste](7-TimeSeries/README.md) | Napovedovanje časovnih vrst z ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | ⚡️ Svetovna poraba električne energije ⚡️ - napovedovanje časovnih vrst z SVR | [Časovne vrste](7-TimeSeries/README.md) | Napovedovanje časovnih vrst s pomočjo Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban | -| 24 | Uvod v okrepitev učenja | [Okrepitev učenja](8-Reinforcement/README.md) | Uvod v okrepitveno učenje z Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 25 | Pomagajte Petru, da se izogne volku! 🐺 | [Okrepitev učenja](8-Reinforcement/README.md) | Okrepitveno učenje z Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry | -| Postscript | Praktični primeri in aplikacije ML | [ML v praksi](9-Real-World/README.md) | Zanimive in poučne praktične uporabe klasičnega strojenega učenja | [Lekcija](9-Real-World/1-Applications/README.md) | Ekipa | -| Postscript | Odpravljanje napak modelov v ML z uporabo RAI nadzorne plošče | [ML v praksi](9-Real-World/README.md) | Odpravljanje napak modelov strojenega učenja z uporabo komponent nadzorne plošče Responsible AI | [Lekcija](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu | +- [kviz po predavanju](https://ff-quizzes.netlify.app/en/ml/) +> **Opomba o jezikih**: Te lekcije so večinoma napisane v Pythonu, veliko pa je tudi v R. Za dokončanje lekcije v R pojdite v mapo `/solution` in poiščite lekcije v R. Te imajo pripono .rmd, kar predstavlja **R Markdown** datoteko, ki jo lahko preprosto opredelimo kot vdelavo `koda blokov` (v R ali drugih jezikih) in `YAML glave` (ki usmerja, kako formatirati izhode, kot je PDF) v `Markdown dokument`. Tako služi kot izvrsten okvir za pisanje vsebin za podatkovno znanost, saj omogoča kombiniranje kode, njenega izhoda in vaših misli s pisanjem v Markdownu. Poleg tega je možno R Markdown dokumente izvoziti v izhodne formate, kot so PDF, HTML ali Word. + +> **Opomba o kvizih**: Vsi kvizi so v [Quiz App mapi](../../quiz-app) in vsebujejo skupaj 52 kvizov s po tremi vprašanji vsak. Povezani so znotraj lekcij, aplikacijo za kvize pa je mogoče zagnati lokalno; sledite navodilom v mapi `quiz-app` za lokalno gostovanje ali namestitev na Azure. + +| Številka lekcije | Tema | Skupina lekcij | Cilji učenja | Povezana lekcija | Avtor | +| :--------------: | :----------------------------------------------------------: | :-------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | +| 01 | Uvod v strojno učenje | [Uvod](1-Introduction/README.md) | Spoznajte osnovne koncepte strojnega učenja | [Lekcija](1-Introduction/1-intro-to-ML/README.md) | Muhammad | +| 02 | Zgodovina strojnega učenja | [Uvod](1-Introduction/README.md) | Spoznajte zgodovino tega področja | [Lekcija](1-Introduction/2-history-of-ML/README.md) | Jen in Amy | +| 03 | Pravičnost in strojno učenje | [Uvod](1-Introduction/README.md) | Katere so pomembne filozofske zadeve o pravičnosti, ki jih morajo študenti upoštevati pri gradnji in uporabi modelov ML? | [Lekcija](1-Introduction/3-fairness/README.md) | Tomomi | +| 04 | Tehnike za strojno učenje | [Uvod](1-Introduction/README.md) | Katere tehnike uporabljajo raziskovalci ML za gradnjo modelov ML? | [Lekcija](1-Introduction/4-techniques-of-ML/README.md) | Chris in Jen | +| 05 | Uvod v regresijo | [Regresija](2-Regression/README.md) | Začnite z Python in Scikit-learn za modele regresije | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau | +| 06 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Vizualizirajte in očistite podatke v pripravi na ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau | +| 07 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Zgradite linearne in polinomske regresijske modele | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen in Dmitry • Eric Wanjau | +| 08 | Cene buč v Severni Ameriki 🎃 | [Regresija](2-Regression/README.md) | Zgradite logistični regresijski model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau | +| 09 | Spletna aplikacija 🔌 | [Spletna aplikacija](3-Web-App/README.md) | Zgradite spletno aplikacijo za uporabo vašega treniranega modela | [Python](3-Web-App/1-Web-App/README.md) | Jen | +| 10 | Uvod v klasifikacijo | [Klasifikacija](4-Classification/README.md) | Očistite, pripravite in vizualizirajte podatke; uvod v klasifikacijo | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen in Cassie • Eric Wanjau | +| 11 | Okusi azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Uvod v klasifikatorje | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen in Cassie • Eric Wanjau | +| 12 | Okusi azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Več klasifikatorjev | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen in Cassie • Eric Wanjau | +| 13 | Okusi azijske in indijske kuhinje 🍜 | [Klasifikacija](4-Classification/README.md) | Zgradite spletno aplikacijo za priporočanje z vašim modelom | [Python](4-Classification/4-Applied/README.md) | Jen | +| 14 | Uvod v grozdenje | [Grozdenje](5-Clustering/README.md) | Očistite, pripravite in vizualizirajte podatke; uvod v grozdenje | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau | +| 15 | Raziskovanje nigerijskih glasbenih okusov 🎧 | [Grozdenje](5-Clustering/README.md) | Raziskujte metodo K-sredin | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau | +| 16 | Uvod v procesiranje naravnega jezika ☕️ | [Procesiranje naravnega jezika](6-NLP/README.md) | Naučite se osnov NLP z gradnjo preprostega bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | +| 17 | Pogoste naloge NLP ☕️ | [Procesiranje naravnega jezika](6-NLP/README.md) | Poglobite svoje NLP znanje z razumevanjem pogostih nalog pri delu z jezikovnimi strukturami | [Python](6-NLP/2-Tasks/README.md) | Stephen | +| 18 | Prevajanje in analiza čustev ♥️ | [Procesiranje naravnega jezika](6-NLP/README.md) | Prevajanje in analiza čustev z Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen | +| 19 | Romantični hoteli Evrope ♥️ | [Procesiranje naravnega jezika](6-NLP/README.md) | Analiza čustev z ocenami hotelov 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | +| 20 | Romantični hoteli Evrope ♥️ | [Procesiranje naravnega jezika](6-NLP/README.md) | Analiza čustev z ocenami hotelov 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | +| 21 | Uvod v napovedovanje časovnih vrst | [Časovne vrste](7-TimeSeries/README.md) | Uvod v napovedovanje časovnih vrst | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca | +| 22 | ⚡️ Svetovna poraba energije ⚡️ - napovedovanje časovnih vrst z ARIMA | [Časovne vrste](7-TimeSeries/README.md) | Napovedovanje časovnih vrst z ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca | +| 23 | ⚡️ Svetovna poraba energije ⚡️ - napovedovanje časovnih vrst s SVR | [Časovne vrste](7-TimeSeries/README.md) | Napovedovanje časovnih vrst s podporno vektorsko regresijo | [Python](7-TimeSeries/3-SVR/README.md) | Anirban | +| 24 | Uvod v učenje s krepitvijo | [Učenje s krepitvijo](8-Reinforcement/README.md) | Uvod v učenje s krepitvijo z Q-učenjem | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry | +| 25 | Pomagaj Peteru, da se izogne volku! 🐺 | [Učenje s krepitvijo](8-Reinforcement/README.md) | Učenje s krepitvijo z Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry | +| Zadnji del | Praktični primeri in aplikacije ML | [ML v praksi](9-Real-World/README.md) | Zanimive in poučne resnične aplikacije klasičnega ML | [Lekcija](9-Real-World/1-Applications/README.md) | Ekipa | +| Zadnji del | Odpravljanje napak modelov ML z uporabo RAI nadzorne plošče | [ML v praksi](9-Real-World/README.md) | Odpravljanje napak modelov strojnega učenja z uporabo komponent nadzorne plošče Responsible AI | [Lekcija](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu | > [poiščite vse dodatne vire za ta tečaj v naši zbirki Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) ## Dostop brez povezave -To dokumentacijo lahko poganjate brez povezave z uporabo [Docsify](https://docsify.js.org/#/). Razvejajte ta repozitorij, [namestite Docsify](https://docsify.js.org/#/quickstart) na svoj lokalni računalnik, nato pa v korenski mapi tega repozitorija vnesite `docsify serve`. Spletna stran bo dosegljiva na vratih 3000 na vašem lokalnem gostitelju: `localhost:3000`. +To dokumentacijo lahko uporabljate brez povezave z uporabo [Docsify](https://docsify.js.org/#/). Razvežite ta repozitorij, [namestite Docsify](https://docsify.js.org/#/quickstart) na svojo lokalno napravo in nato v korenski mapi tega repozitorija vtipkajte `docsify serve`. Spletna stran bo dostopna na vratih 3000 na vaši lokalni napravi: `localhost:3000`. -## PDF-ji +## PDF datoteke Najdite pdf učnega načrta s povezavami [tukaj](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf). ## 🎒 Drugi tečaji -Naša ekipa izdeluje tudi druge tečaje! Oglejte si: +Naša ekipa ustvarja še druge tečaje! Oglejte si: ### LangChain @@ -186,11 +186,11 @@ Naša ekipa izdeluje tudi druge tečaje! Oglejte si: [![AZD za začetnike](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 za začetnike](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 za začetnike](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 Agent za začetnike](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI agenti za začetnike](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) --- -### Serija Generativne umetne inteligence +### Serija generativne umetne inteligence [![Generativna umetna inteligenca za začetnike](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) [![Generativna umetna inteligenca (.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) [![Generativna umetna inteligenca (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) @@ -210,29 +210,40 @@ Naša ekipa izdeluje tudi druge tečaje! Oglejte si: --- ### Serija Copilot -[![Copilot za AI združeno programiranje](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 za razvoj v sodelovanju z 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 za 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 pustolovščina](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) +[![Avantura 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) -## Pridobivanje pomoči +## Iskanje pomoči -Če se zataknete ali imate kakršnakoli vprašanja o izgradnji AI aplikacij, se pridružite drugim učencem in izkušenim razvijalcem v razpravah o MCP. To je podporna skupnost, kjer so vprašanja dobrodošla in se znanje prostodušno deli. +Če zaidete ali imate vprašanja med učenjem strojnega učenja ali gradnjo AI aplikacij, ne skrbite — pomoč je na voljo. -[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) +Lahko se pridružite razpravam z drugimi učenci in razvijalci, zastavljate vprašanja ter delite svoje ideje s skupnostjo. + +- Pridružite se skupnosti za postavljanje vprašanj in učenje z drugimi +- Razpravljajte o konceptih strojnega učenja in idejah projektov +- Pridobite smernice izkušenih razvijalcev + +Podporna skupnost je odličen način za izboljšanje vaših veščin in hitrejše reševanje problemov. -Če imate povratne informacije o izdelku ali napake med gradnjo, obiščite: +[Microsoft Foundry Discord skupnost](https://discord.gg/nTYy5BXMWG) + +Če naletite na napake, težave ali imate predloge za izboljšave, lahko prav tako odprete **Issue** v tem repozitoriju za prijavo problema. + +Za povratne informacije o izdelku ali iskanje obstoječih objav v skupnosti obiščite Forum za razvijalce: [![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) + ## Dodatni nasveti za učenje -- Preglejte zvezke po vsakem lekciji za boljše razumevanje. -- Vadite samostojno izvajanje algoritmov. -- Raziščite podatke iz resničnega sveta z uporabo naučenih konceptov. +- Po vsakem pouku preglejte zvezke za boljše razumevanje. +- Vadite samostojno implementacijo algoritmov. +- Raziskujte dejanske podatkovne nize z uporabo naučenih konceptov. --- -**Omejitev odgovornosti**: -Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, upoštevajte, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v maternem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokovni prevod s strani človeka. Ne odgovarjamo za kakršne koli nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda. +**Omejitev odgovornosti**: +Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, upoštevajte, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvorni dokument v njegovem maternem jeziku naj se šteje za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Nismo odgovorni za kakršnekoli nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sr/.co-op-translator.json b/translations/sr/.co-op-translator.json index df9185ff8..30b0e8867 100644 --- a/translations/sr/.co-op-translator.json +++ b/translations/sr/.co-op-translator.json @@ -90,8 +90,8 @@ "language_code": "sr" }, "2-Regression/3-Linear/README.md": { - "original_hash": "9a8359f1945bd3beccccb2b46592580e", - "translation_date": "2026-02-28T09:45:17+00:00", + "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", + "translation_date": "2026-04-20T19:09:28+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "sr" }, @@ -168,8 +168,8 @@ "language_code": "sr" }, "4-Classification/2-Classifiers-1/README.md": { - "original_hash": "1a6e9e46b34a2e559fbbfc1f95397c7b", - "translation_date": "2025-09-05T13:03:54+00:00", + "original_hash": "cb761595e5b6c42b99bb81bd13683311", + "translation_date": "2026-04-20T19:10:40+00:00", "source_file": "4-Classification/2-Classifiers-1/README.md", "language_code": "sr" }, @@ -552,8 +552,8 @@ "language_code": "sr" }, "README.md": { - "original_hash": "7fb48097f57e680b380cd9aae988d317", - "translation_date": "2026-04-06T17:25:48+00:00", + "original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0", + "translation_date": "2026-04-20T19:07:51+00:00", "source_file": "README.md", "language_code": "sr" }, diff --git a/translations/sr/2-Regression/3-Linear/README.md b/translations/sr/2-Regression/3-Linear/README.md index a39099d1d..681487c8c 100644 --- a/translations/sr/2-Regression/3-Linear/README.md +++ b/translations/sr/2-Regression/3-Linear/README.md @@ -1,136 +1,135 @@ -# Изградња регресионог модела коришћењем Scikit-learn: регресија на четири начина +# Направите регресиони модел користећи Scikit-learn: регресија на четири начина ## Напомена за почетнике -Линеарна регресија се користи када желимо да предвидимо **нумеричку вредност** (на пример, цену куће, температуру или продају). Она функционише тако што проналази праву линију која најбоље представља однос између улазних карактеристика и излаза. +Линеарна регресија се користи када желимо да предвидимо **намерну вредност** (на пример, цену куће, температуру или продају). Ради тако што пронађе праву линију која најбоље представља зависност између улазних карактеристика и излаза. -У овој лекцији се фокусирамо на разумевање концепта пре него што истражимо напредније технике регресије. +У овој лекцији се фокусирамо на разумевање концепта пре него што истражимо напредније регресионе технике. ![Линеарна насупрот полиномијалној регресији инфографика](../../../../translated_images/sr/linear-polynomial.5523c7cb6576ccab.webp) -> Инфографика од [Dasani Madipalli](https://twitter.com/dasani_decoded) +> Инфографика од [Дасани Мадипали](https://twitter.com/dasani_decoded) ## [Квиз пре предавања](https://ff-quizzes.netlify.app/en/ml/) > ### [Ова лекција је доступна у R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) ### Увод -До сада сте истражили шта је регресија користећи узорке података из скупа података о цени бундеве који ћемо користити током целе ове лекције. Такође сте то визуелизовали помоћу Matplotlib-а. +До сада сте истражили шта је регресија помоћу узорних података скупљених из сета података о ценама бундеве који ћемо користити током ове лекције. Такође сте визуализовали те податке користећи Matplotlib. -Сада сте спремни да дубље зароните у регресију за машинско учење. Док вам визуализација омогућава да разумете податке, права снага машинског учења долази из _тренирања модела_. Модели се тренирају на историјским подацима да би аутоматски ухватили зависности у подацима и омогућавају вам да предвидите исходе за нове податке које модел раније није видео. +Сада сте спремни да дубље зароните у регресију за машинско учење. Док визуализација омогућава да разумете податке, права моћ машинског учења долази из _тренинга модела_. Модели се обучавају на историјским подацима да аутоматски ухвате зависности у подацима и омогућавају вам да предвидите резултате за нове податке које модел раније није видео. -У овој лекцији ћете сазнати више о два типа регресије: _основна линеарна регресија_ и _полиномијална регресија_, заједно са неким математичким основама ових техника. Ови модели ће нам омогућити да предвидимо цене бундеве у зависности од различитих улазних података. +У овој лекцији научићете више о две врсте регресије: _основна линеарна регресија_ и _полиномијална регресија_, заједно са неком математиком која стоји иза ових техника. Ови модели ће нам омогућити да предвидимо цене бундева у зависности од различитих улазних података. [![Машинско учење за почетнике - Разумевање линеарне регресије](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Машинско учење за почетнике - Разумевање линеарне регресије") -> 🎥 Кликните на слику изнад за кратак видео преглед линеарне регресије. +> 🎥 Кликните слику изнад за кратак видео преглед линеарне регресије. -> Током читавог овог курикулума претпостављамо минимално познавање математике и тежимо да је учинимо приступачном за студенте из других области, па обратите пажњу на напомене, 🧮 илустрације, дијаграме и друге алате за учење који помажу разумевању. +> Током целог овог курикулума претпостављамо минимално знање из математике, и настојимо да буде приступачно студентима који долазе из других области, па обратите пажњу на напомене, 🧮 илустрације, дијаграме и друге алате за учење који помажу у разумевању. ### Предуслов -До сада би требало да сте упознати са структуром података о бундеви које испитујемо. Можете их пронаћи учитане и очишћене у _notebook.ipynb_ фајлу ове лекције. У том фајлу, цена бундеве је приказана по бушелу у новом DataFrame-у. Обавезно проверите да можете да покренете ове бележнице у језгру у Visual Studio Code. +Сада би требало да сте упознати са структуром података о бундевама које посматрамо. Можете их пронаћи претходно учитане и очишћене у фајлу _notebook.ipynb_ који прати ову лекцију. У том фајлу, цена бундеве је приказана по бушелу у новом дате фрејму. Обавезно проверите да можете покренути ове нотебоок-ове у Visual Studio Code окружењу. ### Припрема -Као подсетник, ове податке учитавате да бисте могли да постављате питања у вези са њима. +Као подсетник, учитавате ове податке да бисте могли да поставите питања у вези са њима. -- Када је најбоље време за куповину бундеве? -- Коју цену могу очекивати за кутију минијатурних бундевa? -- Да ли их треба купити у корпама од пола бушела или у кутији од 1 1/9 бушела? +- Када је најбоље време за куповину бундева? +- Коју цену могу очекивати за кутију минијатурних бундева? +- Да ли треба да их купим у корпама за пола бушела или у кутијама од 1 1/9 бушела? +Хајде да наставимо да прегледамо ове податке. -Хајде да наставимо са анализом ових података. +У претходној лекцији, направили сте Pandas дате фрејм и попунили га делом оригиналног скупа података, стандардујући цене по бушелу. Међутим, тиме сте успели да сакупите око 400 тачака података и само за јесење месеце. -У претходној лекцији сте направили Pandas DataFrame и попунили га делом оригиналног скупа података, стандардизујући цене по бушелу. Међутим, тиме сте пришли само око 400 података и то само за јесење месеце. +Погледајте податке које смо претходно учитали у приложеном нотебоок-у ове лекције. Податак је претходно учитан и направљен је почетни scatterplot (распршени графикон) који приказује месец. Можда можемо добити више детаља о природи података ажурирањем и додатним чишћењем. -Погледајте податке које смо претходно учитали у бележници која прати ову лекцију. Податци су учитани и приказан је почетни графикон распршености (scatterplot) за приказ месечних података. Можда можемо добити мало више детаља о природи података њиховим додатним чишћењем. +## Линеарна регресиона линија -## Линија линеарне регресије +Као што сте научили у Лекцији 1, циљ линеарне регресије је да буде могуће нацртати линију која: -Као што сте научили у Лекцији 1, циљ вежбе линеарне регресије јесте да се нацрта линија која: +- **Приказује везе између променљивих**. Прикажи однос између променљивих +- **Прави предвиђања**. Тачно предвиђа где ће нова тачка података пасти у односу на ту линију. -- **Приказује односе између варијабли.** Приказује однос између варијабли -- **Прави предвиђања.** Прави тачна предвиђања о томе где би нова тачка могла пасти у односу на ту линију. - -Типично за **регресију најмањих квадрата** је цртање овакве линије. Термин „најмањи квадрати“ односи се на процес минимизације укупне грешке у нашем моделу. За сваки податак меримо вертикалну удаљеност (која се зове резидуала) између стварне тачке и наше регресионе линије. +Типично је за **регресију најмањих квадрата** да повуче ову врсту линије. Термин "најмањи квадрати" се односи на процес минимизирања укупне грешке у нашем моделу. За сваку тачку података меримо вертикалну удаљеност (која се назива резидуал) између стварне тачке и наше регресионе линије. Ове удаљености квадратимо из два главна разлога: -1. **Величина изнад Смера:** Желимо да грешка од -5 има исту тежину као грешка од +5. Квадрирањем сви износи постају позитивни. +1. **Величина уместо смера:** Желимо да грешка од -5 буде третирана исто као грешка од +5. Квадрирање све вредности чини позитивним. -2. **Кажњавање одступања:** Квадрирањем се већа грешка додатно потенцира, па линија буде ближа удаљенијим тачкама. +2. **Казњавање одступања:** Квадрирање даје већу тежину већим грешкама, приморавајући линију да остане ближе тачкама које су удаљене. -Затим саберемо све ове квадрате. Наш циљ је да пронађемо специфичну линију за коју је овај укупни збир најмањи (најмања могућа вредност) – отуда и назив „Најмањи квадрати“. +Затим сабирамо све ове вредности квадрате заједно. Наш циљ је да пронађемо специфичну линију код које је ова укупна сума најмања (најмања могућа вредност)—отуда и назив "најмањи квадрати". -> **🧮 Покажи ми математику** -> -> Ова линија, названа _линија најбољег прилагођавања_, може бити изражена [једначином](https://en.wikipedia.org/wiki/Simple_linear_regression): -> +> **🧮 Покажи ми математику** +> +> Ова линија, названа _линија најбољег прилагођавања_ може се изразити [једначином](https://en.wikipedia.org/wiki/Simple_linear_regression): +> > ``` > Y = a + bX > ``` -> -> `X` је 'објашњавајућа варијабла'. `Y` је 'зависна варијабла'. Нагиб линије је `b`, а `a` је пресек са Y-оскулом, што указује на вредност `Y` када је `X = 0`. -> ->![израчунавање нагиба](../../../../translated_images/sr/slope.f3c9d5910ddbfcf9.webp) -> -> Прво израчунајте нагиб `b`. Инфографика од [Jen Looper](https://twitter.com/jenlooper) -> -> Другим речима, и ослањајући се на наше питање из података о бундеви: „предвидети цену бундеве по бушелу по месецу“, `X` би се односило на цену, а `Y` на месец продаје. -> ->![комплетирање једначине](../../../../translated_images/sr/calculation.a209813050a1ddb1.webp) -> -> Израчунајте вредност Y. Ако плаћате око 4 долара, то мора бити април! Инфографика од [Jen Looper](https://twitter.com/jenlooper) -> -> Математика која израчунава линију мора приказати нагиб линије, који такође зависи од пресека, односно где се `Y` налази када је `X = 0`. -> -> Метод за израчунавање ових вредности можете погледати на [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) сајту. Посетите и [овaj калкулатор најмањих квадрата](https://www.mathsisfun.com/data/least-squares-calculator.html) да бисте видели како вредности бројева утичу на линију. +> +> `X` је 'објашњавајућа променљива'. `Y` је 'зависна променљива'. Нагиб линије је `b`, док је `a` y-пресек, што представља вредност `Y` када је `X = 0`. +> +>![израчун нагиба](../../../../translated_images/sr/slope.f3c9d5910ddbfcf9.webp) +> +> Прво израчунај нагиб `b`. Инфографика од [Џен Лупер](https://twitter.com/jenlooper) +> +> Другим речима, и осврћући се на наше оригинално питање у вези цена бундеве: "предвидети цену бундеве по бушелу по месецу", `X` би се односило на цену, а `Y` на месец продаје. +> +>![заврши једначину](../../../../translated_images/sr/calculation.a209813050a1ddb1.webp) +> +> Израчунај вредност `Y`. Ако плаћате око $4, мора да је април! Инфографика од [Џен Лупер](https://twitter.com/jenlooper) +> +> Математика која израчунава линију мора показати нагиб линије, који такође зависи од пресека, односно где се `Y` налази када је `X = 0`. +> +> Метод рачунања ових вредности можете видети на [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) сајту. Посетите и [овај калкулатор најмањих квадрата](https://www.mathsisfun.com/data/least-squares-calculator.html) да бисте приметили како вредности бројева утичу на линију. ## Корелација -Још један термин који треба разумети је **Коефицијент корелације** између дате X и Y варијабле. Помоћу scatterplot-а можете брзо визуализовати овај коефицијент. График са тачкама распоређеним у прецизној линији има високу корелацију, док график са тачкама расутим на разним местима између X и Y има ниску корелацију. +Још један термин који треба разумети је **коефицијент корелације** између датих X и Y променљивих. Коришћењем scatterplot-а, можете брзо визуализовати овај коефицијент. На графикону са тачкама распршеним у прелепој линији корелација је висока, док је на графикону са тачкама распршеним на све стране између X и Y корелација ниска. -Добар линеарни регресијски модел имаће висок (ближи 1 него 0) коефицијент корелације користећи методу регресије најмањих квадрата са линијом регресије. +Добар модел линеарне регресије ће имати висок (ближе 1 него 0) коефицијент корелације користећи метод најмањих квадрата с линијом регресије. -✅ Покрените бележницу која прати ову лекцију и погледајте scatterplot Цена у односу на Месец. Да ли подаци који повезују Месец и Цену у продаји бундеве изгледају да имају високу или ниску корелацију, према Вашој визуелној процени распореда тачака? Да ли се то мења ако користите прецизнију меру уместо `Месеца`, нпр. *дан у години* (односно број дана од почетка године)? +✅ Покрените нотебоок који прати ову лекцију и погледајте scatterplot Месец у односу на цену. Да ли подаци који повезују месец и цену за продају бундеве изгледају као да имају високу или ниску корелацију, према вашој визуелној интерпретацији scatterplot-а? Да ли се то мења ако користите прецизнију меру уместо `Month`, на пример *дан у години* (број дана од почетка године)? -У доњем коду претпоставићемо да смо очистили податке и добили DataFrame под називом `new_pumpkins`, сличан следећем: +У доњем коду претпоставићемо да смо очистили податке и добили дате фрејм назван `new_pumpkins`, сличан следећем: -ID | Месец | ДанУгодини | Врста | Град | Паковање | Најнижа цена | Највиша цена | Цена ----|-------|-----------|---------|------|---------|-----------|------------|------- -70 | 9 | 267 | ВРСТА ЗА ПИТЕ | БАЛТИМОР | 1 1/9 бушел картонске кутије | 15.0 | 15.0 | 13.636364 -71 | 9 | 267 | ВРСТА ЗА ПИТЕ | БАЛТИМОР | 1 1/9 бушел картонске кутије | 18.0 | 18.0 | 16.363636 -72 | 10 | 274 | ВРСТА ЗА ПИТЕ | БАЛТИМОР | 1 1/9 бушел картонске кутије | 18.0 | 18.0 | 16.363636 -73 | 10 | 274 | ВРСТА ЗА ПИТЕ | БАЛТИМОР | 1 1/9 бушел картонске кутије | 17.0 | 17.0 | 15.454545 -74 | 10 | 281 | ВРСТА ЗА ПИТЕ | БАЛТИМОР | 1 1/9 бушел картонске кутије | 15.0 | 15.0 | 13.636364 +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 -> Код за чишћење података доступан је у [`notebook.ipynb`](notebook.ipynb). Извели смо исте кораке чишћења као у претходној лекцији и израчунали смо колону `DayOfYear` користећи следећи израз: +> Код за чишћење података налази се у [`notebook.ipynb`](notebook.ipynb). Извршили смо исте кораке чишћења као у претходној лекцији и израчунали колону `DayOfYear` користећи следећи израз: ```python day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` - -Сада када разумете математику иза линеарне регресије, хајде да направимо регресијски модел да видимо да ли можемо предвидети која паковања буњева имају најбоље цене. Неки који купују бундеве за свечани јесењи паркинг можда желе ове информације како би оптимизовали своју куповину пакета бундеве. + +Сада када имате разумевање математике иза линеарне регресије, хајде да направимо регресиони модел да видимо можемо ли предвидети који пакет бундева ће имати најбоље цене. Неко ко купује бундеве за хладњачу можда жели ове информације како би оптимизовао куповине пакета бундева за хладњачу. ## Тражење корелације -[![Машинско учење за почетнике - Тражење корелације: кључ за линеарну регресију](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Машинско учење за почетнике - Тражење корелације: кључ за линеарну регресију") +[![Машинско учење за почетнике - Тражење корелације: Кључ линеарне регресије](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Машинско учење за почетнике - Тражење корелације: Кључ линеарне регресије") -> 🎥 Кликните на слику изнад за кратак видео преглед корелације. +> 🎥 Кликните слику изнад за кратак видео преглед корелације. -Из претходне лекције вероватно сте видели да просечна цена за различите месеце изгледа овако: +Из претходне лекције сте вероватно видели да просечна цена за различите месеце изгледа овако: Просечна цена по месецу -Ово сугерише да треба да постоји нека корелација, и можемо покушати да тренирамо линеарни регресијски модел да предвидимо однос између `Месец` и `Цена`, или између `ДануГодини` и `Цена`. Ево графикона распршености који приказује овај други однос: +Ово указује да би требало да постоји нека корелација, и да можемо покушати обуку модела линеарне регресије да предвидимо однос између `Month` и `Price` или између `DayOfYear` и `Price`. Ево scatter plot-а који показује овај други однос: -Графикон распршености Цена према Дану у години +Scatter plot цена у односу на дан у години -Хајде да проверимо да ли постоји корелација помоћу функције `corr`: +Хајде да видимо да ли постоји корелација коришћењем `corr` функције: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` - -Чини се да је корелација прилично мала, -0.15 по `Месецу` и -0.17 по `Дану у месецу`, али можда постоји неки други важан однос. Изгледа да постоје различити скупови цена који одговарају разним врстама бундеве. Да бисмо потврдили ову хипотезу, хајде да нацртамо сваку категорију бундеве другим бојама. Прослеђивањем `ax` параметра функцији `scatter` можемо нацртати све тачке на истом графикону: + +Изгледа да је корелација прилично мала, -0.15 по `Month` и -0.17 по `DayOfMonth`, али може бити још неки важан однос. Изгледа као да постоје различити кластери цена који одговарају различитим врстама бундева. Да бисмо потврдили ову хипотезу, хајде да свака категорија бундеве буде приказана различитом бојом. Прослеђујући `ax` параметар `scatter` функцији за цртање можемо приказати све тачке на истом графикону: ```python ax=None @@ -139,92 +138,92 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): df = new_pumpkins[new_pumpkins['Variety']==var] ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var) ``` - -Графикон распршености Цена према Дану у години са бојом -Истраживање нам сугерише да врста бундеве има већи утицај на укупну цену од самог датума продаје. Видимо то и помоћу тракастог графика: +Scatter plot цена у односу на дан у години, са бојама + +Наша истрага сугерише да врста има већег утицаја на цену од стварног датума продаје. Ово можемо видети уз помоћ графикона: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') ``` - -Тракасти график цена по врсти -За сада се фокусирајмо само на једну врсту бундеве, 'type за питу', и видимо какав утицај датум има на цену: +Графикон цена по врсти + +Хајде сад да се фокусирамо само на једну врсту бундеве, 'тип за пите', и видимо каквог утицаја има датум на цену: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] pie_pumpkins.plot.scatter('DayOfYear','Price') ``` -Графикон распршености Цена према Дану у години +Scatter plot цена у односу на дан у години за тип за пите -Ако сада израчунамо корелацију између `Цена` и `ДанУгодини` користећи функцију `corr`, добићемо нешто око `-0.27` - што значи да има смисла тренирати предиктивни модел. +Ако сада израчунамо корелацију између `Price` и `DayOfYear` користећи `corr` функцију, добићемо нешто као `-0.27` - што значи да има смисла тренирати предиктивни модел. -> Пре тренирања линеарног регресијског модела, важно је да подаци буду чисти. Линеарна регресија не функционише добро са недостајућим вредностима, па има смисла уклонити све празне ћелије: +> Пре тренирања линеарног регресионог модела, важно је осигурати да су наши подаци чисти. Линеарна регресија не ради добро са недостајућим вредностима, па има смисла уклонити све празне ћелије: ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` - -Други приступ би био да се те празне вредности попуне просечним вредностима из одговарајуће колоне. + +Други приступ би био да се празне вредности попуне просечним вредностима из одговарајуће колоне. ## Једноставна линеарна регресија -[![Машинско учење за почетнике - Линеарна и полиномијална регресија коришћењем Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Машинско учење за почетнике - Линеарна и полиномијална регресија коришћењем Scikit-learn") +[![Машинско учење за почетнике - Линеарна и полиномијална регресија користећи Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Машинско учење за почетнике - Линеарна и полиномијална регресија користећи Scikit-learn") -> 🎥 Кликните на слику изнад за кратак видео преглед линеарне и полиномијалне регресије. +> 🎥 Кликните слику изнад за кратак видео преглед линеарне и полиномијалне регресије. -За тренирање нашег Линеарног регресијског модела користићемо **Scikit-learn** библиотеку. +За обуку нашег модела линеарне регресије користићемо библиотеку **Scikit-learn**. ```python from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` - -Почнимо тако што ћемо улазне вредности (карактеристике) и очекиване излазне вредности (ознаке) раздвојити у посебне numpy низове: + +Почињемо раздвајањем улазних вредности (карактеристика) и очекиваног излаза (ознаке) у одвојене numpy низове: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` - -> Имајте на уму да смо морали да извршимо `reshape` над улазним подацима како би линерарни регресијски пакет правилно разумео податке. Линеарна регресија очекује 2D низ као улаз, где сваки ред у низу одговара вектору карактеристика улаза. У нашем случају, пошто имамо само један улаз, потребан нам је низ облика N×1, где је N величина скупа података. -Затим, потребно је да поделимо податке на тренирачки и тестирачки скуп тако да можемо верификовати модел након тренирања: +> Имајте у виду да смо морали да извршимо `reshape` улазних података да би Linear Regression пакет исправно разумео. Линеарна регресија очекује 2Д низ као улаз, где сваки ред одговара вектору улазних карактеристика. У нашем случају, пошто имамо само један улаз, потребан нам је низ са обликом N×1, где је N величина скупа података. + +Затим, морамо поделити податке на тренирајући и тестни скуп, како бисмо могли да валидамо наш модел након тренинга: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` - -Коначно, само тренирање Линеарног регресијског модела захтева само две линије кода. Дефинишемо објекат `LinearRegression` и уклопимо га на наше податке коришћењем метода `fit`: + +Коначно, тренирање самог модела линеарне регресије траје само две линије кода. Дефинишемо `LinearRegression` објекат и прилагођавамо га нашим подацима користећи `fit` методу: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` -Објекат `LinearRegression` након извршавања `fit` садржи све коефицијенте регресије, којима се може приступити помоћу својства `.coef_`. У нашем случају постоји само један коефицијент, који би требало да буде око `-0.017`. То значи да цене изгледају да благо опадају током времена, али не превише, око 2 цента дневно. Такође можемо приступити тачки пресека регресије са Y-осом користећи `lin_reg.intercept_` - он ће у нашем случају бити око `21`, што указује на цену на почетку године. +Објект `LinearRegression` након `fit`-овања садржи све коефицијенте регресије, до којих се може приступити коришћењем `.coef_` својства. У нашем случају, постоји само један коефицијент, који би требао бити око `-0.017`. То значи да цене изгледа да благо падају са временом, али не превише, око 2 цента дневно. Такође можемо приступити тачки пресека регресије са Y осом користећи `lin_reg.intercept_` - она ће у нашем случају бити око `21`, што указује на цену на почетку године. -Да бисмо видели колико је наш модел прецизан, можемо предвидети цене на тестном сету података, а затим измерити колико су наша предвиђања блиска очекиваним вредностима. Ово се може урадити помоћу метрике средње квадратичне грешке (MSE), која је просек свих квадратних разлика између очекиваних и предвиђених вредности. +Да видимо колико је наш модел прецизан, можемо предвидети цене на тест скупу података, а затим мерити колико су наша предвиђања блиска очекиваним вредностима. Ово се може урадити коришћењем метрике корен средње квадратичне грешке (RMSE), која је корен средине свих квадратних разлика између очекиване и предвиђене вредности. ```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}%)') +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` -Наша грешка изгледа да је око 2 поена, што је ~17%. Није баш добро. Још један показатељ квалитета модела је **коефицијент детерминације**, који се може добити овако: +Чини се да је наша грешка око 2 поена, што је ~17%. Није баш добро. Још један показатељ квалитета модела је **коефицијент детерминације**, који се добија овако: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` -Ако је вредност 0, то значи да модел не узима у обзир улазне податке и понаша се као *најгории линеарни предиктор*, што је једноставно просечна вредност резултата. Вредност 1 значи да можемо савршено предвидети све очекиване излазе. У нашем случају коефицијент је око 0.06, што је прилично мало. + Ако је вредност 0, то значи да модел не узима у обзир улазне податке и понаша се као *најгории линеарни предиктор*, што је једноставно просечна вредност резултата. Вредност 1 значи да можемо савршено предвидети све очекиване излазе. У нашем случају, коефицијент је око 0.06, што је прилично ниско. -Такође можемо приказати тестне податке заједно са регресионом линијом да боље видимо како регресија ради у нашем случају: +Такође можемо приказати тест податке заједно са регресионом линијом да боље видимо како регресија ради у нашем случају: ```python plt.scatter(X_test,y_test) @@ -235,17 +234,17 @@ plt.plot(X_test,pred) ## Полиномијална регресија -Још један тип линеарне регресије је полиномијална регресија. Иако понекад постоји линеарна веза између променљивих - што је бундева већа по обиму, то је цена виша - понекад ове везе нису могуће приказати као раван или праву линију. +Још један тип линеарне регресије је полиномијална регресија. Иако понекад постоји линеарна веза између променљивих - што је тиква већа у обиму, то је цена виша - понекад се те везе не могу приказати као раван или права линија. -✅ Ево [још неких примера](https://online.stat.psu.edu/stat501/lesson/9/9.8) података који могу користити полиномијалну регресију +✅ Ево [неколико додатних примера](https://online.stat.psu.edu/stat501/lesson/9/9.8) података који би могли користити полиномијалну регресију -Погледајте поново везу између датума и цене. Да ли овај расејани графикон мора нужно да буде анализиран правом линијом? Зар цене не могу да варирају? У овом случају можете покушати полиномијалну регресију. +Погледајте још једном однос између Датума и Цене. Да ли овај распоред тачака делује као нешто што нужно треба анализирати правом линијом? Зар цене не могу флуктуирати? У овом случају, можете покушати полиномијалну регресију. -✅ Полиноми су математички изрази који могу да се састоје од једне или више променљивих и коефицијената +✅ Полиноми су математички изрази који могу садржати једну или више променљивих и коефицијената -Полиномијална регресија прави закривљену линију да боље прилагоди нелинеарне податке. У нашем случају, ако у улазне податке укључимо квадрат променљиве `DayOfYear`, требало би да можемо да прилагодимо податке параболичном кривом, која ће имати минимум на одређеној тачки у току године. +Полиномијална регресија прави закривљену линију да боље прилагоди нелинеарне податке. У нашем случају, ако укључимо квадратну променљиву `DayOfYear` у улазне податке, требало би да можемо прилагодити наше податке параболичном кривом, која ће имати минимум у одређеној тачки током године. -Scikit-learn укључује корисан [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) за комбиновaње различитих корака обраде података заједно. **Pipeline** је ланац **ескиматора**. У нашем случају креираћемо pipeline који прво додаје полиномијалне карактеристике у наш модел, а затим обучава регресију: +Scikit-learn укључује користан [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) за комбиновање различитих корака обраде података заједно. **Pipeline** је ланац **estimatora**. У нашем случају, направићемо pipeline који прво додаје полиномијалне особине нашем моделу, а затим тренира регресију: ```python from sklearn.preprocessing import PolynomialFeatures @@ -256,36 +255,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` -Коришћењем `PolynomialFeatures(2)` значи да ћемо укључити све полиноме другог степена из улазних података. У нашем случају то ће значити само `DayOfYear`2, али ако имамо две променљиве X и Y, то ће додати X2, XY и Y2. Можемо користити и полиноме вишег реда ако желимо. +Користећи `PolynomialFeatures(2)` значи да ћемо укључити све другостепене полиноме из улазних података. У нашем случају то ће значити само `DayOfYear`2, али с обзиром на две улазне променљиве X и Y, ово ће додати X2, XY и Y2. Такође можемо користити и полиноме виших степени ако желимо. -Pipeline-ови се могу користити на исти начин као оригинални објекат `LinearRegression`, тј. можемо `fit`-овати pipeline, а затим користити `predict` да добијемо резултате предвиђања. Ево графика који приказује тестне податке и криву апроксимације: +Pipeline-ови се могу користити на исти начин као и оригинални објекат `LinearRegression`, односно можемо `fit`-овати pipeline, а затим користити `predict` за добијање резултата предвиђања. Ево графикона који показује тест податке и криву апроксимације: Polynomial regression -Коришћењем полиномијалне регресије можемо добити благо ниже MSE и више вредности коефицијента детерминације, али не значајно. Потребно је узети у обзир друге карактеристике! +Коришћењем полиномијалне регресије можемо добити мало мању МСЕ и већи коефицијент детерминације, али не значајно. Потребно је узети у обзир и друге карактеристике! -> Можете видети да су минималне цене бувеђа примећене негде око ноћи вештица. Како то можете да објасните? +> Можете приметити да се минималне цене тиквића појављују негде око Ноћи вештица. Како бисте то објаснили? -🎃 Честитамо, управо сте креирали модел који може помоћи у предвиђању цене тикви за питу. Вероватно можете поновити исти поступак за све врсте тикви, али то би било заморно. Хајде сада да научимо како да у наш модел укључимо разноликост тикви! +🎃 Честитамо, управо сте направили модел који може помоћи у предвиђању цене пит тиквица. Вероватно можете поновити исти поступак за све типове тиквица, али то би било заморно. Сада ћемо научити како да узмемо у обзир сорту тикве у нашем моделу! ## Категоријалне карактеристике -У идеалном свету, желимо да можемо предвидети цене различитих врста тикви користећи исти модел. Међутим, колона `Variety` се делимично разликује од колона као што је `Month`, јер садржи не-нумеричке вредности. Те колоне се зову **категоријалне**. +У идеалном свету, желимо да можемо предвидети цене за различите сорте тикви користећи исти модел. Међутим, колона `Variety` је нешто другачија од колона као што је `Month`, јер садржи не-нумеричке вредности. Такве колоне се зову **категоријалне**. -[![ML за почетнике - Предвиђања категоријалних карактеристика помоћу линеарне регресије](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML за почетнике - Предвиђања категоријалних карактеристика помоћу линеарне регресије") +[![ML за почетнике - предвиђања категоријалних особина са линеарном регресијом](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML за почетнике - предвиђања категоријалних особина са линеарном регресијом") -> 🎥 Кликните на слику изнад за кратак видео преглед коришћења категоријалних карактеристика. +> 🎥 Кликните на слику изнад за кратак видео преглед коришћења категоријалних особина. -Овде можете видети како просечна цена зависи од врсте: +Овде можете видети како просечна цена зависи од сорте: Average price by variety -Да бисмо узели у обзир врсту, прво морамо да је конвертујемо у нумерички облик, односно да je **енкодирајемо**. Постоји неколико начина да то урадимо: +Да бисмо узели у обзир сорту, прво морамо да је претворимо у нумерички облик, односно да је **енкодирају**. Постоји неколико начина како то можемо урадити: -* Једноставно **нумеричко кодирање** ће направити табелу различитих врста, а затим заменити име врсте индексом у тој табели. Ово није најбоља идеја за линеарну регресију, јер линеарна регресија узима стварну нумеричку вредност индекса и додаје је резултату, множећи неким коефицијентом. У нашем случају, веза између броја индекса и цене је очигледно нелинеарна, чак и ако се уверимо да су индекси поређани на одређени начин. -* **One-hot кодирање** ће заменити колону `Variety` са 4 различите колоне, по једна за сваку врсту. Свака колона ће садржати `1` ако одговарајући ред припада тој врсти, а `0` у супротном. То значи да ће постојати четири коефицијента у линеарној регресији, по један за сваку врсту тикве, одговорни за "почетну цену" (или боље рећи "додатну цену") за ту конкретну врсту. +* Једноставно **нумеричко кодирање** ће направити табелу различитих сорти, а затим заменити име сорте индексом у тој табели. Ово није најбоља идеја за линеарну регресију, јер линеарна регресија узима стварну нумеричку вредност индекса и додаје је резултату помноженом неким коефицијентом. У нашем случају, веза између броја индекса и цене је јасно нелинеарна, чак и ако осигурамо да су индекси уређени на одређени начин. +* **One-hot кодирање** ће заменити колону `Variety` четири различите колоне, по једну за сваки тип. Свака колона ће садржати `1` ако је одговарајући ред тог типа, и `0` у супротном. Ово значи да ће у линеарној регресији постојати четири коефицијента, по један за сваку сортутіквице, који ће бити одговорни за „почетну цену“ (или боље речено „додатну цену“) за ту одређену сорту. -Код испод показује како можемо one-hot кодирати врсту: +Код у наставку показује како можемо да извршимо one-hot кодирање сорте: ```python pd.get_dummies(new_pumpkins['Variety']) @@ -302,14 +301,14 @@ pd.get_dummies(new_pumpkins['Variety']) 1741 | 0 | 1 | 0 | 0 1742 | 0 | 1 | 0 | 0 -За тренирање линеарне регресије користећи one-hot енкодовану врсту као улаз, потребно је само правилно иницијализовати `X` и `y` податке: +Да бисмо тренирали линеарну регресију користећи one-hot кодирање сорте као улаз, само треба исправно иницијализовати податке `X` и `y`: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` -Остатак кода је исти као што смо користили горе за тренирање линеарне регресије. Ако покушате, видећете да је средња квадратична грешка отприлике иста, али добијамо много већи коефицијент детерминације (~77%). Да бисмо добили још прецизнија предвиђања, можемо узети у обзир више категоријалних карактеристика, као и нумеричких, као што су `Month` или `DayOfYear`. Да бисмо добили један велики низ карактеристика, можемо користити `join`: +Остатак кода је исти као што смо користили горе за тренирање линеарне регресије. Ако пробате, видећете да је средња квадратична грешка отприлике иста, али добијамо знатно већи коефицијент детерминације (~77%). Да бисмо добили још прецизнија предвиђања, можемо узети у обзир више категоријалних особина, као и нумеричких, као што су `Month` или `DayOfYear`. Да бисмо добили једну велику матрицу особина, можемо користити `join`: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -319,31 +318,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ y = new_pumpkins['Price'] ``` -Овде такође узимамо у обзир `City` и тип `Package`, што нам даје MSE 2.84 (10%) и коефицијент детерминације 0.94! +Овде такође узимамо у обзир `City` и тип `Package`, што нам даје МСЕ 2.84 (10%), и коефицијент детерминације 0.94! ## Све заједно -Да бисмо направили најбољи модел, можемо користити комбиноване (one-hot енкодиране категоријалне + нумеричке) податке из горњег примера заједно са полиномијалном регресијом. Ево комплетног кода за вашу погодност: +Да бисмо направили најбољи модел, можемо користити комбиноване (one-hot кодиране категоријалне + нумеричке) податке из горњег примера заједно са полиномијалном регресијом. Ево комплетног кода ради ваше погодности: ```python -# подесити податке за обуку +# подеси податке за тренинг 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'] -# направити подјелу на тренинг и тест +# направи подјелу на тренинг и тест X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) -# подесити и обучити процес +# подеси и обучи цјевовод pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# предвидети резултате за тест податке +# предвиди резултате за тест податке pred = pipeline.predict(X_test) -# израчунати MSE и коефицијент детерминације +# израчунај MSE и коефицијент детерминације mse = np.sqrt(mean_squared_error(y_test,pred)) print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') @@ -351,28 +350,28 @@ score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` -Ово би требало да нам да најбољи коефицијент детерминације од скоро 97%, и MSE=2.23 (~8% грешке у предвиђању). +Ово би нам требало дати најбољи коефицијент детерминације од скоро 97%, и МСЕ=2.23 (~8% грешке предвиђања). -| Модел | MSE | Коэффицијент детерминације | -|-------|-----|-----------------------------| +| Модел | МСЕ | Детерминација | +|-------|-----|---------------| | Линеарна `DayOfYear` | 2.77 (17.2%) | 0.07 | | Полиномијална `DayOfYear` | 2.73 (17.0%) | 0.08 | | Линеарна `Variety` | 5.24 (19.7%) | 0.77 | -| Линеарна са свим карактеристикама | 2.84 (10.5%) | 0.94 | -| Полиномијална са свим карактеристикама | 2.23 (8.25%) | 0.97 | +| Линеарна све особине | 2.84 (10.5%) | 0.94 | +| Полиномијална све особине | 2.23 (8.25%) | 0.97 | -🏆 Браво! Креирали сте четири регресона модела у једном часу и побољшали квалитет модела на 97%. У завршном делу о регресији научићете о логистичкој регресији за одређивање категорија. +🏆 Браво! Направили сте четири модела регресије у једном часу и побољшали квалитет модела на 97%. У завршном делу о регресији научићете о логистичкој регресији за категоризацију. --- -## 🚀Изазов +## 🚀 Изазов -Испробајте неколико различитих променљивих у овом notebook-у да бисте видели како корелација одговара тачности модела. +Испробајте неколико различитих променљивих у овом notebook-у да видите како корелација одговара тачности модела. ## [Квиз након предавања](https://ff-quizzes.netlify.app/en/ml/) -## Преглед и самостално учење +## Преглед и Самосталан рад -У овом часу смо учили о линеарној регресији. Постоје и други важни типови регресије. Прочитајте о Stepwise, Ridge, Lasso и Elasticnet техникама. Добар курс за учење више је [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) +У овом часу смо научили о линеарној регресији. Постоје и други важни типови регресије. Прочитајте о Stepwise, Ridge, Lasso и Elasticnet техникама. Добар курс за учење више је [Stanford Statistical Learning курс](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ## Задатак @@ -381,6 +380,6 @@ print('Model determination: ', score) --- -**Резервaција од одговорности**: -Овај документ је преведен уз помоћ AI услуге за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо тачности, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Изворни документ на свом оригиналном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразуми или погрешне интерпретације проузроковане коришћењем овог превода. +**Изјава о одрицању одговорности**: +Овај документ је преведен уз помоћ AI сервиса за превођење [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Не сносимо одговорност за било каква неспоразуми или погрешна тумачења настала коришћењем овог превода. \ No newline at end of file diff --git a/translations/sr/4-Classification/2-Classifiers-1/README.md b/translations/sr/4-Classification/2-Classifiers-1/README.md index 70ddce68d..350949252 100644 --- a/translations/sr/4-Classification/2-Classifiers-1/README.md +++ b/translations/sr/4-Classification/2-Classifiers-1/README.md @@ -1,17 +1,17 @@ # Класификатори кухиња 1 -У овом часу, користићете скуп података који сте сачували из претходног часа, пун уравнотежених и чистих података о кухињама. +У овој лекцији ћете користити скуп података који сте сачували из претходне лекције, пун уравнотежених, чистих података о кухињама. -Користићете овај скуп података са различитим класификаторима да _предвидите одређену националну кухињу на основу групе састојака_. Док то радите, научићете више о неким начинима на које алгоритми могу бити коришћени за задатке класификације. +Користићете овај скуп података са разним класификаторима да бисте _предвидели дато национално јело на основу групе састојака_. При томе ћете научити више о неким од начина на које се алгоритми могу искористити за задатке класификације. -## [Квиз пре предавања](https://ff-quizzes.netlify.app/en/ml/) +## [Претпредавачки квиз](https://ff-quizzes.netlify.app/en/ml/) # Припрема -Под претпоставком да сте завршили [Час 1](../1-Introduction/README.md), уверите се да датотека _cleaned_cuisines.csv_ постоји у коренском `/data` фолдеру за ова четири часа. +Под претпоставком да сте завршили [Лекцију 1](../1-Introduction/README.md), уверите се да фајл _cleaned_cuisines.csv_ постоји у главном `/data` фолдеру за ове четири лекције. -## Вежба - предвидите националну кухињу +## Вежба - предвиди националну кухињу -1. Радите у фолдеру _notebook.ipynb_ овог часа, увезите ту датотеку заједно са библиотеком Pandas: +1. Радите у фолдеру ове лекције _notebook.ipynb_, учитајте тај фајл заједно са библиотеком Pandas: ```python import pandas as pd @@ -19,7 +19,7 @@ cuisines_df.head() ``` - Подаци изгледају овако: + Подaци изгледају овако: | | Unnamed: 0 | cuisine | almond | angelica | anise | anise_seed | apple | apple_brandy | apricot | armagnac | ... | whiskey | white_bread | white_wine | whole_grain_wheat_flour | wine | wood | yam | yeast | yogurt | zucchini | | --- | ---------- | ------- | ------ | -------- | ----- | ---------- | ----- | ------------ | ------- | -------- | --- | ------- | ----------- | ---------- | ----------------------- | ---- | ---- | --- | ----- | ------ | -------- | @@ -30,7 +30,7 @@ | 4 | 4 | indian | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | -1. Сада увезите још неколико библиотека: +1. Сада, увезите још неколико библиотека: ```python from sklearn.linear_model import LogisticRegression @@ -40,7 +40,7 @@ import numpy as np ``` -1. Поделите X и y координате у два датафрејма за тренинг. `cuisine` може бити датафрејм са ознакама: +1. Поделите X и y координате у два датафрејма за тренинг. `cuisine` може бити датафрејм етикета: ```python cuisines_label_df = cuisines_df['cuisine'] @@ -58,7 +58,7 @@ Name: cuisine, dtype: object ``` -1. Избаците колону `Unnamed: 0` и колону `cuisine`, користећи `drop()`. Сачувајте остатак података као карактеристике за тренинг: +1. Избаците колоне `Unnamed: 0` и `cuisine` позивом `drop()`. Остатак података сачувајте као могуће карактеристике за обуку: ```python cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1) @@ -75,85 +75,85 @@ | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | -Сада сте спремни да обучите свој модел! +Сада сте спремни да обучите модел! ## Избор класификатора -Сада када су ваши подаци чисти и спремни за тренинг, морате одлучити који алгоритам да користите за задатак. +Сада када су ваши подаци чисти и спремни за обуку, морате одлучити који алгоритам да користите. -Scikit-learn групише класификацију под Надгледано учење, и у тој категорији ћете пронаћи много начина за класификацију. [Разноврсност](https://scikit-learn.org/stable/supervised_learning.html) може изгледати збуњујуће на први поглед. Следеће методе укључују технике класификације: +Scikit-learn групише класификацију под Надзирано учење, и у тој категорији ћете пронаћи много начина да се врши класификација. [Разноврсност](https://scikit-learn.org/stable/supervised_learning.html) је на први поглед прилично збуњујућа. Следеће методе укључују технике класификације: - Линеарни модели -- Машине за подршку векторима +- Support Vector Machines (Супротне вредносне машине) - Стохастички градијентни спуст - Најближи суседи - Гаусови процеси -- Дрвеће одлука -- Методе ансамбла (гласајући класификатор) -- Алгоритми за више класа и више излаза (класификација више класа и више ознака, класификација више класа-више излаза) +- Одлучивачка стабла +- Методе ансамбла (гласачки класификатор) +- Мултикласа и мултиаутпут алгоритми (мултикласа и мултилеијбл класификација, мултикласа-мултиаутпут класификација) -> Такође можете користити [неуронске мреже за класификацију података](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification), али то је ван оквира овог часа. +> Можете такође користити [неуронске мреже за класификацију података](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification), али то је изван опсега ове лекције. ### Који класификатор одабрати? -Па, који класификатор треба да изаберете? Често је тестирање неколико њих и тражење доброг резултата начин да се испроба. Scikit-learn нуди [упоредни приказ](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) на креираном скупу података, упоређујући KNeighbors, SVC на два начина, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB и QuadraticDiscrinationAnalysis, приказујући резултате визуализоване: +Дакле, који класификатор изабрати? Често, пробајући неколико и тражећи добар резултат је начин да се тестира. Scikit-learn нуди [упоредну табелу](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) на направљеном скупу података, поредећи KNeighbors, SVC на два начина, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB и QuadraticDiscrinationAnalysis, показујући резултате визуализоване: -![упоредни приказ класификатора](../../../../4-Classification/2-Classifiers-1/images/comparison.png) -> Графикони генерисани у документацији Scikit-learn-а +![поређење класификатора](../../../../translated_images/sr/comparison.edfab56193a85e7f.webp) +> Графикони генерисани у документацији Scikit-learn -> AutoML решава овај проблем елегантно тако што врши ова поређења у облаку, омогућавајући вам да изаберете најбољи алгоритам за ваше податке. Пробајте [овде](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) +> AutoML решава овај проблем елегантно покретањем ових поређења у облаку, омогућавајући вам да изаберете најбољи алгоритам за ваше податке. Испробајте [овде](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) ### Бољи приступ -Бољи начин од насумичног погађања је да следите идеје из овог преузимљивог [ML Cheat sheet](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Овде откривамо да, за наш проблем са више класа, имамо неке опције: +Бољи начин од насумичног погађања је да пратите идеје са овог склопивог [ML Cheat sheet](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott). Овде откривамо да за наш мултикласа проблем имамо неке изборе: -![чит листа за проблеме са више класа](../../../../4-Classification/2-Classifiers-1/images/cheatsheet.png) -> Део Microsoft-ове чит листе алгоритама, који детаљно описује опције класификације више класа +![читава листа за мултикласа проблеме](../../../../translated_images/sr/cheatsheet.07a475ea444d2223.webp) +> Одељак Microsoft-овог листа са преваром алгоритама, који детаљно описује опције мултикласа класификације -✅ Преузмите ову чит листу, одштампајте је и окачите на зид! +✅ Преузмите овај лист, одштампајте га и обесите на зид! -### Размишљање +### Рaзлози -Хајде да видимо да ли можемо да размишљамо о различитим приступима с обзиром на ограничења која имамо: +Погледајмо да ли можемо разложити различите приступе узимајући у обзир ограничења која имамо: -- **Неуронске мреже су превише захтевне**. С обзиром на наш чист, али минималан скуп података, и чињеницу да тренинг изводимо локално преко нотебука, неуронске мреже су превише захтевне за овај задатак. -- **Нема класификатора за две класе**. Не користимо класификатор за две класе, тако да то искључује one-vs-all. -- **Дрво одлука или логистичка регресија би могли да раде**. Дрво одлука би могло да ради, или логистичка регресија за податке са више класа. -- **Побољшана дрва одлука за више класа решавају другачији проблем**. Побољшано дрво одлука за више класа је најпогодније за непараметарске задатке, нпр. задатке дизајниране за креирање рангирања, тако да нам није корисно. +- **Неуронске мреже су превише захтевне**. Имајући у виду наш чист, али минималан скуп података и чињеницу да изводимо обуку локално преко нотебоока, неуронске мреже су пречесто за овај задатак. +- **Нема класификатора са два класа**. Не користимо двокласни класификатор, што искључује one-vs-all приступ. +- **Одлучујуће стабло или логистичка регресија могу функционисати**. Одлучивачко стабло или логистичка регресија за мултикласа податке могу бити добри. +- **Мултикласа Појачана Одлучивачка стабла решавају други проблем**. Мултикласа појачана одлучивачка стабла су најприкладнија за непараметричке задатке, нпр. задатке дизајниране за прављење ранкинга, те нам нису корисна. ### Коришћење Scikit-learn-а -Користићемо Scikit-learn за анализу наших података. Међутим, постоји много начина за коришћење логистичке регресије у Scikit-learn-у. Погледајте [параметре за прослеђивање](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +Користићемо Scikit-learn за анализу наших података. Међутим, постоји више начина да се у Scikit-learn-у изведе логистичка регресија. Погледајте [параметре које треба проследити](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -У суштини, постоје два важна параметра - `multi_class` и `solver` - које треба да наведемо када тражимо од Scikit-learn-а да изврши логистичку регресију. Вредност `multi_class` примењује одређено понашање. Вредност solver-а је алгоритам који се користи. Не могу се сви solver-и упарити са свим вредностима `multi_class`. +У суштини, постоје два важна параметра - `multi_class` и `solver` - које треба одредити када тражите од Scikit-learn-а да изведе логистичку регресију. Вредност `multi_class` подешава одређено понашање алгоритма. Вредност `solver` одређује који алгоритам ће се користити. Ниједан solver се не може користити са свим врстама `multi_class` вредности. -Према документацији, у случају више класа, алгоритам за тренинг: +Према документацији, у случају мултикласе: -- **Користи шему one-vs-rest (OvR)**, ако је опција `multi_class` постављена на `ovr` -- **Користи губитак унакрсне ентропије**, ако је опција `multi_class` постављена на `multinomial`. (Тренутно је опција `multinomial` подржана само од стране solver-а ‘lbfgs’, ‘sag’, ‘saga’ и ‘newton-cg’.)" +- **Користи се шема један наспрам свих (OvR)**, ако је опција `multi_class` подешена на `ovr` +- **Користи се крос-ентропијски губитак**, ако је опција `multi_class` подешена на `multinomial`. (Тренутно су опције `multinomial` подржане само од стране solver-а ‘lbfgs’, ‘sag’, ‘saga’ и ‘newton-cg’)." -> 🎓 'Шема' овде може бити 'ovr' (one-vs-rest) или 'multinomial'. Пошто је логистичка регресија заправо дизајнирана да подржи бинарну класификацију, ове шеме јој омогућавају да боље обради задатке класификације више класа. [извор](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) +> 🎓 'Схема' овде може бити 'ovr' (један-напротив-свих) или 'multinomial'. Пошто је логистичка регресија првобитно дизајнирана за бинарну класификацију, ове шеме јој омогућавају боље руковање мултикласа задацима. [извор](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/) -> 🎓 'Solver' је дефинисан као "алгоритам који се користи у проблему оптимизације". [извор](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). +> 🎓 'Solver' је дефинисан као "алгоритам који се користи у оптимизационом проблему". [извор](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression). -Scikit-learn нуди ову табелу да објасни како solver-и решавају различите изазове које представљају различите врсте структура података: +Scikit-learn нуди ову табелу да објасни како solver-и решавају различите изазове које представљају различите структуре података: -![solver-и](../../../../4-Classification/2-Classifiers-1/images/solvers.png) +![solver-и](../../../../translated_images/sr/solvers.5fc648618529e627.webp) -## Вежба - поделите податке +## Вежба - подели податке -Можемо се фокусирати на логистичку регресију за наш први тренинг, пошто сте недавно научили о њој у претходном часу. -Поделите своје податке у групе за тренинг и тестирање позивањем `train_test_split()`: +Можемо се фокусирати на логистичку регресију за наш први тренинг покушај јер сте недавно учили о њој у претходној лекцији. +Поделите податке на групе за обуку и тестирање позивом `train_test_split()`: ```python X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3) ``` -## Вежба - примените логистичку регресију +## Вежба - примени логистичку регресију -Пошто користите случај више класа, потребно је да изаберете коју _шему_ да користите и који _solver_ да поставите. Користите LogisticRegression са подешавањем више класа и **liblinear** solver-ом за тренинг. +Пошто користите мултикласа случај, морате одабрати коју _шему_ да користите и који _solver_ да подесите. Користите LogisticRegression са подешеним multi_class и solver-ом **liblinear** за обуку. -1. Креирајте логистичку регресију са multi_class постављеним на `ovr` и solver-ом постављеним на `liblinear`: +1. Направите логистичку регресију са `multi_class` подешеним на `ovr` и solver-ом подешеним на `liblinear`: ```python lr = LogisticRegression(multi_class='ovr',solver='liblinear') @@ -163,27 +163,28 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine print ("Accuracy is {}".format(accuracy)) ``` - ✅ Пробајте другачији solver као што је `lbfgs`, који је често постављен као подразумеван -> Напомена, користите Pandas [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) функцију за изравнавање ваших података када је то потребно. -Тачност је добра, преко **80%**! + ✅ Испробајте други solver као `lbfgs`, који је често подразумеван -1. Можете видети овај модел у акцији тестирањем једног реда података (#50): + > Напомена: користите Pandas-ову функцију [`ravel`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.ravel.html) да спљоштите податке када је потребно. + + Тачност је добра, преко **80%**! + +1. Можете видети овај модел у акцији тестирајући један ред података (#50): ```python print(f'ingredients: {X_test.iloc[50][X_test.iloc[50]!=0].keys()}') print(f'cuisine: {y_test.iloc[50]}') ``` - Резултат се исписује: + Резултат је исписан: ```output ingredients: Index(['cilantro', 'onion', 'pea', 'potato', 'tomato', 'vegetable_oil'], dtype='object') cuisine: indian ``` - ✅ Пробајте други број реда и проверите резултате. - -1. Ако желите да истражите дубље, можете проверити тачност ове предикције: + ✅ Испробајте другачији број реда и проверите резултате +1. Дужећи дубље, можете проверити тачност ове прогнозе: ```python test= X_test.iloc[50].values.reshape(-1, 1).T @@ -195,7 +196,7 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine topPrediction.head() ``` - Резултат се исписује - индијска кухиња је најбоља претпоставка, са добром вероватноћом: + Резултат је одштампан - Индијска кухиња је највероватнији избор, са добром вероватноћом: | | 0 | | -------: | -------: | @@ -207,38 +208,40 @@ X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisine ✅ Можете ли објаснити зашто је модел прилично сигуран да је ово индијска кухиња? -1. Добијте више детаља исписивањем извештаја о класификацији, као што сте радили у лекцијама о регресији: +1. Добијте више детаља тако што ћете одштампати извештај о класификацији, као што сте радили на часовима регресије: ```python y_pred = model.predict(X_test) print(classification_report(y_test,y_pred)) ``` - | | прецизност | одзив | f1-резултат | подршка | - | ------------ | ---------- | ----- | ----------- | ------- | - | chinese | 0.73 | 0.71 | 0.72 | 229 | - | indian | 0.91 | 0.93 | 0.92 | 254 | - | japanese | 0.70 | 0.75 | 0.72 | 220 | - | korean | 0.86 | 0.76 | 0.81 | 242 | - | thai | 0.79 | 0.85 | 0.82 | 254 | - | тачност | 0.80 | 1199 | | | - | макро просек | 0.80 | 0.80 | 0.80 | 1199 | - | пондерисан просек | 0.80 | 0.80 | 0.80 | 1199 | + | | precision | recall | f1-score | support | + | ------------ | --------- | ------ | -------- | ------- | + | chinese | 0.73 | 0.71 | 0.72 | 229 | + | indian | 0.91 | 0.93 | 0.92 | 254 | + | japanese | 0.70 | 0.75 | 0.72 | 220 | + | korean | 0.86 | 0.76 | 0.81 | 242 | + | thai | 0.79 | 0.85 | 0.82 | 254 | + | accuracy | | | 0.80 | 1199 | + | macro avg | 0.80 | 0.80 | 0.80 | 1199 | + | weighted avg | 0.80 | 0.80 | 0.80 | 1199 | ## 🚀Изазов -У овој лекцији, користили сте очишћене податке за изградњу модела машинског учења који може предвидети националну кухињу на основу серије састојака. Одвојите време да прочитате многе опције које Scikit-learn пружа за класификацију података. Истражите дубље концепт 'solver'-а да бисте разумели шта се дешава иза сцене. +У овом часу користили сте своје очишћене податке за изградњу модела машинског учења који може да предвиди националну кухињу на основу скупа састојака. Узмите мало времена да прочитате бројне опције које Scikit-learn пружа за класификацију података. Дубље истражите појам 'solver' да бисте разумели шта се дешава иза сцене. ## [Квиз након предавања](https://ff-quizzes.netlify.app/en/ml/) -## Преглед и самостално учење +## Преглед и Самостално учење -Истражите мало више математику иза логистичке регресије у [овој лекцији](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf) -## Задатак +Истражите мало више математику иза логистичке регресије у [овом часу](https://people.eecs.berkeley.edu/~russell/classes/cs194/f11/lectures/CS194%20Fall%202011%20Lecture%2006.pdf) +## Задатак -[Проучите решаваче](assignment.md) +[Проучите solver-е](assignment.md) --- -**Одрицање од одговорности**: -Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода. \ No newline at end of file + +**Изјава о одрицању одговорности**: +Овај документ је преведен коришћењем AI услуге за превођење [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде прецизан, имајте у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетом. За критичне информације препоручује се професионални превод од стране људског преводиоца. Нисмо одговорни за било каква неразумевања или погрешне интерпретације које могу настати коришћењем овог превода. + \ No newline at end of file diff --git a/translations/sr/README.md b/translations/sr/README.md index e549e1646..dff122525 100644 --- a/translations/sr/README.md +++ b/translations/sr/README.md @@ -10,14 +10,14 @@ ### 🌐 Подршка за више језика -#### Подржано преко GitHub акције (аутоматизовано и увек ажурирано) +#### Подржано преко GitHub Action (аутоматски и увек ажурирано) [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) | [Khmer](../km/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)](./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) > **Волите да клонирате локално?** > -> Ово складиште укључује више од 50 превода језика што значајно повећава величину преузимања. Да бисте клонирали без превода, користите sparse checkout: +> Ово складиште садржи преко 50 превода на језике што значајно повећава величину преузимања. Да бисте клонирали без превода, користите sparse checkout: > > **Bash / macOS / Linux:** > ```bash @@ -33,63 +33,63 @@ > git sparse-checkout set --no-cone "/*" "!translations" "!translated_images" > ``` > -> Ово вам даје све што вам је потребно да завршите курс много брже преузимањем. +> Ово вам даје све што вам је потребно за завршетак курса са знатно бржим преузимањем. #### Придружите се нашој заједници [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -Имате текућу серију Learn with AI на Discord-у, сазнајте више и придружите нам се на [Learn with AI Series](https://aka.ms/learnwithai/discord) од 18. до 30. септембра 2025. године. Добићете савете и трикове за коришћење GitHub Copilot за Data Science. +Имамо текући Discord серијал „Learn with AI“, сазнајте више и придружите нам се на [Learn with AI Series](https://aka.ms/learnwithai/discord) од 18. до 30. септембра 2025. године. Добићете савете и трикове за коришћење GitHub Copilot-а за Data Science. ![Learn with AI series](../../translated_images/sr/3.9b58fd8d6c373c20.webp) -# Машинско учење за почетнике - Курикулум +# Машинско учење за почетнике - Наставни план -> 🌍 Путујте око света док истражујемо машинско учење кроз културе света 🌍 +> 🌍 Путујте широм света док истражујемо машинско учење кроз светске културе 🌍 -Cloud Advocates у Microsoft-у са задовољством нуде 12-недељни курикулум од 26 лекција у вези са **машинским учењем**. У овом курикулуму учићете о ономе што се понекад назива **клasiчним машинским учењем**, користећи углавном Scikit-learn као библиотеку и избегавајући дубоко учење које је обухваћено у нашем курикулуму [AI for Beginners](https://aka.ms/ai4beginners). Такође можете паровати ове лекције са нашим курсом ['Data Science for Beginners'](https://aka.ms/ds4beginners). +Cloud Advocates у Microsoft-у са задовољством нуде 12-недељни, 26-лекцијски наставни план који говори о **машинском учењу**. У овом курсу ћете научити о ономе што се понекад назива **класично машинско учење**, користећи углавном Scikit-learn као библиотеку и избегавајући дубоко учење, које је покривено у нашем [AI for Beginners' курикулуму](https://aka.ms/ai4beginners). Спојите ове лекције са нашим ['Data Science for Beginners' курикулумом](https://aka.ms/ds4beginners), такође! -Путујте с нама широм света док примењујемо ове класичне технике на податке из многих области света. Свака лекција укључује прегледне квизове пре и после лекције, упутства за извршење лекције, решење, задатак и више. Наша педагогија заснована на пројектима омогућава да учите док градите, а то је доказан начин да нове вештине 'остану'. +Путујте с нама широм света док примењујемо ове класичне технике на податке из разних делова света. Свака лекција укључује квизове пре и после лекције, писане инструкције за завршетак лекције, решење, задатак и још много тога. Наша педагогија заснована на пројектима омогућава вам да учите док градите, што је доказани начин да нове вештине „заглаве“. -**✍️ Велика захвалност нашим ауторима** Јен Лупер, Стивен Хауел, Франческа Лазери, Томоми Имура, Кеси Бревију, Дмитриј Сошников, Крис Норинг, Анирбан Мукхерџи, Орнела Алтуњан, Рут Јакубу и Ејми Бојд +**✍️ Велику захвалност ауторима** Јен Лупер, Стивен Хауел, Франческа Лаззери, Томоми Имура, Кеси Бревиу, Дмитриј Сошников, Крис Норинг, Анирбан Мукерџи, Орнела Алтуњан, Рут Јакубу и Ејми Бојд -**🎨 Хвала и нашим илустраторкама** Томоми Имура, Дасани Мадипалли и Јен Лупер +**🎨 Захвалност и илустраторима** Томоми Имура, Дасани Мадипали и Јен Лупер -**🙏 Посебна захвалност 🙏 нашим Microsoft Student Ambassador ауторима, рецензентима и сарадницима**, посебно Ришиту Даглију, Мухамаду Сакибу Хану Инану, Рохану Рају, Александру Петреску, Абишеку Џаисвалу, Наврин Табасум, Јоану Самуила и Снигдхи Агарвал +**🙏 Посебна захвалност 🙏 нашим Microsoft Student Ambassador ауторима, рецензентима и сарадницима на садржају**, нарочито Ришиту Даглију, Мухамаду Сакибу Кхану Инану, Рохану Рају, Алексндру Петреску, Абхишеку Јаисвалу, Ноwрин Табасум, Јоану Самуила, и Снигдхи Агарвал -**🤩 Посебне захвалности Microsoft Student Ambassadors Ерику Вањау, Јаслину Сонди и Видуши Гупта за наше Р лекције!** +**🤩 Посебна захвалност Microsoft Student Ambassadors Ерику Вањау, Јаслину Сонди и Видуши Гупти због наших лекција на R језику!** -# Почетак +# Почетак рада -Пратите ове кораке: -1. **Извршите форк репозиторијума**: Кликните на дугме "Fork" у горњем десном углу ове странице. -2. **Клонирајте репозиторијум**: `git clone https://github.com/microsoft/ML-For-Beginners.git` +Пратите ове кораке: +1. **Форк репозиторијум**: Кликните на дугме "Fork" у горњем десном углу ове странице. +2. **Клонирајте репозиторијум**: `git clone https://github.com/microsoft/ML-For-Beginners.git` > [пронађите све додатне ресурсе за овај курс у нашој Microsoft Learn колекцији](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) -> 🔧 **Треба вам помоћ?** Погледајте наш [Водич за решавање проблема](TROUBLESHOOTING.md) за решења уобичајених проблема са инсталацијом, подешавањем и извођењем лекција. +> 🔧 **Треба вам помоћ?** Погледајте наш [Водич за решавање проблема](TROUBLESHOOTING.md) за решења уобичајених проблема са инсталацијом, подешавањем и покретањем лекција. -**[Студенти](https://aka.ms/student-page)**, да бисте користили овај курикулум, форкујте цео репо на свој GitHub налог и радите задатке сами или у групи: +**[Студенти](https://aka.ms/student-page)**, да бисте користили овај курикулум, форкујте цео репозиторијум на свој GitHub налог и радите задатке самостално или у групи: -- Почните са квизом пре предавања. -- Прочитајте предавање и завршите активности, правећи паузе за размишљање код сваке провере знања. -- Покушајте да креирате пројекте разумевањем лекција уместо само извршавањем кода решења; код решења је ипак доступан у /solution фолдерима у свакој пројектно оријентисаној лекцији. -- Урадите квиз после предавања. -- Завршите изазов. -- Испуните задатак. -- Након завршетка групе лекција, посетите [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) и „учите наглас“ попуњавајући одговарајућу PAT рубрику. 'PAT' је алат за процену напретка која вам помаже да напредујете у учењу. Можете и реаговати на друге PAT-ове да учимо заједно. +- Почните са квизом пре предавања. +- Прочитајте предавање и завршите активности, правећи паузе и размишљајући након сваке провере знања. +- Покушајте да направите пројекте разумејући лекције уместо да само покрећете код из решења; ипак, тај код је доступан у фасциклама `/solution` у свакој лекцији оријентисаној ка пројекту. +- Полажите квиз након предавања. +- Завршите изазов. +- Завршите задатак. +- Након завршетка групе лекција, посетите [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) и „учи наглас“ попуњавајући одговарајући PAT (алат за оцену напретка). PAT је рубрика коју попуњавате како бисте додатно унапредили учење. Такође можете реаговати на друге PAT-ове како бисмо учили заједно. -> За даље учење, препоручујемо праћење ових [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) модула и путева учења. +> За даље учење препоручујемо праћење ових [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) модула и наставних путања. -**Наставници**, укључили смо неке [предлоге](for-teachers.md) о томе како да користите овај курикулум. +**Наставници**, припремили смо [неке предлоге](for-teachers.md) о томе како да користите овај курикулум. --- -## Видеоуроци +## Видео обиласци -Неке лекције су доступне у форми кратких видео снимака. Све их можете пронаћи уграђено у лекцијама или на [ML for Beginners списку песама на Microsoft Developer YouTube каналу](https://aka.ms/ml-beginners-videos) кликом на слику испод. +Неке лекције су доступне у кратком видео формату. Све их можете пронаћи унутар лекција или на [ML for Beginners плејлисти на Microsoft Developer YouTube каналу](https://aka.ms/ml-beginners-videos) кликом на слику испод. [![ML for beginners banner](../../translated_images/sr/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos) @@ -101,74 +101,74 @@ Cloud Advocates у Microsoft-у са задовољством нуде 12-нед **Гиф од** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) -> 🎥 Кликните на слику горе за видео о пројекту и људима који су га створили! +> 🎥 Кликните на слику изнад за видео о пројекту и људима који су га креирали! --- ## Педагогија -Изабрали смо два педагошка принципа приликом изградње овог курикулума: да буде практичан и заснован на пројектима и да укључује често понављање кроз квизове. Поред тога, курикулум има заједничку тему која му даје кохерентност. - -Обезбеђујући да садржај буде повезан са пројектима, процес постаје занимљивији за студенте и побољшава се задржавање концепата. Ниско ризични квиз пре предавања поставља циљ студента ка учењу теме, док други квиз после предавања обезбеђује додатно учвршћивање знања. Овај курикулум је дизајниран да буде флексибилан и забаван и може се пратити у целини или делимично. Пројекти почињу једноставно и постају све сложенији до краја 12-недељног циклуса. Курикулум такође укључује последњи део о реалним применама ML-а, који се може користити као додатни кредити или као основ за дискусију. - -> Пронађите наше [Правило понашања](CODE_OF_CONDUCT.md), [Упутство за допринос](CONTRIBUTING.md), [Преводе](..) и [Решавање проблема](TROUBLESHOOTING.md). Добродошле су ваше конструктивне повратне информације! - -## Свaка лекцијa укључује - -- опционални скицнот -- опционални додатни видео -- видео водич (само неке лекције) -- [квиз за загревање пре предавања](https://ff-quizzes.netlify.app/en/ml/) -- писани материјал за лекцију -- за лекције засноване на пројектима, корак-по-корак упутства како направити пројекат -- проверу знања -- изазов -- допунско читање -- задатак -- [квиз после предавања](https://ff-quizzes.netlify.app/en/ml/) -> **Напомена о језицима**: Ове лекције су првенствено написане у Питону, али многе су такође доступне и у Р. Да бисте завршили Р лекцију, идите у фолдер `/solution` и потражите Р лекције. Оне имају проширење .rmd које представља **Р Маркдаун** фајл, који се једноставно може дефинисати као уграђивање `код чипова` (Р или других језика) и `YAML заглавља` (које води како форматирати излазе као што је ПДФ) у `Маркдаун документу`. Као такав, служи као пример оквира за ауторство у науци о подацима јер вам омогућава да комбинујете свој код, његов излаз и своје мисли тако што ћете их записати у Маркдауну. Штавише, Р Маркдаун документи се могу рендеровати у формате излаза као што су ПДФ, ХТМЛ или Ворд. - -> **Напомена о квизовима**: Сви квизови се налазе у [Quiz App фолдеру](../../quiz-app), укупно 52 квиза са по три питања у сваком. Они су повезани изнутра у лекцијама, али се квиз апликација може покренути и локално; пратите упутства у фолдеру `quiz-app` како бисте локално хостовали или депловали на Азуре. - -| Број лекције | Тема | Група лекције | Циљеви учења | Повезана лекција | Аутор | -| :---------: | :----------------------------------------------------------: | :-----------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: | -| 01 | Увод у машинско учење | [Увод](1-Introduction/README.md) | Научите основне концепте машинског учења | [Лекција](1-Introduction/1-intro-to-ML/README.md) | Muhammad | -| 02 | Историја машинског учења | [Увод](1-Introduction/README.md) | Научите историју овог поља | [Лекција](1-Introduction/2-history-of-ML/README.md) | Jen и Amy | -| 03 | Поравноправност и машинско учење | [Увод](1-Introduction/README.md) | Која су важна филозофска питања о поравноправности која студенти треба да размотре када граде и примењују МЛ моделе? | [Лекција](1-Introduction/3-fairness/README.md) | Tomomi | -| 04 | Технике машинског учења | [Увод](1-Introduction/README.md) | Које технике МЛ истраживачи користе за израду МЛ модела? | [Лекција](1-Introduction/4-techniques-of-ML/README.md) | Chris и Jen | -| 05 | Увод у регресију | [Регресија](2-Regression/README.md) | Почните са Питоном и Scikit-learn за регресионе моделе | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau | -| 06 | Северноамеричке цене бундеве 🎃 | [Регресија](2-Regression/README.md) | Визуелизујте и очистите податке као припрему за МЛ | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau | -| 07 | Северноамеричке цене бундеве 🎃 | [Регресија](2-Regression/README.md) | Направите линеарне и полиномијалне регресионе моделе | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen и Dmitry • Eric Wanjau | -| 08 | Северноамеричке цене бундеве 🎃 | [Регресија](2-Regression/README.md) | Направите логистичку регресију | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau | -| 09 | Веб апликација 🔌 | [Веб апликација](3-Web-App/README.md) | Направите веб апликацију која користи ваш тренирани модел | [Python](3-Web-App/1-Web-App/README.md) | Jen | -| 10 | Увод у класификацију | [Класификација](4-Classification/README.md) | Очистите, припремите и визуализујте своје податке; увод у класификацију | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen и Cassie • Eric Wanjau | -| 11 | Укусне азијске и индијске кухиње 🍜 | [Класификација](4-Classification/README.md) | Увод у класификаторе | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen и Cassie • Eric Wanjau | -| 12 | Укусне азијске и индијске кухиње 🍜 | [Класификација](4-Classification/README.md) | Више класификатора | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen и Cassie • Eric Wanjau | -| 13 | Укусне азијске и индијске кухиње 🍜 | [Класификација](4-Classification/README.md) | Направите препоручивачку веб апликацију користећи свој модел | [Python](4-Classification/4-Applied/README.md) | Jen | -| 14 | Увод у кластерисање | [Кластерисање](5-Clustering/README.md) | Очистите, припремите и визуализујте податке; увод у кластерисање | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau | -| 15 | Истраживање нигеријских музичких укуса 🎧 | [Кластерисање](5-Clustering/README.md) | Истражите К-Меанс методу кластерисања | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau | -| 16 | Увод у обраду природног језика ☕️ | [Обрада природног језика](6-NLP/README.md) | Научите основе НЛП-а правећи једноставног бота | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen | -| 17 | Уобичајени НЛП задаци ☕️ | [Обрада природног језика](6-NLP/README.md) | Продубите знање о НЛП-у разумевањем уобичајених задатака потребних у раду са језичким структурама | [Python](6-NLP/2-Tasks/README.md) | Stephen | -| 18 | Превод и анализа сентимента ♥️ | [Обрада природног језика](6-NLP/README.md) | Превод и анализа сентимента са Џејн Остин | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen | -| 19 | Романтични хотели Европе ♥️ | [Обрада природног језика](6-NLP/README.md) | Анализа сентимента са рецензијама хотела 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen | -| 20 | Романтични хотели Европе ♥️ | [Обрада природног језика](6-NLP/README.md) | Анализа сентимента са рецензијама хотела 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen | -| 21 | Увод у предвиђање временских серија | [Временске серије](7-TimeSeries/README.md) | Увод у предвиђање временских серија | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca | -| 22 | ⚡️ Светска потрошња електричне енергије ⚡️ - предвиђање временских серија са АРИМА | [Временске серије](7-TimeSeries/README.md) | Предвиђање временских серија помоћу АРИМА модели | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca | -| 23 | ⚡️ Светска потрошња електричне енергије ⚡️ - предвиђање временских серија са СВР | [Временске серије](7-TimeSeries/README.md) | Предвиђање временских серија помоћу модела Регресије вектора подршке (SVR) | [Python](7-TimeSeries/3-SVR/README.md) | Anirban | -| 24 | Увод у учење ојачања | [Учење ојачања](8-Reinforcement/README.md) | Увод у учење ојачања помоћу Q-Learning-а | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry | -| 25 | Помозите Петеру да избегне вука! 🐺 | [Учење ојачања](8-Reinforcement/README.md) | Учење ојачања у Gym окружењу | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry | -| Постскрипт | Реални сценарији и примене МЛ | [Машинско учење у пракси](9-Real-World/README.md) | Интересантне и откривајуће реалне примене класичног МЛ | [Лекција](9-Real-World/1-Applications/README.md) | Тим | -| Постскрипт | Отказивање модела у МЛ користећи РАИ инструмент | [Машинско учење у пракси](9-Real-World/README.md) | Отказивање модела у машинском учењу користећи компоненте РАИ контролне табле | [Лекција](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu | - -> [нађите све додатне ресурсе за овај курс у нашој Microsoft Learn колекцији](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) - -## Оффлине приступ - -Можете да покренете ову документацију офлајн користећи [Docsify](https://docsify.js.org/#/). Форкујте овај репозиторијум, [инсталирајте Docsify](https://docsify.js.org/#/quickstart) на свој локални рачунар, а затим у рута фолдеру овог репозиторијума укуцајте `docsify serve`. Вебсајт ће бити доступан на порту 3000 на вашој локалној машини: `localhost:3000`. - -## ПДФ фајлови - -Пронађите ПДФ наставног плана са линковима [овде](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf). +Одабрали смо два педагошка принципа док смо градили овај курикулум: да буде практичан, заснован на **пројектима** и да укључује **честе квизове**. Поред тога, овај курикулум има заједничку **тему** ради усклађености. + +Омогућавајући да садржај буде повезан са пројектима, процес је привлачнији за студенте и задржавање концепата ће бити побољшано. Такође, квиз са малим залогом пре часа поставља намеру студента ка учењу теме, док други квиз после часа осигурава даље задржавање. Овај курикулум је дизајниран да буде флексибилан и забаван и може се радити у целини или делимично. Пројекти почињу једноставно и постају све сложенији током 12-недељног циклуса. Курикулум такође укључује постскриптум о стварној примени ML, који може служити као додатни кредит или као теме за дискусију. + +> Пронађите наше смернице за [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translations](..), и [Troubleshooting](TROUBLESHOOTING.md). Добродошли су ваши конструктивни коментари! + +## Свака лекција садржи + +- опциони скичнот +- опциони додатни видео +- видео обилазак (само неке лекције) +- [тест припреме пре предавања](https://ff-quizzes.netlify.app/en/ml/) +- писану лекцију +- за лекције засноване на пројекту, упутства корак по корак како направити пројекат +- провере знања +- изазов +- додатно читање +- задатак +- [тест након предавања](https://ff-quizzes.netlify.app/en/ml/) +> **Напомена о језицима**: Ове лекције су углавном написане у Питону, али многе су доступне и на R-у. Да бисте завршили R лекцију, идите у фасциклу `/solution` и потражите R лекције. Оне укључују .rmd екстензију која представља **R Markdown** фајл који се једноставно може дефинисати као уграђивање `кодних делова` (на R-у или другим језицима) и `YAML заглавља` (које води како форматирати излазе као што су PDF) у `Markdown документ`. Као таква, служи као примерни оквир за аутора података јер вам омогућава да комбинујете свој код, његов излаз и своје мисли тако што их пишете у Markdown. Штавише, R Markdown документи могу се конвертовати у формате као што су PDF, HTML или Word. + +> **Напомена о квизовима**: Сви квизови се налазе у [Quiz App фасцикли](../../quiz-app), укупно 52 квиза са по три питања. Они су повезани изнутра лекција, али квиз апликација може да се покреће локално; пратите упутства у `quiz-app` фасцикли за локални хостинг или дејплој на Azure. + +| Број лекције | Тема | Груписање лекције | Циљеви учења | Повезана лекција | Аутор | +| :----------: | :----------------------------------------------------------: | :---------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: | +| 01 | Увод у машинско учење | [Увод](1-Introduction/README.md) | Научите основне концепте машинског учења | [Лекција](1-Introduction/1-intro-to-ML/README.md) | Мухаммад | +| 02 | Историја машинског учења | [Увод](1-Introduction/README.md) | Научите историју која стоји иза ове области | [Лекција](1-Introduction/2-history-of-ML/README.md) | Џен и Еми | +| 03 | Праведност и машинско учење | [Увод](1-Introduction/README.md) | Која су важна филозофска питања о праведности која ученици треба да узму у обзир приликом градње и примене ML модела? | [Лекција](1-Introduction/3-fairness/README.md) | Томоми | +| 04 | Технике машинског учења | [Увод](1-Introduction/README.md) | Које технике истраживачи ML користе за прављење ML модела? | [Лекција](1-Introduction/4-techniques-of-ML/README.md) | Крис и Џен | +| 05 | Увод у регресију | [Регресија](2-Regression/README.md) | Започните са Питоном и Scikit-learn за регресионе моделе | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Џен • Ерик Вањау | +| 06 | Цене бундеве у Северној Америци 🎃 | [Регресија](2-Regression/README.md) | Визуализујте и очистите податке у припреми за ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Џен • Ерик Вањау | +| 07 | Цене бундеве у Северној Америци 🎃 | [Регресија](2-Regression/README.md) | Направите линеарне и полиномијалне регресионе моделе | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Џен и Дмитри • Ерик Вањау | +| 08 | Цене бундеве у Северној Америци 🎃 | [Регресија](2-Regression/README.md) | Направите логистичку регресију | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Џен • Ерик Вањау | +| 09 | Веб апликaција 🔌 | [Web App](3-Web-App/README.md) | Направите веб апликацију за коришћење свог обученог модела | [Python](3-Web-App/1-Web-App/README.md) | Џен | +| 10 | Увод у класификацију | [Класификација](4-Classification/README.md) | Очистите, припремите и визуализујте своје податке; увод у класификацију | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Џен и Каси • Ерик Вањау | +| 11 | Укусна азијска и индијска кухиња 🍜 | [Класификација](4-Classification/README.md) | Увод у класификаторе | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Џен и Каси • Ерик Вањау | +| 12 | Укусна азијска и индијска кухиња 🍜 | [Класификација](4-Classification/README.md) | Више класификатора | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Џен и Каси • Ерик Вањау | +| 13 | Укусна азијска и индијска кухиња 🍜 | [Класификација](4-Classification/README.md) | Направите веб апликацију за препоруке користећи свој модел | [Python](4-Classification/4-Applied/README.md) | Џен | +| 14 | Увод у кластеризацију | [Кластеризација](5-Clustering/README.md) | Очистите, припремите и визуализујте податке; увод у кластеризацију | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Џен • Ерик Вањау | +| 15 | Истраживање нигеријских музичких укуса 🎧 | [Кластеризација](5-Clustering/README.md) | Истражите K-Means методу кластеризације | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Џен • Ерик Вањау | +| 16 | Увод у обраду природног језика ☕️ | [Обрада природног језика](6-NLP/README.md) | Научите основе NLP градећи једноставног бота | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Стивен | +| 17 | Уобичајени задаци у NLP-у ☕️ | [Обрада природног језика](6-NLP/README.md) | Продубите своје NLP знање разумевањем уобичајених задатака потребних при раду са језичким структурама | [Python](6-NLP/2-Tasks/README.md) | Стивен | +| 18 | Превод и анализа сентимената ♥️ | [Обрада природног језика](6-NLP/README.md) | Превод и анализа сентимената са Џејн Остин | [Python](6-NLP/3-Translation-Sentiment/README.md) | Стивен | +| 19 | Романтични хотели Европе ♥️ | [Обрада природног језика](6-NLP/README.md) | Анализа сентимената уз рецензије хотела 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Стивен | +| 20 | Романтични хотели Европе ♥️ | [Обрада природног језика](6-NLP/README.md) | Анализа сентимената уз рецензије хотела 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Стивен | +| 21 | Увод у прогнозирање временских серија | [Временске серије](7-TimeSeries/README.md) | Увод у прогнозирање временских серија | [Python](7-TimeSeries/1-Introduction/README.md) | Франческа | +| 22 | ⚡️ Потрошња електричне енергије у свету ⚡️ - прогнозирање временских серија помоћу ARIMA | [Временске серије](7-TimeSeries/README.md) | Прогнозирање временских серија уз помоћ ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Франческа | +| 23 | ⚡️ Потрошња електричне енергије у свету ⚡️ - прогнозирање временских серија помоћу SVR | [Временске серије](7-TimeSeries/README.md) | Прогнозирање временских серија уз помоћ Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Анирбан | +| 24 | Увод у учење појачањем | [Учирење појачањем](8-Reinforcement/README.md) | Увод у учење појачањем користећи Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Дмитри | +| 25 | Помозите Питеру да избегне вука! 🐺 | [Учирење појачањем](8-Reinforcement/README.md) | Учење појачањем у Gym окружењу | [Python](8-Reinforcement/2-Gym/README.md) | Дмитри | +| Постскрипт | Сценарији и примене ML у стварном свету | [ML у природи](9-Real-World/README.md) | Интересантне и откривалачке примене класичног ML у стварном свету | [Лекција](9-Real-World/1-Applications/README.md) | Тим | +| Постскрипт | Дебаговање модела у ML користећи RAI контролни панел| [ML у природи](9-Real-World/README.md) | Дебаговање модела машинског учења користећи компоненте Responsible AI контролног панела | [Лекција](9-Real-World/2-Debugging-ML-Models/README.md) | Рут Јакубу | + +> [пронађите све додатне ресурсе за овај курс у нашој Microsoft Learn колекцији](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) + +## Приступ без везе (Offline access) + +Можете покренути ову документацију без везе користећи [Docsify](https://docsify.js.org/#/). Форкујте овај репозиторијум, [инсталирајте Docsify](https://docsify.js.org/#/quickstart) на својој локалној машини, а затим у коренској фасцикли овог репозиторијума покрените команду `docsify serve`. Вебсајт ће бити доступан на порту 3000 на вашој локалној машини: `localhost:3000`. + +## PDF-ови + +Пронађите pdf наставног плана са линковима [овде](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf). ## 🎒 Остали курсеви @@ -185,54 +185,65 @@ Cloud Advocates у Microsoft-у са задовољством нуде 12-нед ### 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 за почетнике](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 агенти за почетнике](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) +[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) +[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- -### Серии генеративне вештачке интелигенције -[![Генеративна вештачка интелигенција за почетнике](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) -[![Генеративна вештачка интелигенција (.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) -[![Генеративна вештачка интелигенција (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) -[![Генеративна вештачка интелигенција (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) +### Серја генеративне вештачке интелигенције +[![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) --- ### Основно учење -[![Машинско учење за почетнике](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) -[![Наука о подацима за почетнике](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) -[![Вештачка интелигенција за почетнике](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) -[![Безбедност у сајбер простору за почетнике](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) -[![Веб развој за почетнике](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) -[![Интернет ствари за почетнике](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 за почетнике](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) --- -### Серии Copilot -[![Copilot за 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 за 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 авантура](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) +### Серја Copilot +[![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) ## Добијање помоћи -Ако заглавите или имате било каквих питања о изградњи AI апликација. Придружите се другим ученицима и искусним програмерима у расправама о MCP. То је подржавајућа заједница у којој су питања добро дошла и знање се слободно дели. +Ако залутате или имате питања током учења Машинског учења или изградње AI апликација, не брините — помоћ је доступна. -[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) +Можете се придружити дискусијама са другим ученицима и програмерима, постављати питања и делити своје идеје са заједницом. + +- Придружите се заједници да бисте постављали питања и учили с другима +- Разговарајте о појмовима Машинског учења и идејама пројеката +- Добите смернице од искусних програмера + +Подршка заједнице је одличан начин да унапредите своје вештине и брже решавате проблеме. -Ако имате повратне информације о производу или грешке током изградње, посетите: +[Microsoft Foundry Discord Community](https://discord.gg/nTYy5BXMWG) + +Ако наиђете на грешке, проблеме или имате предлоге за побољшања, можете такође отворити **Issue** у овом репозиторијуму да пријавите проблем. + +За повратне информације о производу или за претрагу постојећих објава у заједници, посетите Форум програмера: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) + ## Додатни савети за учење -- Прегледајте свеске након сваког часа ради бољег разумевања. -- Вежбајте самостално имплементацију алгоритама. -- Истражујте стварне скупове података користећи научене концепте. +- Прегледајте белешке након сваке лекције ради бољег разумевања. +- Вежбајте имплементацију алгоритама самостално. +- Истражујте стварне скупове података користећи научене појмове. --- **Одрицање од одговорности**: -Овај документ је преведен коришћењем услуге за аутоматски превод [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде тачан, молимо имајте у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални превод од стране човека. Нисмо одговорни за било каква неспоразуми или погрешне интерпретације настале коришћењем овог превода. +Овај документ је преведен помоћу AI услуге за превођење [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде прецизан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације, препоручује се професионални превод обављен од стране људи. Ми нисмо одговорни за било каква неспоразума или погрешне тумачења настала коришћењем овог превода. \ No newline at end of file