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

pull/935/head
localizeflow[bot] 2 months ago
parent 99262dd803
commit 5f47c353eb

@ -30,8 +30,8 @@
"language_code": "it"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-08-29T21:24:21+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T08:48:09+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "it"
},
@ -90,8 +90,8 @@
"language_code": "it"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-06T07:24:29+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T08:49:16+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "it"
},
@ -186,8 +186,8 @@
"language_code": "it"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-06T07:36:29+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T08:49:39+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "it"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "it"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T08:46:02+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "it"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-08-29T21:50:54+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "it"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T08:46:07+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "it"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-06T07:36:06+00:00",
@ -540,8 +552,8 @@
"language_code": "it"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:11:59+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T08:48:02+00:00",
"source_file": "README.md",
"language_code": "it"
},

@ -1,16 +1,18 @@
# Esplora il Toolbox per l'AI Responsabile
# Esplora la Responsible AI Toolbox
## Istruzioni
In questa lezione hai imparato a conoscere il Toolbox per l'AI Responsabile, un "progetto open-source guidato dalla comunità per aiutare i data scientist ad analizzare e migliorare i sistemi di intelligenza artificiale." Per questo compito, esplora uno dei [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) del RAI Toolbox e riporta le tue scoperte in un documento o una presentazione.
In questa lezione hai appreso la Responsible AI Toolbox, un "progetto open-source guidato dalla comunità per aiutare i data scientist ad analizzare e migliorare i sistemi di intelligenza artificiale." Per questo compito, esplora uno dei [notebook](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) di RAI Toolbox e riporta le tue scoperte in un elaborato o una presentazione.
## Rubrica
## Griglia di valutazione
| Criteri | Esemplare | Adeguato | Da Migliorare |
| Criteri | Esemplare | Adeguato | Da migliorare |
| -------- | --------- | -------- | ----------------- |
| | Viene presentato un documento o una presentazione PowerPoint che discute i sistemi di Fairlearn, il notebook eseguito e le conclusioni tratte dall'esecuzione | Viene presentato un documento senza conclusioni | Non viene presentato alcun documento |
| | Viene presentato un elaborato o una presentazione powerpoint che discute i sistemi di Fairlearn, il notebook eseguito, e le conclusioni tratte dall'esecuzione | Viene presentato un elaborato senza conclusioni | Nessun elaborato è presentato |
---
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche potrebbero contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avvertenza**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire laccuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non ci assumiamo alcuna responsabilità per incomprensioni o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Costruire un modello di regressione con Scikit-learn: quattro approcci alla regressione
# Costruire un modello di regressione usando Scikit-learn: regressione in quattro modi
![Infografica sulla regressione lineare vs polinomiale](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
## Nota per principianti
La regressione lineare è utilizzata quando vogliamo prevedere un **valore numerico** (per esempio, prezzo della casa, temperatura o vendite).
Funziona trovando una linea retta che rappresenta al meglio la relazione tra le caratteristiche di input e l'output.
In questa lezione ci concentriamo sulla comprensione del concetto prima di esplorare tecniche di regressione più avanzate.
![Linear vs polynomial regression infographic](../../../../translated_images/it/linear-polynomial.5523c7cb6576ccab.webp)
> Infografica di [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Quiz pre-lezione](https://ff-quizzes.netlify.app/en/ml/)
> ### [Questa lezione è disponibile in R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Introduzione
Finora hai esplorato cosa sia la regressione utilizzando dati di esempio raccolti dal dataset sui prezzi delle zucche che useremo per tutta questa lezione. Hai anche visualizzato i dati utilizzando Matplotlib.
Finora hai esplorato cos'è la regressione con dati di esempio raccolti dal dataset del prezzo della zucca che useremo per tutta la lezione. Hai anche visualizzato i dati usando Matplotlib.
Ora sei pronto per approfondire la regressione per il Machine Learning. Sebbene la visualizzazione ti permetta di comprendere i dati, il vero potere del Machine Learning risiede nell'_addestramento dei modelli_. I modelli vengono addestrati su dati storici per catturare automaticamente le dipendenze nei dati e consentono di prevedere risultati per nuovi dati che il modello non ha mai visto prima.
Ora sei pronto a immergerti più a fondo nella regressione per ML. Mentre la visualizzazione permette di dare un senso ai dati, la vera potenza del Machine Learning deriva dall_addestramento di modelli_. I modelli sono addestrati su dati storici per catturare automaticamente le dipendenze nei dati e consentono di prevedere risultati per nuovi dati che il modello non ha ancora visto.
In questa lezione, imparerai di più su due tipi di regressione: _regressione lineare di base_ e _regressione polinomiale_, insieme ad alcune delle basi matematiche di queste tecniche. Questi modelli ci permetteranno di prevedere i prezzi delle zucche in base a diversi dati di input.
In questa lezione, imparerai di più su due tipi di regressione: _regressione lineare base_ e _regressione polinomiale_, insieme ad alcune delle basi matematiche di queste tecniche. Questi modelli ci permetteranno di prevedere i prezzi delle zucche in base ai diversi dati di input.
[![ML per principianti - Comprendere la regressione lineare](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML per principianti - Comprendere la regressione lineare")
[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
> 🎥 Clicca sull'immagine sopra per una breve panoramica video sulla regressione lineare.
> 🎥 Clicca sullimmagine sopra per una breve panoramica video della regressione lineare.
> In tutto questo corso, assumiamo una conoscenza minima della matematica e cerchiamo di renderla accessibile agli studenti provenienti da altri campi. Fai attenzione a note, 🧮 richiami, diagrammi e altri strumenti di apprendimento per facilitare la comprensione.
> In tutto questo programma, assumiamo conoscenze matematiche minime, e cerchiamo di renderle accessibili agli studenti provenienti da altri campi, quindi fai attenzione a note, 🧮 annotazioni, diagrammi e altri strumenti di apprendimento per facilitare la comprensione.
### Prerequisiti
A questo punto dovresti avere familiarità con la struttura dei dati sulle zucche che stiamo esaminando. Puoi trovarli pre-caricati e pre-puliti nel file _notebook.ipynb_ di questa lezione. Nel file, il prezzo delle zucche è mostrato per bushel in un nuovo data frame. Assicurati di poter eseguire questi notebook nei kernel di Visual Studio Code.
A questo punto dovresti conoscere la struttura dei dati sulle zucche che stiamo esaminando. Puoi trovarli precaricati e puliti nel file _notebook.ipynb_ di questa lezione. Nel file, il prezzo della zucca è mostrato per bushel in un nuovo data frame. Assicurati di poter eseguire questi notebook in kernel su Visual Studio Code.
### Preparazione
Come promemoria, stai caricando questi dati per porre domande su di essi.
- Qual è il momento migliore per acquistare le zucche?
- Quale prezzo posso aspettarmi per una cassa di zucche in miniatura?
- Dovrei acquistarle in cesti da mezzo bushel o in scatole da 1 1/9 bushel?
Continuiamo a scavare in questi dati.
- Qual è il momento migliore per comprare zucche?
- Che prezzo posso aspettarmi per una cassa di zucche in miniatura?
- Conviene acquistarle in cestini da mezzo bushel o in scatole da 1 1/9 bushel?
Continuiamo ad esplorare questi dati.
Nella lezione precedente, hai creato un data frame Pandas e lo hai popolato con una parte del dataset originale, standardizzando i prezzi per bushel. Facendo ciò, tuttavia, sei riuscito a raccogliere solo circa 400 punti dati e solo per i mesi autunnali.
Nella lezione precedente, hai creato un data frame Pandas e lo hai popolato con parte del dataset originale, standardizzando i prezzi per bushel. Facendo ciò, però, sei riuscito a raccogliere solo circa 400 punti dati e soltanto per i mesi autunnali.
Dai un'occhiata ai dati pre-caricati nel notebook associato a questa lezione. I dati sono pre-caricati e un primo scatterplot è stato tracciato per mostrare i dati mensili. Forse possiamo ottenere un po' più di dettagli sulla natura dei dati pulendoli ulteriormente.
Dai unocchiata ai dati precaricati nel notebook allegato a questa lezione. I dati sono caricati e viene tracciato un grafico a dispersione iniziale per mostrare i dati mensili. Forse possiamo ottenere qualche dettaglio in più sulla natura dei dati pulendoli meglio.
## Una linea di regressione lineare
Come hai appreso nella Lezione 1, l'obiettivo di un esercizio di regressione lineare è tracciare una linea per:
Come hai imparato nella Lezione 1, lobiettivo di un esercizio di regressione lineare è poter tracciare una linea per:
- **Mostrare le relazioni tra variabili**. Mostrare la relazione tra variabili.
- **Fare previsioni**. Fare previsioni accurate su dove potrebbe cadere un nuovo punto dati in relazione a quella linea.
È tipico della **Regressione dei Minimi Quadrati** tracciare questo tipo di linea. Il termine "Minimi Quadrati" si riferisce al processo di minimizzazione dellerrore totale nel nostro modello. Per ogni punto dati, misuriamo la distanza verticale (chiamata residuo) tra il punto reale e la nostra linea di regressione.
- **Mostrare le relazioni tra variabili**. Mostrare la relazione tra le variabili
- **Fare previsioni**. Fare previsioni accurate su dove un nuovo punto dati si posizionerebbe rispetto a quella linea.
È tipico della **Regressione dei Minimi Quadrati** tracciare questo tipo di linea. Il termine 'minimi quadrati' significa che tutti i punti dati intorno alla linea di regressione vengono elevati al quadrato e poi sommati. Idealmente, quella somma finale è il più piccola possibile, perché vogliamo un numero basso di errori, o `minimi quadrati`.
Eleviamo al quadrato queste distanze per due ragioni principali:
Facciamo ciò perché vogliamo modellare una linea che abbia la minima distanza cumulativa da tutti i nostri punti dati. Inoltre, eleviamo al quadrato i termini prima di sommarli poiché ci interessa la loro magnitudine piuttosto che la loro direzione.
1. **Magnitudo rispetto alla direzione:** Vogliamo trattare un errore di -5 allo stesso modo di un errore di +5. Elevando al quadrato tutti i valori diventano positivi.
2. **Penalizzare gli outlier:** Il quadrato attribuisce più peso agli errori più grandi, costringendo la linea a rimanere più vicina ai punti lontani.
Poi sommiamo tutti questi valori al quadrato. Il nostro obiettivo è trovare la linea specifica dove questa somma finale è minima (il valore più piccolo possibile)—da cui il nome "Minimi Quadrati".
> **🧮 Mostrami la matematica**
>
> Questa linea, chiamata _linea di miglior adattamento_, può essere espressa da [un'equazione](https://en.wikipedia.org/wiki/Simple_linear_regression):
> Questa linea, chiamata _linea di miglior adattamento_, può essere espressa da [unequazione](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
> ```
> Y = a + bX
> ```
>
> `X` è la 'variabile esplicativa'. `Y` è la 'variabile dipendente'. La pendenza della linea è `b` e `a` è l'intercetta sull'asse y, che si riferisce al valore di `Y` quando `X = 0`.
> `X` è la 'variabile esplicativa'. `Y` è la 'variabile dipendente'. La pendenza della linea è `b` e `a` è l'intercetta y, che si riferisce al valore di `Y` quando `X = 0`.
>
>![calcolare la pendenza](../../../../2-Regression/3-Linear/images/slope.png)
>![calcolare la pendenza](../../../../translated_images/it/slope.f3c9d5910ddbfcf9.webp)
>
> Per prima cosa, calcola la pendenza `b`. Infografica di [Jen Looper](https://twitter.com/jenlooper)
>
> In altre parole, riferendoci alla domanda originale sui dati delle zucche: "prevedere il prezzo di una zucca per bushel in base al mese", `X` si riferirebbe al prezzo e `Y` al mese di vendita.
> In altre parole, riferendosi alla domanda originale sui dati delle zucche: "predire il prezzo di una zucca per bushel in base al mese", `X` si riferirebbe al prezzo e `Y` al mese di vendita.
>
>![completa l'equazione](../../../../2-Regression/3-Linear/images/calculation.png)
>![completa l'equazione](../../../../translated_images/it/calculation.a209813050a1ddb1.webp)
>
> Calcola il valore di Y. Se stai pagando circa $4, deve essere aprile! Infografica di [Jen Looper](https://twitter.com/jenlooper)
> Calcola il valore di Y. Se stai pagando circa 4$, deve essere aprile! Infografica di [Jen Looper](https://twitter.com/jenlooper)
>
> La matematica che calcola la linea deve dimostrare la pendenza della linea, che dipende anche dall'intercetta, ovvero dove si trova `Y` quando `X = 0`.
> La matematica che calcola la linea deve mostrare la pendenza, che dipende anche dallintercetta, cioè dove `Y` si trova quando `X = 0`.
>
> Puoi osservare il metodo di calcolo di questi valori sul sito [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Visita anche [questo calcolatore dei minimi quadrati](https://www.mathsisfun.com/data/least-squares-calculator.html) per vedere come i valori numerici influenzano la linea.
> Puoi osservare il metodo di calcolo di questi valori sul sito [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Visita anche [questa calcolatrice per Minimi Quadrati](https://www.mathsisfun.com/data/least-squares-calculator.html) per vedere come i valori numerici influenzano la linea.
## Correlazione
Un altro termine da comprendere è il **Coefficiente di Correlazione** tra le variabili X e Y date. Utilizzando uno scatterplot, puoi visualizzare rapidamente questo coefficiente. Un grafico con punti dati distribuiti in una linea ordinata ha un'alta correlazione, mentre un grafico con punti dati sparsi ovunque tra X e Y ha una bassa correlazione.
Un altro termine da capire è il **Coefficiente di Correlazione** tra le variabili X e Y date. Usando uno scatterplot, puoi visualizzare rapidamente questo coefficiente. Un grafico con punti dati distribuiti in una linea ordinata ha alta correlazione, mentre uno con punti sparsi ovunque tra X e Y ha una bassa correlazione.
Un buon modello di regressione lineare sarà uno che ha un alto Coefficiente di Correlazione (più vicino a 1 che a 0) utilizzando il metodo dei Minimi Quadrati con una linea di regressione.
Un buon modello di regressione lineare sarà quello che ha un alto Coefficiente di Correlazione (più vicino a 1 che a 0) usando il metodo dei Minimi Quadrati con una linea di regressione.
✅ Esegui il notebook associato a questa lezione e osserva lo scatterplot Mese-Prezzo. Secondo la tua interpretazione visiva dello scatterplot, i dati che associano il Mese al Prezzo delle vendite di zucche sembrano avere un'alta o bassa correlazione? Questo cambia se utilizzi una misura più dettagliata invece di `Mese`, ad esempio il *giorno dell'anno* (cioè il numero di giorni dall'inizio dell'anno)?
✅ Esegui il notebook allegato a questa lezione e osserva lo scatterplot di Mese vs Prezzo. I dati che associano Mese a Prezzo per le vendite di zucche sembrano avere unalta o bassa correlazione secondo la tua interpretazione visiva dello scatterplot? Cambia se usi una misura più dettagliata invece di `Mese`, ad esempio *giorno dellanno* (cioè il numero di giorni dallinizio dellanno)?
Nel codice seguente, supponiamo di aver pulito i dati e ottenuto un data frame chiamato `new_pumpkins`, simile al seguente:
Nel codice seguente, assumeremo di aver ripulito i dati e ottenuto un data frame chiamato `new_pumpkins`, simile al seguente:
ID | Mese | GiornoDellAnno | Varietà | Città | Confezione | Prezzo Basso | Prezzo Alto | Prezzo
---|-------|----------------|---------|-------|------------|--------------|-------------|-------
70 | 9 | 267 | TIPO TORTA | BALTIMORA | cartoni da 1 1/9 bushel | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | TIPO TORTA | BALTIMORA | cartoni da 1 1/9 bushel | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | TIPO TORTA | BALTIMORA | cartoni da 1 1/9 bushel | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | TIPO TORTA | BALTIMORA | cartoni da 1 1/9 bushel | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | TIPO TORTA | BALTIMORA | cartoni da 1 1/9 bushel | 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
> Il codice per pulire i dati è disponibile in [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Abbiamo eseguito gli stessi passaggi di pulizia della lezione precedente e calcolato la colonna `GiornoDellAnno` utilizzando la seguente espressione:
> Il codice per pulire i dati è disponibile in [`notebook.ipynb`](notebook.ipynb). Abbiamo effettuato gli stessi passaggi di pulizia della lezione precedente e calcolato la colonna `DayOfYear` usando la seguente espressione:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Ora che hai compreso la matematica alla base della regressione lineare, creiamo un modello di Regressione per vedere se possiamo prevedere quale confezione di zucche avrà i prezzi migliori. Qualcuno che acquista zucche per un campo di zucche per le festività potrebbe voler ottimizzare i propri acquisti di confezioni di zucche per il campo.
Ora che hai capito la matematica dietro la regressione lineare, creiamo un modello di regressione per vedere se possiamo prevedere quale confezione di zucche avrà i prezzi migliori. Qualcuno che compra zucche per un campo di zucche per una festa potrebbe volere queste informazioni per ottimizzare gli acquisti di confezioni di zucche per il campo.
## Cercare la Correlazione
## Cercando la correlazione
[![ML per principianti - Cercare la Correlazione: La Chiave della Regressione Lineare](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML per principianti - Cercare la Correlazione: La Chiave della Regressione Lineare")
[![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")
> 🎥 Clicca sull'immagine sopra per una breve panoramica video sulla correlazione.
> 🎥 Clicca sullimmagine sopra per una breve panoramica video della correlazione.
Dalla lezione precedente probabilmente hai visto che il prezzo medio per i diversi mesi appare così:
Dalla lezione precedente hai probabilmente visto che il prezzo medio per i diversi mesi appare così:
<img alt="Prezzo medio per mese" src="../../../../translated_images/it/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Average price by month" src="../../../../translated_images/it/barchart.a833ea9194346d76.webp" width="50%"/>
Questo suggerisce che dovrebbe esserci una certa correlazione, e possiamo provare ad addestrare un modello di regressione lineare per prevedere la relazione tra `Mese` e `Prezzo`, o tra `GiornoDellAnno` e `Prezzo`. Ecco lo scatterplot che mostra quest'ultima relazione:
Questo suggerisce che ci dovrebbe essere qualche correlazione, e possiamo provare ad addestrare un modello di regressione lineare per prevedere la relazione tra `Month` e `Price`, oppure tra `DayOfYear` e `Price`. Ecco lo scatter plot che mostra questultima relazione:
<img alt="Scatter plot di Prezzo vs Giorno dell'Anno" src="../../../../translated_images/it/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/it/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Vediamo se c'è una correlazione utilizzando la funzione `corr`:
Vediamo se c’è correlazione usando la funzione `corr`:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Sembra che la correlazione sia piuttosto bassa, -0.15 per `Mese` e -0.17 per `GiornoDellAnno`, ma potrebbe esserci un'altra relazione importante. Sembra che ci siano diversi cluster di prezzi corrispondenti a diverse varietà di zucche. Per confermare questa ipotesi, tracciamo ogni categoria di zucca utilizzando un colore diverso. Passando un parametro `ax` alla funzione di tracciamento dello scatter possiamo tracciare tutti i punti sullo stesso grafico:
Sembra che la correlazione sia piuttosto bassa, -0.15 con `Month` e -0.17 con `DayOfMonth`, ma potrebbe esserci unaltra relazione importante. Sembra che ci siano diversi cluster di prezzi corrispondenti a varietà diverse di zucche. Per confermare questa ipotesi, tracciamo ogni categoria di zucca con un colore diverso. Passando un parametro `ax` alla funzione di plotting `scatter` possiamo disegnare tutti i punti sullo stesso grafico:
```python
ax=None
@ -128,25 +140,25 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()):
ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
```
<img alt="Scatter plot di Prezzo vs Giorno dell'Anno" src="../../../../translated_images/it/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/it/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
La nostra indagine suggerisce che la varietà ha un effetto maggiore sul prezzo complessivo rispetto alla data effettiva di vendita. Possiamo vedere questo con un grafico a barre:
La nostra indagine suggerisce che la varietà ha più effetto sul prezzo complessivo rispetto alla data di vendita effettiva. Lo possiamo vedere anche con un grafico a barre:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Grafico a barre di prezzo vs varietà" src="../../../../translated_images/it/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Bar graph of price vs variety" src="../../../../translated_images/it/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Concentriamoci per il momento solo su una varietà di zucche, il 'tipo torta', e vediamo quale effetto ha la data sul prezzo:
Per il momento concentriamoci su una sola varietà di zucca, il 'tipo torta', e vediamo che effetto ha la data sul prezzo:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Scatter plot di Prezzo vs Giorno dell'Anno" src="../../../../translated_images/it/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Scatter plot of Price vs. Day of Year" src="../../../../translated_images/it/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Se ora calcoliamo la correlazione tra `Prezzo` e `GiornoDellAnno` utilizzando la funzione `corr`, otterremo qualcosa come `-0.27` - il che significa che addestrare un modello predittivo ha senso.
Se ora calcoliamo la correlazione tra `Price` e `DayOfYear` usando la funzione `corr`, otteniamo qualcosa come `-0.27` - il che significa che ha senso addestrare un modello predittivo.
> Prima di addestrare un modello di regressione lineare, è importante assicurarsi che i dati siano puliti. La regressione lineare non funziona bene con valori mancanti, quindi ha senso eliminare tutte le celle vuote:
@ -155,15 +167,15 @@ pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Un altro approccio sarebbe riempire quei valori vuoti con i valori medi della colonna corrispondente.
Un altro approccio sarebbe riempire questi valori vuoti con la media della colonna corrispondente.
## Regressione Lineare Semplice
[![ML per principianti - Regressione Lineare e Polinomiale con Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML per principianti - Regressione Lineare e Polinomiale con 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")
> 🎥 Clicca sull'immagine sopra per una breve panoramica video sulla regressione lineare e polinomiale.
> 🎥 Clicca sullimmagine sopra per una breve panoramica video della regressione lineare e polinomiale.
Per addestrare il nostro modello di Regressione Lineare, utilizzeremo la libreria **Scikit-learn**.
Per addestrare il nostro modello di Regressione Lineare, useremo la libreria **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
@ -171,31 +183,31 @@ from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Iniziamo separando i valori di input (caratteristiche) e l'output atteso (etichetta) in array numpy separati:
Iniziamo separando i valori di input (features) e loutput atteso (label) in array numpy separati:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Nota che abbiamo dovuto eseguire `reshape` sui dati di input affinché il pacchetto di Regressione Lineare li comprenda correttamente. La Regressione Lineare si aspetta un array 2D come input, dove ogni riga dell'array corrisponde a un vettore di caratteristiche di input. Nel nostro caso, poiché abbiamo solo un input, abbiamo bisogno di un array con forma N×1, dove N è la dimensione del dataset.
> Nota che abbiamo dovuto eseguire un `reshape` sui dati di input affinché il pacchetto di Regressione Lineare li comprendesse correttamente. La Regressione Lineare si aspetta un array 2D come input, dove ogni riga corrisponde a un vettore di caratteristiche di input. Nel nostro caso, dato che abbiamo solo un input, ci serve un array di forma N×1, dove N è la dimensione del dataset.
Poi, dobbiamo dividere i dati in dataset di addestramento e di test, in modo da poter validare il nostro modello dopo l'addestramento:
Poi, dobbiamo dividere i dati in dataset di training e di test, in modo da poter validare il modello dopo laddestramento:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Infine, addestrare il modello di Regressione Lineare effettivo richiede solo due righe di codice. Definiamo l'oggetto `LinearRegression` e lo adattiamo ai nostri dati utilizzando il metodo `fit`:
Infine, laddestramento vero e proprio del modello di Regressione Lineare richiede solo due righe di codice. Definiamo loggetto `LinearRegression` e lo adattiamo ai nostri dati usando il metodo `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
L'oggetto `LinearRegression` dopo il `fit` contiene tutti i coefficienti della regressione, che possono essere accessibili utilizzando la proprietà `.coef_`. Nel nostro caso, c'è solo un coefficiente, che dovrebbe essere circa `-0.017`. Ciò significa che i prezzi sembrano diminuire leggermente nel tempo, ma non troppo, circa 2 centesimi al giorno. Possiamo anche accedere al punto di intersezione della regressione con l'asse Y utilizzando `lin_reg.intercept_` - sarà circa `21` nel nostro caso, indicando il prezzo all'inizio dell'anno.
L'oggetto `LinearRegression` dopo aver eseguito il `fit` contiene tutti i coefficienti della regressione, ai quali si può accedere tramite la proprietà `.coef_`. Nel nostro caso, c'è solo un coefficiente, che dovrebbe essere intorno a `-0.017`. Ciò significa che i prezzi sembrano diminuire un po' nel tempo, ma non troppo, circa 2 centesimi al giorno. Possiamo anche accedere al punto di intersezione della regressione con l'asse Y usando `lin_reg.intercept_` - sarà circa `21` nel nostro caso, indicando il prezzo all'inizio dell'anno.
Per vedere quanto è accurato il nostro modello, possiamo prevedere i prezzi su un dataset di test e poi misurare quanto le nostre previsioni siano vicine ai valori attesi. Questo può essere fatto utilizzando la metrica dell'errore quadratico medio (MSE), che è la media di tutte le differenze al quadrato tra il valore atteso e quello previsto.
Per vedere quanto è accurato il nostro modello, possiamo prevedere i prezzi su un dataset di test, e poi misurare quanto le nostre previsioni sono vicine ai valori attesi. Questo può essere fatto usando la metrica dell'errore quadratico medio (MSE), che è la media di tutte le differenze quadrate tra valore atteso e valore previsto.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +215,37 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Il nostro errore sembra concentrarsi su 2 punti, che corrispondono a circa il 17%. Non troppo buono. Un altro indicatore della qualità del modello è il **coefficiente di determinazione**, che può essere ottenuto in questo modo:
Il nostro errore sembra essere intorno a 2 punti, cioè ~17%. Non troppo bene. Un altro indicatore della qualità del modello è il **coefficiente di determinazione**, che può essere ottenuto così:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Se il valore è 0, significa che il modello non tiene conto dei dati di input e agisce come il *peggior predittore lineare*, che è semplicemente il valore medio del risultato. Il valore di 1 significa che possiamo prevedere perfettamente tutti i risultati attesi. Nel nostro caso, il coefficiente è circa 0.06, che è piuttosto basso.
```
Se il valore è 0, significa che il modello non considera i dati di input, e agisce come il *peggior predittore lineare*, che è semplicemente il valore medio del risultato. Il valore 1 significa che possiamo prevedere perfettamente tutti i risultati attesi. Nel nostro caso, il coefficiente è intorno a 0.06, che è piuttosto basso.
Possiamo anche tracciare i dati di test insieme alla linea di regressione per vedere meglio come funziona la regressione nel nostro caso:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
```
<img alt="Regressione lineare" src="../../../../translated_images/it/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/it/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Regressione Polinomiale
Un altro tipo di Regressione Lineare è la Regressione Polinomiale. Sebbene a volte ci sia una relazione lineare tra le variabili - più grande è il volume della zucca, più alto è il prezzo - a volte queste relazioni non possono essere rappresentate come un piano o una linea retta.
Un altro tipo di Regressione Lineare è la Regressione Polinomiale. Anche se a volte c'è una relazione lineare tra variabili - più grande è la zucca in volume, più alto è il prezzo - a volte queste relazioni non possono essere rappresentate come un piano o una linea retta.
Ecco [alcuni esempi](https://online.stat.psu.edu/stat501/lesson/9/9.8) di dati che potrebbero utilizzare la Regressione Polinomiale.
Qui ci sono [alcuni altri esempi](https://online.stat.psu.edu/stat501/lesson/9/9.8) di dati che potrebbero usare la Regressione Polinomiale
Osserva di nuovo la relazione tra Data e Prezzo. Questo scatterplot sembra necessariamente analizzabile con una linea retta? I prezzi non possono fluttuare? In questo caso, puoi provare la regressione polinomiale.
Dai un altro sguardo alla relazione tra Data e Prezzo. Questo grafico a dispersione sembra proprio debba essere analizzato necessariamente da una linea retta? I prezzi non possono fluttuare? In questo caso, si può provare la regressione polinomiale.
✅ I polinomi sono espressioni matematiche che possono consistere in una o più variabili e coefficienti.
✅ I polinomi sono espressioni matematiche che potrebbero consistere di una o più variabili e coefficienti.
La regressione polinomiale crea una linea curva per adattarsi meglio ai dati non lineari. Nel nostro caso, se includiamo una variabile `DayOfYear` al quadrato nei dati di input, dovremmo essere in grado di adattare i nostri dati con una curva parabolica, che avrà un minimo in un certo punto dell'anno.
La regressione polinomiale crea una curva per adattarsi meglio ai dati non lineari. Nel nostro caso, se includiamo una variabile `DayOfYear` al quadrato nei dati di input, dovremmo essere in grado di adattare i nostri dati con una curva parabolica, che avrà un minimo in un certo punto all'interno dell'anno.
Scikit-learn include una comoda [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) per combinare insieme diversi passaggi di elaborazione dei dati. Una **pipeline** è una catena di **stimatori**. Nel nostro caso, creeremo una pipeline che prima aggiunge caratteristiche polinomiali al nostro modello e poi addestra la regressione:
Scikit-learn include una utile [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) per combinare diversi passaggi di elaborazione dei dati insieme. Una **pipeline** è una catena di **stimatori**. Nel nostro caso, creeremo una pipeline che prima aggiunge funzionalità polinomiali al nostro modello e poi addestra la regressione:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -241,62 +254,62 @@ from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
```
Usare `PolynomialFeatures(2)` significa che includeremo tutti i polinomi di secondo grado dai dati di input. Nel nostro caso, significherà semplicemente `DayOfYear`<sup>2</sup>, ma dato due variabili di input X e Y, questo aggiungerà X<sup>2</sup>, XY e Y<sup>2</sup>. Possiamo anche utilizzare polinomi di grado superiore se lo desideriamo.
Usare `PolynomialFeatures(2)` significa che includeremo tutti i polinomi di secondo grado dai dati di input. Nel nostro caso sarà solo `DayOfYear`<sup>2</sup>, ma dati due variabili di input X e Y, questo aggiungerà X<sup>2</sup>, XY e Y<sup>2</sup>. Possiamo anche usare polinomi di grado superiore se vogliamo.
Le pipeline possono essere utilizzate nello stesso modo dell'oggetto originale `LinearRegression`, ovvero possiamo `fit` la pipeline e poi usare `predict` per ottenere i risultati della previsione. Ecco il grafico che mostra i dati di test e la curva di approssimazione:
Le pipeline possono essere usate allo stesso modo dell'oggetto originale `LinearRegression`, cioè possiamo `fit` la pipeline, e poi usare `predict` per ottenere i risultati di previsione. Ecco il grafico che mostra i dati di test e la curva di approssimazione:
<img alt="Regressione polinomiale" src="../../../../translated_images/it/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/it/poly-results.ee587348f0f1f60b.webp" width="50%" />
Usando la Regressione Polinomiale, possiamo ottenere un MSE leggermente più basso e un coefficiente di determinazione più alto, ma non significativamente. Dobbiamo tenere conto di altre caratteristiche!
Usando la Regressione Polinomiale, possiamo ottenere un MSE leggermente più basso e un coefficiente di determinazione più alto, ma non in modo significativo. Dobbiamo considerare altre caratteristiche!
> Puoi vedere che i prezzi minimi delle zucche si osservano intorno a Halloween. Come puoi spiegare questo?
> Si può osservare che i prezzi minimi delle zucche si verificano da qualche parte intorno a Halloween. Come puoi spiegare questo?
🎃 Congratulazioni, hai appena creato un modello che può aiutare a prevedere il prezzo delle zucche per torte. Probabilmente puoi ripetere la stessa procedura per tutti i tipi di zucche, ma sarebbe noioso. Ora impariamo come tenere conto della varietà di zucche nel nostro modello!
🎃 Congratulazioni, hai appena creato un modello che può aiutare a prevedere il prezzo delle zucche da torta. Probabilmente puoi ripetere la stessa procedura per tutti i tipi di zucca, ma sarebbe laborioso. Ora impariamo come considerare la varietà di zucca nel nostro modello!
## Caratteristiche Categoriali
## Caratteristiche Categoricali
In un mondo ideale, vogliamo essere in grado di prevedere i prezzi per diverse varietà di zucche utilizzando lo stesso modello. Tuttavia, la colonna `Variety` è un po' diversa dalle colonne come `Month`, perché contiene valori non numerici. Queste colonne sono chiamate **categoriali**.
Nel mondo ideale, vogliamo essere in grado di prevedere i prezzi per diverse varietà di zucche usando lo stesso modello. Tuttavia, la colonna `Variety` è un po' diversa dalle colonne come `Month`, perché contiene valori non numerici. Queste colonne sono chiamate **categoricali**.
[![ML per principianti - Previsioni con caratteristiche categoriali usando la Regressione Lineare](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML per principianti - Previsioni con caratteristiche categoriali usando la Regressione Lineare")
[![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")
> 🎥 Clicca sull'immagine sopra per una breve panoramica video sull'uso delle caratteristiche categoriali.
> 🎥 Clicca l'immagine sopra per un breve video introduttivo sull'uso delle caratteristiche categoriche.
Qui puoi vedere come il prezzo medio dipende dalla varietà:
<img alt="Prezzo medio per varietà" src="../../../../translated_images/it/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/it/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Per tenere conto della varietà, dobbiamo prima convertirla in forma numerica, o **codificarla**. Ci sono diversi modi per farlo:
* La **codifica numerica semplice** costruirà una tabella delle diverse varietà e sostituirà il nome della varietà con un indice in quella tabella. Questo non è l'ideale per la regressione lineare, perché la regressione lineare prende il valore numerico effettivo dell'indice e lo aggiunge al risultato, moltiplicandolo per un coefficiente. Nel nostro caso, la relazione tra il numero dell'indice e il prezzo è chiaramente non lineare, anche se ci assicuriamo che gli indici siano ordinati in un modo specifico.
* La **codifica one-hot** sostitui la colonna `Variety` con 4 colonne diverse, una per ogni varietà. Ogni colonna conterrà `1` se la riga corrispondente appartiene a una data varietà, e `0` altrimenti. Questo significa che ci saranno quattro coefficienti nella regressione lineare, uno per ogni varietà di zucca, responsabile del "prezzo iniziale" (o piuttosto "prezzo aggiuntivo") per quella particolare varietà.
* La semplice **codifica numerica** costruisce una tabella delle varie varietà, e poi sostituisce il nome della varietà con un indice in quella tabella. Questa non è la migliore idea per la regressione lineare, perché la regressione lineare prende il valore numerico effettivo dell'indice, e lo usa nel risultato moltiplicandolo per qualche coefficiente. Nel nostro caso, la relazione tra numero dell'indice e prezzo è chiaramente non lineare, anche se assicuriamo che gli indici siano ordinati in qualche modo specifico.
* La **codifica one-hot** sostituisce la colonna `Variety` con 4 colonne diverse, una per ogni varietà. Ogni colonna conterrà `1` se la riga corrispondente è di quella varietà, e `0` altrimenti. Questo significa che ci saranno quattro coefficienti nella regressione lineare, uno per ogni varietà di zucca, responsabile del "prezzo di partenza" (o piuttosto "prezzo aggiuntivo") per quella particolare varietà.
Il codice seguente mostra come possiamo codificare una varietà con il metodo one-hot:
Il codice qui sotto mostra come possiamo fare one-hot encoding di una varietà:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Per addestrare la regressione lineare utilizzando la varietà codificata one-hot come input, dobbiamo solo inizializzare correttamente i dati `X` e `y`:
Per addestrare la regressione lineare usando la varietà codificata one-hot come input, dobbiamo solo inizializzare correttamente i dati `X` e `y`:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
```
Il resto del codice è lo stesso di quello che abbiamo usato sopra per addestrare la Regressione Lineare. Se lo provi, vedrai che l'errore quadratico medio è più o meno lo stesso, ma otteniamo un coefficiente di determinazione molto più alto (~77%). Per ottenere previsioni ancora più accurate, possiamo tenere conto di più caratteristiche categoriali, così come di caratteristiche numeriche, come `Month` o `DayOfYear`. Per ottenere un grande array di caratteristiche, possiamo usare `join`:
Il resto del codice è lo stesso che abbiamo usato sopra per addestrare la regressione lineare. Se provi, vedrai che l'errore quadratico medio è circa lo stesso, ma otteniamo un coefficiente di determinazione molto più alto (~77%). Per ottenere previsioni ancora più accurate, possiamo tenere conto di più caratteristiche categoriche, così come di caratteristiche numeriche, come `Month` o `DayOfYear`. Per ottenere un unico grande array di caratteristiche, possiamo usare `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -304,69 +317,70 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
```
```
Qui teniamo conto anche di `City` e del tipo di `Package`, il che ci dà un MSE di 2.84 (10%) e un coefficiente di determinazione di 0.94!
Qui consideriamo anche `City` e il tipo di `Package`, il che ci dà un MSE di 2.84 (10%) e determinazione 0.94!
## Mettere tutto insieme
Per creare il miglior modello, possiamo utilizzare dati combinati (categoriali codificati one-hot + numerici) dall'esempio sopra insieme alla Regressione Polinomiale. Ecco il codice completo per tua comodità:
Per creare il modello migliore, possiamo usare dati combinati (categorici codificati one-hot + numerici) dall'esempio sopra insieme alla Regressione Polinomiale. Ecco il codice completo per tua comodità:
```python
# set up training data
# configura i dati di addestramento
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# crea la divisione train-test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# configura e addestra la pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# predici i risultati per i dati di test
pred = pipeline.predict(X_test)
# calculate MSE and determination
# calcola MSE e coefficiente di determinazione
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
```
Questo dovrebbe darci il miglior coefficiente di determinazione di quasi 97% e MSE=2.23 (~8% di errore di previsione).
Questo dovrebbe darci il miglior coefficiente di determinazione di quasi 97%, e MSE=2.23 (~8% di errore di previsione).
| Modello | MSE | Determinazione |
|---------|-----|----------------|
| `DayOfYear` Lineare | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polinomiale | 2.73 (17.0%) | 0.08 |
| `Variety` Lineare | 5.24 (19.7%) | 0.77 |
| Tutte le caratteristiche Lineare | 2.84 (10.5%) | 0.94 |
| Tutte le caratteristiche Polinomiale | 2.23 (8.25%) | 0.97 |
| Modello | MSE | Determinazione |
|---------|-----|---------------|
| Lineare `DayOfYear` | 2.77 (17.2%) | 0.07 |
| Polinomiale `DayOfYear` | 2.73 (17.0%) | 0.08 |
| Lineare `Variety` | 5.24 (19.7%) | 0.77 |
| Lineare tutte le caratteristiche | 2.84 (10.5%) | 0.94 |
| Polinomiale tutte le caratteristiche | 2.23 (8.25%) | 0.97 |
🏆 Ben fatto! Hai creato quattro modelli di Regressione in una lezione e migliorato la qualità del modello fino al 97%. Nella sezione finale sulla Regressione, imparerai la Regressione Logistica per determinare le categorie.
🏆 Ben fatto! Hai creato quattro modelli di regressione in una lezione, e migliorato la qualità del modello al 97%. Nella sezione finale sulla Regressione, imparerai la Regressione Logistica per determinare categorie.
---
## 🚀Sfida
Testa diverse variabili in questo notebook per vedere come la correlazione corrisponde alla precisione del modello.
Prova diverse variabili in questo notebook per vedere come la correlazione corrisponde all'accuratezza del modello.
## [Quiz post-lezione](https://ff-quizzes.netlify.app/en/ml/)
## Revisione & Studio Autonomo
## Revisione e Studio Autonomo
In questa lezione abbiamo imparato la Regressione Lineare. Esistono altri tipi importanti di Regressione. Leggi le tecniche Stepwise, Ridge, Lasso ed Elasticnet. Un buon corso per approfondire è il [corso di Stanford Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
In questa lezione abbiamo imparato la Regressione Lineare. Ci sono altri tipi importanti di Regressione. Leggi delle tecniche Stepwise, Ridge, Lasso ed Elasticnet. Un buon corso per approfondire è il [corso Stanford Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Compito
[Costruisci un Modello](assignment.md)
[Costruisci un modello](assignment.md)
---
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Dichiarazione di non responsabilità**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci sforziamo di garantire laccuratezza, si prega di notare che le traduzioni automatizzate possono contenere errori o imprecisioni. Il documento originale nella sua lingua madre deve essere considerato come la fonte autorevole. Per informazioni critiche si raccomanda una traduzione professionale umana. Non ci assumiamo alcuna responsabilità per eventuali incomprensioni o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,12 +1,12 @@
# Classificatori di cucina 2
In questa seconda lezione sulla classificazione, esplorerai ulteriori modi per classificare i dati numerici. Imparerai anche le implicazioni della scelta di un classificatore rispetto a un altro.
In questa seconda lezione di classificazione, esplorerai altri modi per classificare i dati numerici. Imparerai anche le ramificazioni della scelta di un classificatore rispetto a un altro.
## [Quiz pre-lezione](https://ff-quizzes.netlify.app/en/ml/)
### Prerequisiti
Presumiamo che tu abbia completato le lezioni precedenti e che tu abbia un dataset pulito nella tua cartella `data` chiamato _cleaned_cuisines.csv_ nella radice di questa cartella di 4 lezioni.
Presumiamo che tu abbia completato le lezioni precedenti e che tu abbia un dataset pulito nella cartella `data` chiamato _cleaned_cuisines.csv_ nella radice di questa cartella con 4 lezioni.
### Preparazione
@ -14,27 +14,27 @@ Abbiamo caricato il tuo file _notebook.ipynb_ con il dataset pulito e lo abbiamo
## Una mappa di classificazione
In precedenza, hai imparato le varie opzioni disponibili per classificare i dati utilizzando il cheat sheet di Microsoft. Scikit-learn offre un cheat sheet simile, ma più dettagliato, che può aiutarti ulteriormente a restringere i tuoi stimatori (un altro termine per classificatori):
In precedenza, hai imparato le varie opzioni disponibili per classificare i dati utilizzando la cheat sheet di Microsoft. Scikit-learn offre una cheat sheet simile, ma più granulare, che può aiutarti ulteriormente a restringere i tuoi stimatori (un altro termine per classificatori):
![Mappa ML di Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
![ML Map from Scikit-learn](../../../../translated_images/it/map.e963a6a51349425a.webp)
> Suggerimento: [visita questa mappa online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) e clicca lungo il percorso per leggere la documentazione.
### Il piano
Questa mappa è molto utile una volta che hai una chiara comprensione dei tuoi dati, poiché puoi "camminare" lungo i suoi percorsi per prendere una decisione:
Questa mappa è molto utile una volta che hai una chiara comprensione dei tuoi dati, poiché puoi "percorrere" i suoi sentieri fino a una decisione:
- Abbiamo >50 campioni
- Vogliamo prevedere una categoria
- Abbiamo dati etichettati
- Abbiamo meno di 100K campioni
- ✨ Possiamo scegliere un Linear SVC
- Se non funziona, poiché abbiamo dati numerici
- Se non funziona, dato che abbiamo dati numerici
- Possiamo provare un ✨ KNeighbors Classifier
- Se non funziona, provare ✨ SVC e ✨ Ensemble Classifiers
- Se non funziona, prova ✨ SVC e ✨ Ensemble Classifiers
Questo è un percorso molto utile da seguire.
## Esercizio - dividere i dati
## Esercizio - dividi i dati
Seguendo questo percorso, dovremmo iniziare importando alcune librerie da utilizzare.
@ -50,31 +50,31 @@ Seguendo questo percorso, dovremmo iniziare importando alcune librerie da utiliz
import numpy as np
```
1. Dividi i tuoi dati di addestramento e test:
2. Dividi i dati di addestramento e di test:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Classificatore Linear SVC
Il clustering Support-Vector (SVC) è un membro della famiglia di tecniche ML Support-Vector Machines (scopri di più su queste qui sotto). In questo metodo, puoi scegliere un 'kernel' per decidere come raggruppare le etichette. Il parametro 'C' si riferisce alla 'regolarizzazione', che regola l'influenza dei parametri. Il kernel può essere uno dei [diversi](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); qui lo impostiamo su 'linear' per garantire che utilizziamo Linear SVC. La probabilità di default è 'false'; qui la impostiamo su 'true' per ottenere stime di probabilità. Impostiamo lo stato casuale su '0' per mescolare i dati e ottenere probabilità.
Il Support-Vector Clustering (SVC) è un membro della famiglia di tecniche di ML Support-Vector Machines (scopri di più su queste sotto). In questo metodo, puoi scegliere un "kernel" per decidere come clusterizzare le etichette. Il parametro 'C' riguarda la "regolarizzazione" che regola l'influenza dei parametri. Il kernel può essere uno di [diversi](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); qui lo impostiamo su 'linear' per assicurarci di sfruttare l'SVC lineare. La probabilità ha come valore predefinito 'false'; qui lo impostiamo su 'true' per raccogliere stime di probabilità. Impostiamo lo stato casuale su '0' per mescolare i dati e ottenere probabilità.
### Esercizio - applicare un Linear SVC
### Esercizio - applica un Linear SVC
Inizia creando un array di classificatori. Aggiungerai progressivamente a questo array mentre testiamo.
Inizia creando un array di classificatori. Lo arricchirai progressivamente man mano che testeremo.
1. Inizia con un Linear SVC:
```python
C = 10
# Create different classifiers.
# Crea diversi classificatori.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Addestra il tuo modello utilizzando il Linear SVC e stampa un report:
2. Allena il tuo modello usando il Linear SVC e stampa un report:
```python
n_classifiers = len(classifiers)
@ -88,7 +88,7 @@ Inizia creando un array di classificatori. Aggiungerai progressivamente a questo
print(classification_report(y_test,y_pred))
```
Il risultato è abbastanza buono:
Il risultato è piuttosto buono:
```output
Accuracy (train) for Linear SVC: 78.6%
@ -107,9 +107,9 @@ Inizia creando un array di classificatori. Aggiungerai progressivamente a questo
## Classificatore K-Neighbors
K-Neighbors fa parte della famiglia "neighbors" di metodi ML, che possono essere utilizzati sia per l'apprendimento supervisionato che non supervisionato. In questo metodo, viene creato un numero predefinito di punti e i dati vengono raccolti attorno a questi punti in modo che possano essere previste etichette generalizzate per i dati.
K-Neighbors fa parte della famiglia di metodi di ML "neighbors", che possono essere usati sia per apprendimento supervisionato che non supervisionato. In questo metodo, si crea un numero predefinito di punti e i dati vengono raccolti intorno a questi punti in modo che possano essere previsti etichette generalizzate per i dati.
### Esercizio - applicare il classificatore K-Neighbors
### Esercizio - applica il classificatore K-Neighbors
Il classificatore precedente era buono e ha funzionato bene con i dati, ma forse possiamo ottenere una migliore accuratezza. Prova un classificatore K-Neighbors.
@ -119,7 +119,7 @@ Il classificatore precedente era buono e ha funzionato bene con i dati, ma forse
'KNN classifier': KNeighborsClassifier(C),
```
Il risultato è un po' peggiore:
Il risultato è un po peggiore:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -138,21 +138,21 @@ Il classificatore precedente era buono e ha funzionato bene con i dati, ma forse
✅ Scopri di più su [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
## Classificatore Support Vector
## Support Vector Classifier
I classificatori Support-Vector fanno parte della famiglia [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) di metodi ML utilizzati per compiti di classificazione e regressione. Gli SVM "mappano esempi di addestramento su punti nello spazio" per massimizzare la distanza tra due categorie. I dati successivi vengono mappati in questo spazio in modo che la loro categoria possa essere prevista.
I classificatori Support-Vector fanno parte della famiglia di metodi di ML [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) usati per compiti di classificazione e regressione. Gli SVM "mappano gli esempi di addestramento in punti nello spazio" per massimizzare la distanza tra due categorie. I dati successivi vengono mappati in questo spazio in modo che la loro categoria possa essere predetta.
### Esercizio - applicare un classificatore Support Vector
### Esercizio - applica un Support Vector Classifier
Proviamo a ottenere una migliore accuratezza con un classificatore Support Vector.
Proviamo ad ottenere unaccuratezza un po migliore con un Support Vector Classifier.
1. Aggiungi una virgola dopo l'elemento K-Neighbors, e poi aggiungi questa riga:
1. Aggiungi una virgola dopo lelemento K-Neighbors, quindi aggiungi questa riga:
```python
'SVC': SVC(),
```
Il risultato è molto buono!
Il risultato è piuttosto buono!
```output
Accuracy (train) for SVC: 83.2%
@ -171,16 +171,16 @@ Proviamo a ottenere una migliore accuratezza con un classificatore Support Vecto
✅ Scopri di più su [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
## Classificatori Ensemble
## Ensemble Classifiers
Seguiamo il percorso fino alla fine, anche se il test precedente era molto buono. Proviamo alcuni 'Classificatori Ensemble', in particolare Random Forest e AdaBoost:
Seguiamo il percorso fino alla fine, anche se il test precedente è stato piuttosto buono. Proviamo alcuni 'Ensemble Classifiers', nello specifico Random Forest e AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Il risultato è molto buono, soprattutto per Random Forest:
Il risultato è molto buono, specialmente per Random Forest:
```output
Accuracy (train) for RFST: 84.5%
@ -210,31 +210,33 @@ Accuracy (train) for ADA: 72.4%
weighted avg 0.73 0.72 0.72 1199
```
✅ Scopri di più su [Classificatori Ensemble](https://scikit-learn.org/stable/modules/ensemble.html)
✅ Scopri di più su [Ensemble Classifiers](https://scikit-learn.org/stable/modules/ensemble.html)
Questo metodo di Machine Learning "combina le previsioni di diversi stimatori di base" per migliorare la qualità del modello. Nel nostro esempio, abbiamo utilizzato Random Trees e AdaBoost.
Questo metodo di Machine Learning "combina le previsioni di diversi stimatori di base" per migliorare la qualità del modello. Nel nostro esempio, abbiamo usato Random Trees e AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), un metodo di mediazione, costruisce una 'foresta' di 'alberi decisionali' infusi con casualità per evitare l'overfitting. Il parametro n_estimators è impostato sul numero di alberi.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), un metodo di media, costruisce una "foresta" di "alberi decisionali" infusi di casualità per evitare loverfitting. Il parametro n_estimators è impostato sul numero di alberi.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) adatta un classificatore a un dataset e poi adatta copie di quel classificatore allo stesso dataset. Si concentra sui pesi degli elementi classificati in modo errato e regola l'adattamento per il classificatore successivo per correggere.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) adatta un classificatore a un dataset e quindi adatta copie di quel classificatore allo stesso dataset. Si concentra sui pesi degli elementi classificati erroneamente e regolando ladattamento per il classificatore successivo per correggere.
---
## 🚀Sfida
Ognuna di queste tecniche ha un gran numero di parametri che puoi modificare. Ricerca i parametri di default di ciascuna e pensa a cosa significherebbe modificare questi parametri per la qualità del modello.
Ognuna di queste tecniche ha un gran numero di parametri che puoi modificare. Cerca i parametri predefiniti di ciascuno e pensa a cosa significherebbe modificare questi parametri per la qualità del modello.
## [Quiz post-lezione](https://ff-quizzes.netlify.app/en/ml/)
## Revisione e studio autonomo
## Revisione e Autoapprendimento
C'è molto gergo in queste lezioni, quindi prenditi un momento per rivedere [questa lista](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) di terminologia utile!
Ci sono molte terminologie in queste lezioni, quindi prenditi un momento per rivedere [questa lista](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) di terminologia utile!
## Compito
## Compito
[Gioco sui parametri](assignment.md)
[Gioca con i parametri](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua originaria deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda la traduzione professionale effettuata da un esperto umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Costruisci un Modello di Classificazione\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Disclaimer**: \nQuesto documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**: \nQuesto documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire laccuratezza, si prega di considerare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua originale deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale realizzata da un umano. Non ci assumiamo alcuna responsabilità per eventuali fraintendimenti o interpretazioni errate derivanti dalluso di questa traduzione.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-08-29T23:47:30+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "it"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Costruire Altri Modelli di Classificazione\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,8 +116,8 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Disclaimer**: \nQuesto documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**: \nQuesto documento è stato tradotto utilizzando il servizio di traduzione automatica AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire laccuratezza, si prega di considerare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua natale deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda la traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dalluso di questa traduzione.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-08-29T23:47:53+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "it"
}
},
"nbformat": 4,

@ -13,72 +13,83 @@
#### Supportato tramite GitHub Action (Automatizzato e Sempre Aggiornato)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](./README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arabo](../ar/README.md) | [Bengalese](../bn/README.md) | [Bulgaro](../bg/README.md) | [Birmano (Myanmar)](../my/README.md) | [Cinese (Semplificato)](../zh-CN/README.md) | [Cinese (Tradizionale, Hong Kong)](../zh-HK/README.md) | [Cinese (Tradizionale, Macao)](../zh-MO/README.md) | [Cinese (Tradizionale, Taiwan)](../zh-TW/README.md) | [Croato](../hr/README.md) | [Ceco](../cs/README.md) | [Danese](../da/README.md) | [Olandese](../nl/README.md) | [Estone](../et/README.md) | [Finlandese](../fi/README.md) | [Francese](../fr/README.md) | [Tedesco](../de/README.md) | [Greco](../el/README.md) | [Ebraico](../he/README.md) | [Hindi](../hi/README.md) | [Ungherese](../hu/README.md) | [Indonesiano](../id/README.md) | [Italiano](./README.md) | [Giapponese](../ja/README.md) | [Kannada](../kn/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malese](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalese](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norvegese](../no/README.md) | [Persiano (Farsi)](../fa/README.md) | [Polacco](../pl/README.md) | [Portoghese (Brasile)](../pt-BR/README.md) | [Portoghese (Portogallo)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumeno](../ro/README.md) | [Russo](../ru/README.md) | [Serbo (Cirillico)](../sr/README.md) | [Slovacco](../sk/README.md) | [Sloveno](../sl/README.md) | [Spagnolo](../es/README.md) | [Swahili](../sw/README.md) | [Svedese](../sv/README.md) | [Tagalog (Filippino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailandese](../th/README.md) | [Turco](../tr/README.md) | [Ucraino](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
> **Preferisci Clonare Localmente?**
> Questo repository include oltre 50 traduzioni in varie lingue che aumentano notevolmente la dimensione del download. Per clonare senza traduzioni, usa lo sparse checkout:
>
> Questo repository include oltre 50 traduzioni linguistiche che aumentano significativamente la dimensione del download. Per clonare senza traduzioni, usa sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Questo ti dà tutto ciò di cui hai bisogno per completare il corso con un download molto più veloce.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Questo ti fornisce tutto il necessario per completare il corso con un download molto più veloce.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Unisciti alla Nostra Comunità
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Abbiamo una serie Discord "impara con AI" in corso, scopri di più e unisciti a noi su [Learn with AI Series](https://aka.ms/learnwithai/discord) dal 18 al 30 settembre 2025. Riceverai consigli e trucchi per usare GitHub Copilot per la Data Science.
Abbiamo una serie Discord "impara con l'IA" in corso, scopri di più e unisciti a noi su [Learn with AI Series](https://aka.ms/learnwithai/discord) dal 18 al 30 settembre 2025. Riceverai suggerimenti e trucchi per usare GitHub Copilot per la Data Science.
![Learn with AI series](../../translated_images/it/3.9b58fd8d6c373c20.webp)
# Machine Learning per Principianti - Un Curriculum
# Machine Learning for Beginners - Un Curriculum
> 🌍 Viaggia in tutto il mondo mentre esploriamo il Machine Learning attraverso le culture del mondo 🌍
> 🌍 Viaggia per il mondo mentre esploriamo il Machine Learning attraverso le culture del mondo 🌍
I Cloud Advocates di Microsoft sono lieti di offrire un curriculum di 12 settimane con 26 lezioni, tutto incentrato sul **Machine Learning**. In questo curriculum, imparerai quello che a volte viene chiamato **machine learning classico**, utilizzando principalmente Scikit-learn come libreria ed evitando il deep learning, che è trattato nel nostro curriculum [AI for Beginners](https://aka.ms/ai4beginners). Abbina queste lezioni anche al nostro curriculum ['Data Science for Beginners'](https://aka.ms/ds4beginners)!
I Cloud Advocates di Microsoft sono lieti di offrire un curriculum di 12 settimane, 26 lezioni, dedicato interamente al **Machine Learning**. In questo curriculum, imparerai quello che talvolta viene chiamato **machine learning classico**, utilizzando principalmente la libreria Scikit-learn ed evitando il deep learning, che è trattato nel nostro [curriculum AI for Beginners](https://aka.ms/ai4beginners). Abbina queste lezioni anche con il nostro ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners).
Viaggia con noi intorno al mondo mentre applichiamo queste tecniche classiche a dati provenienti da molte aree del mondo. Ogni lezione include quiz pre e post lezione, istruzioni scritte per completare la lezione, una soluzione, un compito e altro. La nostra pedagogia basata su progetti ti permette di imparare costruendo, un modo comprovato per fissare meglio nuove competenze.
Viaggia con noi per il mondo mentre applichiamo queste tecniche classiche su dati provenienti da molte aree del globo. Ogni lezione include quiz prima e dopo la lezione, istruzioni scritte per completare la lezione, una soluzione, un compito e altro. La nostra metodologia didattica basata su progetti ti permette di imparare costruendo, un metodo provato per fissare nuove competenze.
**✍️ Un sentito ringraziamento ai nostri autori** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu e Amy Boyd
**🎨 Grazie anche ai nostri illustratori** Tomomi Imura, Dasani Madipalli e Jen Looper
**🎨 Ringraziamo anche i nostri illustratori** Tomomi Imura, Dasani Madipalli e Jen Looper
**🙏 Un ringraziamento speciale 🙏 ai nostri Microsoft Student Ambassador autori, revisori, e collaboratori di contenuto**, in particolare Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila e Snigdha Agarwal
**🙏 Un ringraziamento speciale 🙏 ai nostri Microsoft Student Ambassador autori, revisori e contributori di contenuti**, in particolare Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila e Snigdha Agarwal
**🤩 Ulteriore gratitudine ai Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi e Vidushi Gupta per le nostre lezioni in R!**
**🤩 Ulteriore gratitudine ai Microsoft Student Ambassador Eric Wanjau, Jasleen Sondhi e Vidushi Gupta per le nostre lezioni R!**
# Come Iniziare
# Iniziare
Segui questi passaggi:
1. **Fai il fork del repository**: Clicca sul bottone "Fork" in alto a destra di questa pagina.
2. **Clona il repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
1. **Fork del Repository**: Clicca sul pulsante "Fork" nell'angolo in alto a destra di questa pagina.
2. **Clona il Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [trova tutte le risorse aggiuntive per questo corso nella nostra collezione Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Hai bisogno di aiuto?** Consulta la nostra [Guida alla Risoluzione dei Problemi](TROUBLESHOOTING.md) per soluzioni ai problemi comuni di installazione, configurazione e avvio delle lezioni.
> 🔧 **Hai bisogno di aiuto?** Consulta la nostra [Guida alla Risoluzione dei Problemi](TROUBLESHOOTING.md) per soluzioni ai problemi comuni di installazione, impostazione e esecuzione delle lezioni.
**[Studenti](https://aka.ms/student-page)**, per utilizzare questo curriculum, fate un fork dellintero repo sul vostro account GitHub e completate gli esercizi da soli o in gruppo:
- Iniziate con un quiz pre-lezione.
- Leggete la lezione e completate le attività, fermandovi e riflettendo ad ogni verifica di conoscenza.
- Cercate di creare i progetti comprendendo le lezioni piuttosto che eseguire direttamente il codice soluzione; tuttavia, quel codice è disponibile nelle cartelle `/solution` di ogni lezione orientata al progetto.
- Fate il quiz post-lezione.
- Completate la sfida.
- Completate il compito.
- Dopo aver completato un gruppo di lezioni, visitate il [Forum di Discussione](https://github.com/microsoft/ML-For-Beginners/discussions) e "imparate ad alta voce" compilando la relativa scheda PAT. Un 'PAT' è uno strumento di valutazione dei progressi che consiste in una griglia da compilare per approfondire il proprio apprendimento. Potete anche reagire alle schede PAT altrui così possiamo imparare insieme.
**[Studenti](https://aka.ms/student-page)**, per usare questo curriculum, fai un fork dell'intero repo nel tuo account GitHub e completa gli esercizi da solo o in gruppo:
> Per studi successivi, consigliamo di seguire questi [moduli e percorsi di apprendimento Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
- Inizia con un quiz pre-lezione.
- Leggi la lezione e completa le attività, fermandoti e riflettendo ad ogni verifica della conoscenza.
- Cerca di creare i progetti comprendendo le lezioni piuttosto che eseguire direttamente il codice della soluzione; quel codice è comunque disponibile nelle cartelle `/solution` di ogni lezione orientata al progetto.
- Fai il quiz post-lezione.
- Completa la sfida.
- Completa il compito.
- Dopo aver completato un gruppo di lezioni, visita il [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) e "impara ad alta voce" compilando l'apposita rubric PAT. Un 'PAT' è uno strumento di valutazione dei progressi che compili per approfondire l'apprendimento. Puoi anche reagire agli altri PAT per imparare insieme.
**Insegnanti**, abbiamo [incluso alcuni suggerimenti](for-teachers.md) su come utilizzare questo curriculum.
> Per approfondimenti, consigliamo di seguire questi moduli e percorsi di apprendimento di [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
**Insegnanti**, abbiamo [inserito alcuni suggerimenti](for-teachers.md) su come usare questo curriculum.
---
## Video dimostrativi
## Video esplicativi
Alcune lezioni sono disponibili in formato video breve. Puoi trovarle tutte inline nelle lezioni, oppure nella [playlist ML for Beginners sul canale Microsoft Developer di YouTube](https://aka.ms/ml-beginners-videos) cliccando sull'immagine qui sotto.
Alcune lezioni sono disponibili in brevi video. Puoi trovarli integrati nelle lezioni, oppure sulla [playlist ML for Beginners sul canale Microsoft Developer YouTube](https://aka.ms/ml-beginners-videos) cliccando sullimmagine qui sotto.
[![ML for beginners banner](../../translated_images/it/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -90,103 +101,104 @@ Alcune lezioni sono disponibili in formato video breve. Puoi trovarle tutte inli
**Gif di** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Clicca sullimmagine sopra per un video sul progetto e sulle persone che lo hanno creato!
> 🎥 Clicca sull'immagine sopra per un video sul progetto e le persone che lo hanno creato!
---
## Pedagogia
Abbiamo scelto due principi pedagogici nella costruzione di questo curriculum: assicurarci che sia pratico e **basato su progetti** e che includa **quiz frequenti**. Inoltre, questo curriculum ha un **tema comune** per conferirgli coesione.
Abbiamo scelto due principi pedagogici durante la creazione di questo curriculum: assicurare che sia pratico e **basato su progetti** e che includa **quiz frequenti**. Inoltre, questo curriculum ha un **tema** comune per dargli coesione.
Allineando i contenuti ai progetti, il processo diventa più coinvolgente per gli studenti e la ritenzione dei concetti viene aumentata. Inoltre, un quiz a basso stress prima della lezione pone lintenzione dello studente verso lapprendimento di un argomento, mentre un secondo quiz dopo la lezione ne assicura unulteriore ritenzione. Questo curriculum è stato progettato per essere flessibile e divertente e può essere seguito tutto o in parte. I progetti partono da pochi elementi e diventano progressivamente più complessi entro la fine del ciclo di 12 settimane. Questo curriculum include anche un post-scriptum sulle applicazioni reali del ML, che può essere usato come credito extra o come base per discussioni.
Garantendo che i contenuti siano allineati con i progetti, il processo diventa più coinvolgente per gli studenti e migliora la ritenzione dei concetti. Inoltre, un quiz a bassa pressione prima di una lezione orienta lo studente verso l'apprendimento di un argomento, mentre un secondo quiz dopo la lezione ne assicura unulteriore memorizzazione. Questo curriculum è stato progettato per essere flessibile e divertente, e può essere seguito completamente o parzialmente. I progetti partono da semplici e diventano via via più complessi al termine del ciclo di 12 settimane. Questo curriculum include anche un post-scriptum sulle applicazioni reali di ML, che può essere usato come credito extra o come base per una discussione.
> Trova le nostre linee guida su [Codice di Condotta](CODE_OF_CONDUCT.md), [Contributi](CONTRIBUTING.md), [Traduzioni](TRANSLATIONS.md), e [Risoluzione Problemi](TROUBLESHOOTING.md). Accogliamo con favore i tuoi feedback costruttivi!
> Trova le nostre linee guida su [Codice di condotta](CODE_OF_CONDUCT.md), [Contributi](CONTRIBUTING.md), [Traduzioni](TRANSLATIONS.md) e [Risoluzione dei Problemi](TROUBLESHOOTING.md). Accogliamo con piacere il tuo feedback costruttivo!
## Ogni lezione include
- sketchnote opzionale
- video supplementare opzionale
- video dimostrativo (solo alcune lezioni)
- video esplicativo (solo alcune lezioni)
- [quiz di riscaldamento pre-lezione](https://ff-quizzes.netlify.app/en/ml/)
- lezione scritta
- per le lezioni basate su progetti, guide passo-passo su come costruire il progetto
- verifiche di conoscenza
- per lezioni basate su progetti, guide passo-passo su come costruire il progetto
- verifiche della conoscenza
- una sfida
- letture supplementari
- lettura supplementare
- compito
- [quiz post-lezione](https://ff-quizzes.netlify.app/en/ml/)
> **Una nota sulle lingue**: Queste lezioni sono principalmente scritte in Python, ma molte sono disponibili anche in R. Per completare una lezione in R, vai alla cartella `/solution` e cerca le lezioni in R. Includono unestensione .rmd che rappresenta un file **R Markdown**, che può essere definito come un embedding di `blocchi di codice` (in R o in altri linguaggi) e un `header YAML` (che guida il formato di output come PDF) in un `documento Markdown`. In quanto tale, serve come un eccellente framework per la scrittura per la data science, poiché permette di combinare il codice, il suo output e le proprie riflessioni scrivendole in Markdown. Inoltre, i documenti R Markdown possono essere resi in formati di output come PDF, HTML o Word.
> **Una nota sui quiz**: Tutti i quiz sono contenuti nella [cartella Quiz App](../../quiz-app), per un totale di 52 quiz di tre domande ciascuno. Sono collegati allinterno delle lezioni, ma lapp quiz può essere eseguita localmente; segui le istruzioni nella cartella `quiz-app` per ospitare localmente o distribuire su Azure.
| Numero Lezione | Argomento | Raggruppamento Lezioni | Obiettivi di Apprendimento | Lezione Collegata | Autore |
| :------------: | :--------------------------------------------------------------: | :--------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| 01 | Introduzione al machine learning | [Introduzione](1-Introduction/README.md) | Impara i concetti base alla base del machine learning | [Lezione](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | La storia del machine learning | [Introduzione](1-Introduction/README.md) | Impara la storia alla base di questo campo | [Lezione](1-Introduction/2-history-of-ML/README.md) | Jen e Amy |
| 03 | Equità e machine learning | [Introduzione](1-Introduction/README.md) | Quali sono le importanti questioni filosofiche sullequità che gli studenti dovrebbero considerare nella costruzione e applicazione di modelli ML? | [Lezione](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Tecniche per il machine learning | [Introduzione](1-Introduction/README.md) | Quali tecniche usano i ricercatori di ML per costruire modelli ML? | [Lezione](1-Introduction/4-techniques-of-ML/README.md) | Chris e Jen |
| 05 | Introduzione alla regressione | [Regressione](2-Regression/README.md) | Inizia con Python e Scikit-learn per i modelli di regressione | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Prezzi delle zucche del Nord America 🎃 | [Regressione](2-Regression/README.md) | Visualizza e pulisci i dati in preparazione al ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Prezzi delle zucche del Nord America 🎃 | [Regressione](2-Regression/README.md) | Costruisci modelli di regressione lineare e polinomiale | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen e Dmitry • Eric Wanjau |
| 08 | Prezzi delle zucche del Nord America 🎃 | [Regressione](2-Regression/README.md) | Costruisci un modello di regressione logistica | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Unapp web 🔌 | [Web App](3-Web-App/README.md) | Costruisci unapp web per usare il tuo modello addestrato | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Introduzione alla classificazione | [Classificazione](4-Classification/README.md) | Pulisci, prepara e visualizza i tuoi dati; introduzione alla classificazione | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen e Cassie • Eric Wanjau |
| 11 | Cucine asiatiche e indiane deliziose 🍜 | [Classificazione](4-Classification/README.md) | Introduzione ai classificatori | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen e Cassie • Eric Wanjau |
| 12 | Cucine asiatiche e indiane deliziose 🍜 | [Classificazione](4-Classification/README.md) | Altri classificatori | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen e Cassie • Eric Wanjau |
| 13 | Cucine asiatiche e indiane deliziose 🍜 | [Classificazione](4-Classification/README.md) | Costruisci unapp web raccomandante usando il tuo modello | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Introduzione al clustering | [Clustering](5-Clustering/README.md) | Pulisci, prepara e visualizza i tuoi dati; Introduzione al clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Esplorando i gusti musicali nigeriani 🎧 | [Clustering](5-Clustering/README.md) | Esplora il metodo di clustering K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Introduzione al Natural Language Processing ☕️ | [Elaborazione del linguaggio naturale](6-NLP/README.md) | Impara le basi del NLP costruendo un semplice bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Compiti comuni di NLP ☕️ | [Elaborazione del linguaggio naturale](6-NLP/README.md) | Approfondisci le tue conoscenze NLP comprendendo i compiti comuni necessari nella gestione delle strutture linguistiche | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Traduzione e analisi del sentiment ♥️ | [Elaborazione del linguaggio naturale](6-NLP/README.md) | Traduzione e analisi del sentiment con Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantici dEuropa ♥️ | [Elaborazione del linguaggio naturale](6-NLP/README.md) | Analisi del sentiment con recensioni di hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantici dEuropa ♥️ | [Elaborazione del linguaggio naturale](6-NLP/README.md) | Analisi del sentiment con recensioni di hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Introduzione alla previsione delle serie temporali | [Serie temporali](7-TimeSeries/README.md) | Introduzione alla previsione delle serie temporali | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Consumo energetico mondiale ⚡️ - previsione con ARIMA | [Serie temporali](7-TimeSeries/README.md) | Previsione delle serie temporali con ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Consumo energetico mondiale ⚡️ - previsione con SVR | [Serie temporali](7-TimeSeries/README.md) | Previsione delle serie temporali con Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Introduzione al reinforcement learning | [Reinforcement Learning](8-Reinforcement/README.md) | Introduzione al reinforcement learning con Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Aiuta Peter a evitare il lupo! 🐺 | [Reinforcement Learning](8-Reinforcement/README.md) | Reinforcement learning con Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Scenari e applicazioni reali di Machine Learning | [ML in the Wild](9-Real-World/README.md) | Applicazioni reali interessanti e rivelatrici del machine learning classico | [Lezione](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Debugging di modelli ML usando la dashboard RAI | [ML in the Wild](9-Real-World/README.md) | Debugging di modelli di Machine Learning usando i componenti della dashboard Responsible AI | [Lezione](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> **Una nota sulle lingue**: Queste lezioni sono principalmente scritte in Python, ma molte sono disponibili anche in R. Per completare una lezione in R, vai alla cartella `/solution` e cerca le lezioni in R. Includono unestensione .rmd che rappresenta un file **R Markdown**, il quale può essere semplicemente definito come un incapsulamento di `code chunks` (di R o altre lingue) e un `intestazione YAML` (che guida la formattazione delle uscite come PDF) in un `documento Markdown`. Di conseguenza, serve come un esempio di framework per lautore di data science poiché consente di combinare il codice, il suo output e i propri pensieri, permettendo di scriverli in Markdown. Inoltre, i documenti R Markdown possono essere renderizzati in formati di output come PDF, HTML o Word.
> **Una nota sui quiz**: Tutti i quiz sono contenuti nella [cartella Quiz App](../../quiz-app), per un totale di 52 quiz con tre domande ciascuno. Sono collegati allinterno delle lezioni, ma lapp dei quiz può essere eseguita localmente; segui le istruzioni nella cartella `quiz-app` per ospitare localmente o distribuire su Azure.
| Numero Lezione | Argomento | Raggruppamento Lezione | Obiettivi di Apprendimento | Lezione Collegata | Autore |
| :------------: | :-------------------------------------------------------------: | :---------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| 01 | Introduzione al machine learning | [Introduzione](1-Introduction/README.md) | Impara i concetti base dietro il machine learning | [Lezione](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | La storia del machine learning | [Introduzione](1-Introduction/README.md) | Comprendi la storia alla base di questo campo | [Lezione](1-Introduction/2-history-of-ML/README.md) | Jen e Amy |
| 03 | Equità e machine learning | [Introduzione](1-Introduction/README.md) | Quali sono le importanti questioni filosofiche riguardo allequità che gli studenti dovrebbero considerare durante la costruzione e applicazione di modelli ML? | [Lezione](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Tecniche per il machine learning | [Introduzione](1-Introduction/README.md) | Quali tecniche usano i ricercatori di ML per costruire modelli di ML? | [Lezione](1-Introduction/4-techniques-of-ML/README.md) | Chris e Jen |
| 05 | Introduzione alla regressione | [Regressione](2-Regression/README.md) | Inizia a usare Python e Scikit-learn per modelli di regressione | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Prezzi delle zucche in Nord America 🎃 | [Regressione](2-Regression/README.md) | Visualizza e pulisci i dati in preparazione per ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Prezzi delle zucche in Nord America 🎃 | [Regressione](2-Regression/README.md) | Costruisci modelli di regressione lineare e polinomiale | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen e Dmitry • Eric Wanjau |
| 08 | Prezzi delle zucche in Nord America 🎃 | [Regressione](2-Regression/README.md) | Costruisci un modello di regressione logistica | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Unapp Web 🔌 | [Web App](3-Web-App/README.md) | Costruisci unapp web per usare il modello addestrato | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Introduzione alla classificazione | [Classificazione](4-Classification/README.md) | Pulisci, prepara e visualizza i tuoi dati; introduzione alla classificazione | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen e Cassie • Eric Wanjau |
| 11 | Deliziose cucine asiatiche e indiane 🍜 | [Classificazione](4-Classification/README.md) | Introduzione ai classificatori | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen e Cassie • Eric Wanjau |
| 12 | Deliziose cucine asiatiche e indiane 🍜 | [Classificazione](4-Classification/README.md) | Altri classificatori | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen e Cassie • Eric Wanjau |
| 13 | Deliziose cucine asiatiche e indiane 🍜 | [Classificazione](4-Classification/README.md) | Costruisci unapp web recommender usando il tuo modello | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Introduzione al clustering | [Clustering](5-Clustering/README.md) | Pulisci, prepara e visualizza i tuoi dati; introduzione al clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Esplorando gusti musicali nigeriani 🎧 | [Clustering](5-Clustering/README.md) | Esplora il metodo di clustering K-Means | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Introduzione al natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Impara le basi del NLP costruendo un semplice bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Compiti comuni NLP ☕️ | [Natural language processing](6-NLP/README.md) | Approfondisci le tue conoscenze NLP comprendendo i compiti comuni richiesti quando si lavora con strutture linguistiche | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Traduzione e analisi del sentiment ♥️ | [Natural language processing](6-NLP/README.md) | Traduzione e analisi del sentiment con Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Hotel romantici dEuropa ♥️ | [Natural language processing](6-NLP/README.md) | Analisi del sentiment con recensioni di hotel 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Hotel romantici dEuropa ♥️ | [Natural language processing](6-NLP/README.md) | Analisi del sentiment con recensioni di hotel 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Introduzione alla previsione delle serie temporali | [Serie temporali](7-TimeSeries/README.md) | Introduzione alla previsione delle serie temporali | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Consumo mondiale di energia ⚡️ - previsione con ARIMA | [Serie temporali](7-TimeSeries/README.md) | Previsione di serie temporali con ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Consumo mondiale di energia ⚡️ - previsione con SVR | [Serie temporali](7-TimeSeries/README.md) | Previsione di serie temporali con Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Introduzione al reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Introduzione al reinforcement learning con Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Aiuta Peter a evitare il lupo! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning con Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Scenari e applicazioni reali di ML | [ML nel mondo reale](9-Real-World/README.md) | Applicazioni reali interessanti e rivelatrici del ML classico | [Lezione](9-Real-World/1-Applications/README.md) | Team |
| Postscript | Debugging dei modelli ML usando dashboard RAI | [ML nel mondo reale](9-Real-World/README.md) | Debugging dei modelli di Machine Learning usando componenti del dashboard Responsible AI | [Lezione](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [trova tutte le risorse aggiuntive per questo corso nella nostra collezione Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Accesso offline
Puoi eseguire questa documentazione offline usando [Docsify](https://docsify.js.org/#/). Clona questo repository, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, quindi nella cartella principale di questo repo, digita `docsify serve`. Il sito web sarà servito sulla porta 3000 sul tuo localhost: `localhost:3000`.
Puoi eseguire questa documentazione offline utilizzando [Docsify](https://docsify.js.org/#/). Fai un fork di questo repo, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, e quindi nella cartella root di questo repo, digita `docsify serve`. Il sito web sarà servito sulla porta 3000 del tuo localhost: `localhost:3000`.
## PDF
Trova un pdf del curriculum con i link [qui](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
Trova un pdf del curriculum con link [qui](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Altri corsi
Il nostro team produce altri corsi! Dai unocchiata:
Il nostro team produce altri corsi! Dai unocchiata a:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j per principianti](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js per principianti](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain per principianti](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD per principianti](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 per principianti](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 per principianti](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 per principianti](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)
[![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 per Principianti](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)
[![Agenti AI per Principianti](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)
---
### Serie AI Generativa
[![Intelligenza Artificiale Generativa per Principianti](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)
[![Intelligenza Artificiale Generativa (.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)
[![Intelligenza Artificiale Generativa (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)
[![Intelligenza Artificiale Generativa (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)
[![AI Generativa per Principianti](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Generativa (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![AI Generativa (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![AI Generativa (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)
---
### Apprendimento Core
### Apprendimento Base
[![ML per Principianti](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 per Principianti](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 per Principianti](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)
@ -198,24 +210,29 @@ Il nostro team produce altri corsi! Dai unocchiata:
---
### Serie Copilot
[![Copilot per Programmazione Accoppiata con IA](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 per Programmazione Affiancata 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 per 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)
[![Avventura Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Ottenere Aiuto
Se rimani bloccato o hai domande su come costruire app di IA. Unisciti ad altri apprendisti e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza viene condivisa liberamente.
Se rimani bloccato o hai domande sulla creazione di app AI. Unisciti ad altri studenti e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza è condivisa liberamente.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se hai feedback sul prodotto o errori durante lo sviluppo visita:
Se hai feedback sul prodotto o errori durante la creazione visita:
[![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)
## Suggerimenti Aggiuntivi per l'Apprendimento
- Rivedi i quaderni dopo ogni lezione per una migliore comprensione.
- Esercitati a implementare gli algoritmi da solo.
- Esplora dataset reali usando i concetti appresi.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avvertenza**:
Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua originale deve essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale umana. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall'uso di questa traduzione.
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un umano. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "pl"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-03T17:40:58+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T08:51:12+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "pl"
},
@ -90,8 +90,8 @@
"language_code": "pl"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-05T08:10:32+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T08:52:16+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "pl"
},
@ -186,8 +186,8 @@
"language_code": "pl"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-05T08:25:46+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T08:52:41+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "pl"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "pl"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T08:46:15+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "pl"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-03T18:12:17+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "pl"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T08:46:21+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "pl"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-05T08:25:16+00:00",
@ -540,8 +552,8 @@
"language_code": "pl"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:13:55+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T08:51:06+00:00",
"source_file": "README.md",
"language_code": "pl"
},

@ -1,16 +1,18 @@
# Poznaj Responsible AI Toolbox
# Poznaj zestaw narzędzi Responsible AI Toolbox
## Instrukcje
W tej lekcji dowiedziałeś się o Responsible AI Toolbox, "projekcie open-source, napędzanym przez społeczność, który pomaga naukowcom danych analizować i ulepszać systemy AI." W ramach tego zadania zapoznaj się z jednym z [notebooków](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) RAI Toolbox i przedstaw swoje wnioski w formie pracy pisemnej lub prezentacji.
W tej lekcji poznałeś Responsible AI Toolbox, „otwartoźródłowy projekt prowadzony przez społeczność, który pomaga naukowcom danych analizować i ulepszać systemy AI.” Do tego zadania zbadaj jeden z [notatników](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) RAI Toolbox i przedstaw swoje wnioski w pracy pisemnej lub prezentacji.
## Kryteria oceny
| Kryteria | Wzorowe | Wystarczające | Wymaga poprawy |
| -------- | --------- | -------- | ----------------- |
| | Przedstawiono pracę pisemną lub prezentację PowerPoint omawiającą systemy Fairlearn, uruchomiony notebook oraz wnioski wynikające z jego działania | Przedstawiono pracę pisemną bez wniosków | Nie przedstawiono pracy pisemnej |
| | Przedstawiono pracę pisemną lub prezentację PowerPoint omawiającą systemy Fairlearn, uruchomiony notatnik oraz wnioski wyciągnięte z jego uruchomienia | Przedstawiono pracę pisemną bez wniosków | Nie przedstawiono pracy |
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zastrzeżenie**:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.
Ten dokument został przetłumaczony za pomocą automatycznej usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pomimo naszych starań o dokładność, prosimy mieć na uwadze, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być traktowany jako źródło autorytatywne. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,136 @@
# Budowanie modelu regresji za pomocą Scikit-learn: regresja na cztery sposoby
![Infografika: regresja liniowa vs. wielomianowa](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
> Infografika autorstwa [Dasani Madipalli](https://twitter.com/dasani_decoded)
## Notatka dla początkujących
Regresja liniowa jest używana, gdy chcemy przewidzieć **wartość liczbową** (na przykład cenę domu, temperaturę lub sprzedaż).
Działa przez znalezienie prostej, która najlepiej reprezentuje związek między cechami wejściowymi a wynikiem.
W tej lekcji skupiamy się na zrozumieniu koncepcji przed eksploracją bardziej zaawansowanych technik regresji.
![Infografika regresji liniowej vs wielomianowej](../../../../translated_images/pl/linear-polynomial.5523c7cb6576ccab.webp)
> Infografika autorstwa [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Quiz przed wykładem](https://ff-quizzes.netlify.app/en/ml/)
> ### [Ta lekcja jest dostępna w R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Wprowadzenie
> ### [Ta lekcja jest dostępna w R!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Wprowadzenie
Do tej pory zapoznałeś się z pojęciem regresji, korzystając z przykładowych danych z zestawu dotyczącego cen dyni, który będziemy używać w tej lekcji. Wizualizowałeś również dane za pomocą biblioteki Matplotlib.
Dotychczas zapoznawałeś się z pojęciem regresji na przykładowych danych z zestawu danych o cenach dyni, które wykorzystamy w całej tej lekcji. Wizualizowałeś je również za pomocą Matplotlib.
Teraz jesteś gotowy, aby zagłębić się w temat regresji w kontekście uczenia maszynowego. Chociaż wizualizacja pozwala zrozumieć dane, prawdziwa siła uczenia maszynowego tkwi w _trenowaniu modeli_. Modele są trenowane na danych historycznych, aby automatycznie uchwycić zależności między danymi, co pozwala przewidywać wyniki dla nowych danych, których model wcześniej nie widział.
Teraz jesteś gotów, aby zagłębić się bardziej w regresję w ML. Podczas gdy wizualizacja pozwala zrozumieć dane, prawdziwa moc uczenia maszynowego pochodzi z _treningu modeli_. Modele uczą się na danych historycznych, aby automatycznie uchwycić zależności w danych i pozwalają przewidywać wyniki dla nowych danych, których model wcześniej nie widział.
W tej lekcji dowiesz się więcej o dwóch typach regresji: _podstawowej regresji liniowej_ i _regresji wielomianowej_, wraz z niektórymi aspektami matematycznymi stojącymi za tymi technikami. Te modele pozwolą nam przewidywać ceny dyni w zależności od różnych danych wejściowych.
W tej lekcji poznasz dwa rodzaje regresji: _podstawową regresję liniową_ oraz _regresję wielomianową_, wraz z niektórymi aspektami matematycznymi tych technik. Te modele pozwolą nam przewidywać ceny dyni w zależności od różnych danych wejściowych.
[![ML dla początkujących - Zrozumienie regresji liniowej](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML dla początkujących - Zrozumienie regresji liniowej")
> 🎥 Kliknij obrazek powyżej, aby obejrzeć krótki film o regresji liniowej.
> 🎥 Kliknij powyższy obraz, aby obejrzeć krótki film wprowadzający do regresji liniowej.
> W całym tym kursie zakładamy minimalną znajomość matematyki i staramy się uczynić ją przystępną dla studentów z innych dziedzin. Zwracaj uwagę na notatki, 🧮 wyjaśnienia, diagramy i inne narzędzia edukacyjne, które pomogą w zrozumieniu.
> W całym tym kursie zakładamy minimalną znajomość matematyki i staramy się uczynić ją dostępną dla studentów z innych dziedzin, więc zwracaj uwagę na notatki, 🧮 wskazówki, diagramy i inne narzędzia wspierające naukę.
### Wymagania wstępne
Powinieneś już znać strukturę danych o dyniach, które analizujemy. Dane te są wstępnie załadowane i oczyszczone w pliku _notebook.ipynb_ dołączonym do tej lekcji. W pliku cena dyni jest wyświetlana za buszel w nowej ramce danych. Upewnij się, że możesz uruchomić te notatniki w kernelach w Visual Studio Code.
Powinieneś już znać strukturę danych o dyniach, które badamy. Możesz je znaleźć wstępnie załadowane i wstępnie oczyszczone w pliku _notebook.ipynb_ dołączonym do tej lekcji. W pliku cena dyni podawana jest na buszel w nowej ramce danych. Upewnij się, że potrafisz uruchamiać te notatniki w środowisku Visual Studio Code.
### Przygotowanie
Przypominamy, że wczytujesz te dane, aby zadawać im pytania.
Przypominamy, że ładujesz te dane, aby móc zadawać pytania dotyczące tych danych.
- Kiedy najlepiej kupować dynie?
- Jakiej ceny mogę się spodziewać za skrzynkę miniaturowych dyń?
- Czy powinienem kupować je w koszach o pojemności pół buszla czy w pudełkach o pojemności 1 1/9 buszla?
Zagłębmy się dalej w te dane.
- Kiedy jest najlepszy czas na zakup dyni?
- Jaka cena może być oczekiwana za skrzynkę miniaturek?
- Czy powinienem je kupować w połowie buszlowych koszyków czy w kartonie 1 1/9 buszla?
Zanurzmy się głębiej w dane.
W poprzedniej lekcji stworzyłeś ramkę danych Pandas i wypełniłeś ją częścią oryginalnego zestawu danych, standaryzując ceny według buszla. Jednakże, w ten sposób udało się zebrać tylko około 400 punktów danych i tylko dla jesiennych miesięcy.
W poprzedniej lekcji utworzyłeś ramkę danych Pandas i wypełniłeś ją częścią oryginalnego zestawu danych, standaryzując ceny na buszel. Jednak w ten sposób zebrałeś około 400 punktów danych i tylko za miesiące jesienne.
Spójrz na dane, które zostały wstępnie załadowane w notatniku dołączonym do tej lekcji. Dane są wstępnie załadowane, a początkowy wykres punktowy został utworzony, aby pokazać dane miesięczne. Może uda nam się uzyskać więcej szczegółów na temat charakteru danych, oczyszczając je bardziej.
Spójrz na dane, które wstępnie załadowaliśmy w notatniku towarzyszącym tej lekcji. Dane są już wczytane, a na początek wykreślony jest wykres punktowy pokazujący dane miesięczne. Może uzyskamy trochę więcej szczegółów o charakterze danych, dodatkowo je oczyszczając.
## Linia regresji liniowej
Jak nauczyłeś się w Lekcji 1, celem ćwiczenia regresji liniowej jest możliwość narysowania linii, aby:
Jak nauczyłeś się w Lekcji 1, celem ćwiczenia z regresji liniowej jest wyrysowanie linii, która:
- **Pokazuje zależności między zmiennymi.** Pokazuje relację między zmiennymi.
- **Umożliwia przewidywania.** Dokonuje dokładnych przewidywań, gdzie nowy punkt danych pojawi się względem tej linii.
- **Pokazać zależności między zmiennymi**. Pokazać relację między zmiennymi
- **Dokonywać prognoz**. Dokonywać dokładnych prognoz, gdzie nowy punkt danych znajdzie się w stosunku do tej linii.
Typowo w **regresji najmniejszych kwadratów** rysuje się taki typ linii. Termin "najmniejszych kwadratów" odnosi się do procesu minimalizacji całkowitego błędu w modelu. Dla każdego punktu danych mierzymy pionową odległość (zwaną resztą) pomiędzy rzeczywistym punktem a naszą linią regresji.
Typowe dla **Regresji Metodą Najmniejszych Kwadratów** jest rysowanie tego typu linii. Termin 'najmniejsze kwadraty' oznacza, że wszystkie punkty danych otaczające linię regresji są podnoszone do kwadratu, a następnie sumowane. Idealnie, ta końcowa suma jest jak najmniejsza, ponieważ chcemy mieć małą liczbę błędów, czyli `najmniejsze kwadraty`.
Kwadratujemy te odległości z dwóch głównych powodów:
Robimy to, ponieważ chcemy modelować linię, która ma najmniejszą skumulowaną odległość od wszystkich naszych punktów danych. Podnosimy również wartości do kwadratu przed ich dodaniem, ponieważ interesuje nas ich wielkość, a nie kierunek.
1. **Wielkość ponad kierunkiem:** Chcemy traktować błąd -5 tak samo jak +5. Potęgowanie do kwadratu sprawia, że wszystkie wartości są dodatnie.
> **🧮 Pokaż mi matematykę**
>
> Ta linia, nazywana _linią najlepszego dopasowania_, może być wyrażona za pomocą [równania](https://en.wikipedia.org/wiki/Simple_linear_regression):
>
2. **Kara dla wartości odstających:** Kwadraty nadają większą wagę większym błędom, zmuszając linię do pozostania bliżej punktów daleko oddalonych.
Następnie sumujemy wszystkie te kwadratowe wartości. Naszym celem jest znalezienie takiej linii, dla której ta suma jest najmniejsza (najmniejsza możliwa wartość)—stąd nazwa "najmniejszych kwadratów".
> **🧮 Pokaż mi matematykę**
>
> Ta linia, zwana _linią najlepszego dopasowania_, może być wyrażona wzorem:
>
> ```
> Y = a + bX
> ```
>
> `X` to 'zmienna objaśniająca'. `Y` to 'zmienna zależna'. Nachylenie linii to `b`, a `a` to punkt przecięcia z osią Y, który odnosi się do wartości `Y`, gdy `X = 0`.
>
>![obliczanie nachylenia](../../../../2-Regression/3-Linear/images/slope.png)
>
> Najpierw oblicz nachylenie `b`. Infografika autorstwa [Jen Looper](https://twitter.com/jenlooper)
>
> Innymi słowy, odnosząc się do pierwotnego pytania dotyczącego danych o dyniach: "przewidzieć cenę dyni za buszel według miesiąca", `X` odnosiłoby się do ceny, a `Y` do miesiąca sprzedaży.
>
>![uzupełnij równanie](../../../../2-Regression/3-Linear/images/calculation.png)
>
> Oblicz wartość Y. Jeśli płacisz około 4 dolarów, to musi być kwiecień! Infografika autorstwa [Jen Looper](https://twitter.com/jenlooper)
>
> Matematyka, która oblicza linię, musi uwzględniać nachylenie linii, które również zależy od punktu przecięcia, czyli miejsca, gdzie `Y` znajduje się, gdy `X = 0`.
>
> Możesz zobaczyć metodę obliczania tych wartości na stronie [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Odwiedź również [ten kalkulator metodą najmniejszych kwadratów](https://www.mathsisfun.com/data/least-squares-calculator.html), aby zobaczyć, jak wartości liczbowe wpływają na linię.
>
> `X` to "zmienna wyjaśniająca". `Y` to "zmienna zależna". Nachylenie linii to `b`, a `a` to wyraz wolny, czyli wartość `Y` gdy `X = 0`.
>
>![obliczanie nachylenia](../../../../translated_images/pl/slope.f3c9d5910ddbfcf9.webp)
>
> Najpierw obliczamy nachylenie `b`. Infografika [Jen Looper](https://twitter.com/jenlooper)
>
> Innymi słowy, nawiązując do pytania z danych o dyniach: "przewidzieć cenę dyni za buszel w zależności od miesiąca", `X` odnosi się do ceny, a `Y` do miesiąca sprzedaży.
>
>![dokończ równanie](../../../../translated_images/pl/calculation.a209813050a1ddb1.webp)
>
> Oblicz wartość Y. Jeśli płacisz około 4 dolarów, musi być kwiecień! Infografika [Jen Looper](https://twitter.com/jenlooper)
>
> Matematyka obliczająca linię musi uwzględniać nachylenie linii, które jest zależne także od wyrazu wolnego, czyli miejsca przecięcia osi `Y` dla `X = 0`.
>
> Metodę obliczenia tych wartości możesz zobaczyć na stronie [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html). Odwiedź też [kalkulator najmniejszych kwadratów](https://www.mathsisfun.com/data/least-squares-calculator.html), by zobaczyć, jak wartości liczb wpływają na linię.
## Korelacja
Jeszcze jedno pojęcie do zrozumienia to **Współczynnik Korelacji** między danymi zmiennymi X i Y. Korzystając z wykresu punktowego, możesz szybko zwizualizować ten współczynnik. Wykres z punktami danych ułożonymi w schludną linię ma wysoką korelację, ale wykres z punktami danych rozrzuconymi wszędzie między X i Y ma niską korelację.
Jeszcze jeden termin, który warto zrozumieć, to **współczynnik korelacji** między zmiennymi X i Y. Za pomocą wykresu punktowego możesz szybko zwizualizować ten współczynnik. Wykres z punktami ułożonymi blisko linii ma wysoką korelację, ale wykres z punktami rozrzuconymi wszędzie ma niską korelację.
Dobry model regresji liniowej będzie miał wysoki (bliższy 1 niż 0) Współczynnik Korelacji, korzystając z metody Regresji Metodą Najmniejszych Kwadratów z linią regresji.
Dobry model regresji liniowej to taki, którego współczynnik korelacji jest wysoki (bliższy 1 niż 0), używając metody regresji najmniejszych kwadratów z linią regresji.
✅ Uruchom notatnik dołączony do tej lekcji i spójrz na wykres punktowy Miesiąc do Ceny. Czy dane łączące Miesiąc z Ceną dla sprzedaży dyni wydają się mieć wysoką czy niską korelację, według Twojej wizualnej interpretacji wykresu punktowego? Czy to się zmienia, jeśli użyjesz bardziej szczegółowego miary zamiast `Miesiąc`, np. *dzień roku* (czyli liczba dni od początku roku)?
✅ Uruchom notatnik towarzyszący tej lekcji i spójrz na wykres rozwieślny Miesiąc vs Cena. Czy dane łączące Miesiąc z Ceną dla sprzedaży dyni wydają się mieć wysoką czy niską korelację, według twojej wizualnej interpretacji wykresu? Czy zmienia się to, jeśli zamiast `Miesiąca` użyjesz dokładniejszej miary, np. *dnia roku* (liczba dni od początku roku)?
W poniższym kodzie zakładamy, że oczyściliśmy dane i uzyskaliśmy ramkę danych o nazwie `new_pumpkins`, podobną do następującej:
W poniższym kodzie założymy, że dane zostały już oczyszczone i uzyskano ramkę danych `new_pumpkins` podobną do poniższej:
ID | Miesiąc | DzieńRoku | Odmiana | Miasto | Opakowanie | Cena minimalna | Cena maksymalna | Cena
---|---------|-----------|---------|--------|------------|----------------|-----------------|-----
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 do oczyszczenia danych jest dostępny w [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb). Wykonaliśmy te same kroki oczyszczania co w poprzedniej lekcji i obliczyliśmy kolumnę `DzieńRoku` za pomocą następującego wyrażenia:
> Kod do oczyszczenia danych jest dostępny w [`notebook.ipynb`](notebook.ipynb). Wykonaliśmy te same kroki oczyszczenia co w poprzedniej lekcji i wyliczyliśmy kolumnę `DayOfYear` następującym wyrażeniem:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Teraz, gdy rozumiesz matematykę stojącą za regresją liniową, stwórzmy model regresji, aby sprawdzić, czy możemy przewidzieć, które opakowanie dyni będzie miało najlepsze ceny. Ktoś kupujący dynie na świąteczny plac dyniowy może chcieć tej informacji, aby zoptymalizować swoje zakupy opakowań dyni na plac.
Teraz, gdy rozumiemy matematykę stojącą za regresją liniową, stwórzmy model regresji, aby sprawdzić, czy jesteśmy w stanie przewidzieć, który pakiet dyni przyniesie najlepsze ceny. Ktoś kupujący dynie na sezonową dekorację może chcieć mieć tę informację, aby zoptymalizować zakup.
## Szukanie korelacji
[![ML dla początkujących - Szukanie korelacji: Klucz do regresji liniowej](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML dla początkujących - Szukanie korelacji: Klucz do regresji liniowej")
[![ML dla początkujących - Szukanie korelacji: klucz do regresji liniowej](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML dla początkujących - Szukanie korelacji: klucz do regresji liniowej")
> 🎥 Kliknij obrazek powyżej, aby obejrzeć krótki film o korelacji.
> 🎥 Kliknij powyższy obraz, aby obejrzeć krótki film wprowadzający do korelacji.
Z poprzedniej lekcji prawdopodobnie zauważyłeś, że średnia cena dla różnych miesięcy wygląda tak:
Z poprzedniej lekcji prawdopodobnie widziałeś, że średnie ceny dla różnych miesięcy wyglądają tak:
<img alt="Średnia cena według miesiąca" src="../../../../translated_images/pl/barchart.a833ea9194346d76.webp" width="50%"/>
To sugeruje, że powinna istnieć jakaś korelacja, i możemy spróbować wytrenować model regresji liniowej, aby przewidzieć związek między `Miesiącem` a `Ceną`, lub między `DniemRoku` a `Ceną`. Oto wykres punktowy pokazujący tę drugą zależność:
Sugeruje to, że powinna istnieć jakaś korelacja i możemy spróbować wytrenować model regresji liniowej, aby przewidzieć związek między `Month` a `Price` lub między `DayOfYear` a `Price`. Oto wykres punktowy pokazujący tę drugą relację:
<img alt="Wykres punktowy Cena vs. Dzień Roku" src="../../../../translated_images/pl/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Wykres rozrzutu Cena vs Dzień roku" src="../../../../translated_images/pl/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
Sprawdźmy, czy istnieje korelacja, używając funkcji `corr`:
Sprawdźmy, czy istnieje korelacja, korzystając z funkcji `corr`:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Wygląda na to, że korelacja jest dość mała, -0.15 dla `Miesiąca` i -0.17 dla `DniaRoku`, ale może istnieć inna ważna zależność. Wygląda na to, że istnieją różne skupiska cen odpowiadające różnym odmianom dyni. Aby potwierdzić tę hipotezę, narysujmy każdą kategorię dyni w innym kolorze. Przekazując parametr `ax` do funkcji `scatter`, możemy narysować wszystkie punkty na tym samym wykresie:
Wygląda na to, że korelacja jest dość niewielka: -0,15 względem `Month` i -0,17 względem `DayOfMonth`, ale może istnieć inna ważna relacja. Wygląda na to, że różne klastry cen odpowiadają różnym odmianom dyni. Aby potwierdzić tę hipotezę, wyświetlmy każdą kategorię dyni innym kolorem. Przekazując parametr `ax` do funkcji `scatter`, możemy narysować wszystkie punkty na tym samym wykresie:
```python
ax=None
@ -127,75 +139,76 @@ 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)
```
<img alt="Wykres rozrzutu Cena vs Dzień roku różnokolorowy" src="../../../../translated_images/pl/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Wykres punktowy Cena vs. Dzień Roku" src="../../../../translated_images/pl/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Nasze badanie sugeruje, że odmiana ma większy wpływ na ogólną cenę niż rzeczywista data sprzedaży. Możemy to zobaczyć na wykresie słupkowym:
Nasze badanie sugeruje, że odmiana dyni ma większy wpływ na cenę niż faktyczna data sprzedaży. Widzimy to na wykresie słupkowym:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Wykres słupkowy ceny wg odmiany" src="../../../../translated_images/pl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Wykres słupkowy cena vs odmiana" src="../../../../translated_images/pl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Skupmy się na chwilę tylko na jednej odmianie dyni, 'pie type', i zobaczmy, jaki wpływ ma data na cenę:
Na razie skupmy się wyłącznie na odmianie 'pie type' i zobaczmy, jaki wpływ na cenę ma data:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Wykres punktowy Cena vs. Dzień Roku" src="../../../../translated_images/pl/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Wykres rozrzutu Cena vs Dzień roku dla odmiany pie type" src="../../../../translated_images/pl/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Jeśli teraz obliczymy korelację między `Ceną` a `DniemRoku` za pomocą funkcji `corr`, otrzymamy coś w rodzaju `-0.27` - co oznacza, że trenowanie modelu predykcyjnego ma sens.
Jeśli teraz obliczymy korelację między `Price` a `DayOfYear` za pomocą funkcji `corr`, otrzymamy coś około `-0.27` co oznacza, że trenowanie modelu predykcyjnego ma sens.
> Przed trenowaniem modelu regresji liniowej ważne jest, aby upewnić się, że nasze dane są czyste. Regresja liniowa nie działa dobrze z brakującymi wartościami, dlatego warto pozbyć się wszystkich pustych komórek:
> Przed trenowaniem modelu regresji liniowej ważne jest, aby upewnić się, że nasze dane są czyste. Regresja liniowa nie działa dobrze z brakującymi wartościami, więc sensowne jest pozbycie się wszystkich pustych komórek:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Innym podejściem byłoby wypełnienie tych pustych wartości średnimi wartościami z odpowiedniej kolumny.
Innym podejściem może być wypełnienie brakujących wartości średnimi wartościami z odpowiedniej kolumny.
## Prosta regresja liniowa
[![ML dla początkujących - Regresja liniowa i wielomianowa za pomocą Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML dla początkujących - Regresja liniowa i wielomianowa za pomocą Scikit-learn")
[![ML dla początkujących - Regresja liniowa i wielomianowa ze Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML dla początkujących - Regresja liniowa i wielomianowa ze Scikit-learn")
> 🎥 Kliknij obrazek powyżej, aby obejrzeć krótki film o regresji liniowej i wielomianowej.
> 🎥 Kliknij powyższy obraz, aby obejrzeć krótki film o regresji liniowej i wielomianowej.
Aby wytrenować nasz model regresji liniowej, użyjemy biblioteki **Scikit-learn**.
Do treningu naszego modelu regresji liniowej użyjemy biblioteki **Scikit-learn**.
```python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Zaczynamy od oddzielenia wartości wejściowych (cech) i oczekiwanych wyników (etykiet) w osobne tablice numpy:
Zaczynamy od rozdzielenia wartości wejściowych (cech) i oczekiwanego wyniku (etykiety) do osobnych tablic numpy:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Zauważ, że musieliśmy wykonać `reshape` na danych wejściowych, aby pakiet Linear Regression mógł je prawidłowo zinterpretować. Regresja liniowa oczekuje 2-wymiarowej tablicy jako danych wejściowych, gdzie każdy wiersz odpowiada wektorowi cech. W naszym przypadku, mając tylko jedną cechę, potrzebujemy tablicy o kształcie N&times;1, gdzie N to liczba elementów w zestawie danych.
> Zauważ, że musieliśmy wykonać `reshape` na danych wejściowych, aby pakiet regresji liniowej mógł je poprawnie zrozumieć. Regresja liniowa oczekuje 2D-tablicy jako danych wejściowych, gdzie każdy wiersz tablicy odpowiada wektorowi cech wejściowych. W naszym przypadku, ponieważ mamy tylko jeden wejściowy parametr - potrzebujemy tablicy o kształcie N×1, gdzie N to rozmiar zestawu danych.
Następnie musimy podzielić dane na zestawy treningowe i testowe, aby móc zweryfikować nasz model po treningu:
Następnie musimy podzielić dane na zbiory treningowy i testowy, aby móc zweryfikować model po treningu:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Na koniec, trenowanie rzeczywistego modelu regresji liniowej zajmuje tylko dwie linie kodu. Definiujemy obiekt `LinearRegression` i dopasowujemy go do naszych danych za pomocą metody `fit`:
W końcu trening właściwego modelu regresji liniowej zajmuje zaledwie dwie linijki kodu. Definiujemy obiekt `LinearRegression` i dopasowujemy go do danych za pomocą metody `fit`:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
Obiekt `LinearRegression` po dopasowaniu zawiera wszystkie współczynniki regresji, które można uzyskać za pomocą właściwości `.coef_`. W naszym przypadku jest tylko jeden współczynnik, który powinien wynosić około `-0.017`. Oznacza to, że ceny wydają się nieco spadać z czasem, ale niezbyt dużo, około 2 centy dziennie. Możemy również uzyskać punkt przecięcia regresji z osią Y za pomocą `lin_reg.intercept_` - w naszym przypadku będzie to około `21`, co wskazuje cenę na początku roku.
Obiekt `LinearRegression` po dopasowaniu (`fit`) zawiera wszystkie współczynniki regresji, do których można uzyskać dostęp za pomocą właściwości `.coef_`. W naszym przypadku jest tylko jeden współczynnik, który powinien wynosić około `-0.017`. Oznacza to, że ceny wydają się nieco spadać wraz z czasem, ale nieznacznie, około 2 centy dziennie. Możemy również uzyskać punkt przecięcia regresji z osią Y za pomocą `lin_reg.intercept_` w naszym przypadku będzie to około `21`, co wskazuje na cenę na początku roku.
Aby zobaczyć, jak dokładny jest nasz model, możemy przewidzieć ceny na zestawie testowym, a następnie zmierzyć, jak bliskie są nasze przewidywania do oczekiwanych wartości. Można to zrobić za pomocą metryki średniego błędu kwadratowego (MSE), która jest średnią wszystkich kwadratowych różnic między oczekiwaną a przewidywaną wartością.
Aby sprawdzić, jak dokładny jest nasz model, możemy przewidzieć ceny na zestawie testowym, a następnie zmierzyć, jak bliskie są nasze przewidywania do oczekiwanych wartości. Można to zrobić za pomocą metryki błędu średniokwadratowego (MSE), która jest średnią wszystkich kwadratów różnic między wartościami oczekiwanymi a przewidywanymi.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +216,37 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Nasza pomyłka wydaje się dotyczyć 2 punktów, co stanowi około 17%. Niezbyt dobrze. Innym wskaźnikiem jakości modelu jest **współczynnik determinacji**, który można obliczyć w następujący sposób:
Nasz błąd wydaje się wynosić około 2 punkty, co stanowi ~17%. Niezbyt dobrze. Innym wskaźnikiem jakości modelu jest **współczynnik determinacji**, który można uzyskać w ten sposób:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Jeśli wartość wynosi 0, oznacza to, że model nie uwzględnia danych wejściowych i działa jako *najgorszy liniowy predyktor*, czyli po prostu średnia wartość wyniku. Wartość 1 oznacza, że możemy idealnie przewidzieć wszystkie oczekiwane wyniki. W naszym przypadku współczynnik wynosi około 0,06, co jest dość niskie.
```
Jeśli wartość wynosi 0, oznacza to, że model nie uwzględnia danych wejściowych i działa jako *najgorszy liniowy predyktor*, czyli po prostu wartość średnia wyniku. Wartość 1 oznacza, że możemy idealnie przewidzieć wszystkie oczekiwane wyniki. W naszym przypadku współczynnik wynosi około 0,06, co jest dość niskie.
Możemy również wykreślić dane testowe wraz z linią regresji, aby lepiej zobaczyć, jak działa regresja w naszym przypadku:
Możemy również narysować dane testowe wraz z linią regresji, aby lepiej zobaczyć, jak działa regresja w naszym przypadku:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
```
<img alt="Regresja liniowa" src="../../../../translated_images/pl/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/pl/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Regresja wielomianowa
Innym rodzajem regresji liniowej jest regresja wielomianowa. Chociaż czasami istnieje liniowa zależność między zmiennymi im większa objętość dyni, tym wyższa cena czasami te zależności nie mogą być przedstawione jako płaszczyzna lub linia prosta.
Innym typem regresji liniowej jest regresja wielomianowa. Chociaż czasami istnieje liniowa zależność między zmiennymi im większa dynia pod względem objętości, tym wyższa cena czasem te zależności nie mogą być przedstawione jako płaszczyzna lub prosta.
✅ Oto [kilka przykładów](https://online.stat.psu.edu/stat501/lesson/9/9.8) danych, które mogą wymagać regresji wielomianowej.
✅ Oto [kilka dodatkowych przykładów](https://online.stat.psu.edu/stat501/lesson/9/9.8) danych, które mogłyby korzystać z regresji wielomianowej
Spójrz jeszcze raz na zależność między datą a ceną. Czy ten wykres rozrzutu wydaje się koniecznie analizowany za pomocą linii prostej? Czy ceny nie mogą się wahać? W takim przypadku możesz spróbować regresji wielomianowej.
Spójrz ponownie na związek między Datą a Ceną. Czy ten wykres punktowy musi być koniecznie analizowany linią prostą? Czy ceny nie mogą się wahać? W takim przypadku możesz spróbować regresji wielomianowej.
✅ Wielomiany to wyrażenia matematyczne, które mogą składać się z jednej lub więcej zmiennych i współczynników.
✅ Wielomiany to wyrażenia matematyczne, które mogą składać się z jednej lub więcej zmiennych i współczynników
Regresja wielomianowa tworzy krzywą, która lepiej dopasowuje się do nieliniowych danych. W naszym przypadku, jeśli uwzględnimy zmienną `DayOfYear` podniesioną do kwadratu w danych wejściowych, powinniśmy być w stanie dopasować nasze dane do krzywej parabolicznej, która osiągnie minimum w pewnym punkcie w ciągu roku.
Regresja wielomianowa tworzy krzywą linię, aby lepiej dopasować dane nieliniowe. W naszym przypadku, jeśli do danych wejściowych dodamy zmienną `DayOfYear` podniesioną do kwadratu, powinniśmy być w stanie dopasować nasze dane paraboliczną krzywą, która będzie miała minimum w określonym punkcie roku.
Scikit-learn zawiera przydatne [API pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), które pozwala łączyć różne kroki przetwarzania danych. **Pipeline** to łańcuch **estymatorów**. W naszym przypadku stworzymy pipeline, który najpierw doda cechy wielomianowe do naszego modelu, a następnie przeprowadzi trening regresji:
Scikit-learn zawiera przydatne [API potoku](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), aby połączyć różne etapy przetwarzania danych razem. **Potok** to łańcuch **estymatorów**. W naszym przypadku stworzymy potok, który najpierw dodaje cechy wielomianowe do modelu, a następnie trenuje regresję:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -241,62 +255,62 @@ from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
```
Użycie `PolynomialFeatures(2)` oznacza, że uwzględnimy wszystkie wielomiany drugiego stopnia z danych wejściowych. W naszym przypadku oznacza to po prostu `DayOfYear`<sup>2</sup>, ale przy dwóch zmiennych wejściowych X i Y, doda to X<sup>2</sup>, XY i Y<sup>2</sup>. Możemy również użyć wielomianów wyższego stopnia, jeśli tego chcemy.
Użycie `PolynomialFeatures(2)` oznacza, że uwzględnimy wszystkie wielomiany stopnia drugiego z danych wejściowych. W naszym przypadku oznacza to tylko `DayOfYear`<sup>2</sup>, ale mając dwie zmienne wejściowe X i Y, dodane zostaną X<sup>2</sup>, XY i Y<sup>2</sup>. Możemy również użyć wielomianów wyższego stopnia, jeśli chcemy.
Pipeline można używać w taki sam sposób, jak oryginalny obiekt `LinearRegression`, tj. możemy dopasować (`fit`) pipeline, a następnie użyć `predict`, aby uzyskać wyniki predykcji. Oto wykres pokazujący dane testowe i krzywą aproksymacji:
Potoki mogą być używane tak samo jak oryginalny obiekt `LinearRegression`, czyli możemy `fit` potok, a następnie użyć `predict`, aby uzyskać wyniki predykcji. Oto wykres pokazujący dane testowe i krzywą aproksymacji:
<img alt="Regresja wielomianowa" src="../../../../translated_images/pl/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/pl/poly-results.ee587348f0f1f60b.webp" width="50%" />
Korzystając z regresji wielomianowej, możemy uzyskać nieco niższy MSE i wyższy współczynnik determinacji, ale nieznacznie. Musimy uwzględnić inne cechy!
Używając regresji wielomianowej, możemy uzyskać nieco niższy MSE i wyższy współczynnik determinacji, ale nieznacznie. Musimy uwzględnić inne cechy!
> Możesz zauważyć, że minimalne ceny dyni obserwuje się gdzieś w okolicach Halloween. Jak to wyjaśnisz?
> Widać, że minimalne ceny dyń obserwowane są gdzieś około Halloween. Jak możesz to wytłumaczyć?
🎃 Gratulacje, właśnie stworzyłeś model, który może pomóc przewidzieć cenę dyni na ciasto. Prawdopodobnie możesz powtórzyć tę samą procedurę dla wszystkich rodzajów dyni, ale byłoby to żmudne. Nauczmy się teraz, jak uwzględnić różnorodność dyni w naszym modelu!
🎃 Gratulacje, właśnie stworzyłeś model, który może pomóc przewidywać ceny dyń na ciasto. Prawdopodobnie możesz powtórzyć tę samą procedurę dla wszystkich typów dyń, ale byłoby to czasochłonne. Nauczmy się teraz, jak uwzględnić odmianę dyni w naszym modelu!
## Cechy kategoryczne
W idealnym świecie chcemy być w stanie przewidywać ceny dla różnych odmian dyni za pomocą tego samego modelu. Jednak kolumna `Variety` różni się od takich kolumn jak `Month`, ponieważ zawiera wartości nienumeryczne. Takie kolumny nazywamy **kategorycznymi**.
W idealnym świecie chcielibyśmy być w stanie przewidywać ceny różnych odmian dyni za pomocą tego samego modelu. Jednak kolumna `Variety` jest nieco inna niż kolumny takie jak `Month`, ponieważ zawiera wartości nienumeryczne. Takie kolumny nazywają się **kategorycznymi**.
[![ML dla początkujących - Predykcja cech kategorycznych za pomocą regresji liniowej](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML dla początkujących - Predykcja cech kategorycznych za pomocą regresji liniowej")
[![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")
> 🎥 Kliknij obrazek powyżej, aby obejrzeć krótki film o używaniu cech kategorycznych.
> 🎥 Kliknij powyższy obraz, aby obejrzeć krótki film o używaniu cech kategorycznych.
Tutaj możesz zobaczyć, jak średnia cena zależy od odmiany:
<img alt="Średnia cena według odmiany" src="../../../../translated_images/pl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/pl/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Aby uwzględnić odmianę, najpierw musimy przekonwertować ją na formę numeryczną, czyli **zakodować**. Istnieje kilka sposobów, aby to zrobić:
* Proste **kodowanie numeryczne** utworzy tabelę różnych odmian, a następnie zastąpi nazwę odmiany indeksem w tej tabeli. Nie jest to najlepszy pomysł dla regresji liniowej, ponieważ regresja liniowa uwzględnia rzeczywistą wartość liczbową indeksu i dodaje ją do wyniku, mnożąc przez pewien współczynnik. W naszym przypadku zależność między numerem indeksu a ceną jest wyraźnie nieliniowa, nawet jeśli upewnimy się, że indeksy są uporządkowane w określony sposób.
* **Kodowanie one-hot** zastąpi kolumnę `Variety` czterema różnymi kolumnami, po jednej dla każdej odmiany. Każda kolumna będzie zawierać `1`, jeśli odpowiedni wiersz dotyczy danej odmiany, i `0` w przeciwnym razie. Oznacza to, że w regresji liniowej będą cztery współczynniki, po jednym dla każdej odmiany dyni, odpowiedzialne za "cenę początkową" (lub raczej "dodatkową cenę") dla danej odmiany.
* Proste **kodowanie numeryczne** zbuduje tabelę różnych odmian, a następnie zastąpi nazwę odmiany indeksem w tej tabeli. Nie jest to najlepszy pomysł dla regresji liniowej, ponieważ regresja liniowa bierze rzeczywistą wartość numeryczną indeksu i dodaje ją do wyniku, mnożąc przez pewien współczynnik. W naszym przypadku zależność między numerem indeksu a ceną jest wyraźnie nieliniowa, nawet jeśli upewnimy się, że indeksy są uporządkowane w określony sposób.
* **Kodowanie one-hot** zastąpi kolumnę `Variety` 4 różnymi kolumnami, po jednej dla każdej odmiany. Każda kolumna będzie zawierać `1`, jeśli odpowiadający wiersz jest danej odmiany, i `0` w przeciwnym razie. Oznacza to, że w regresji liniowej pojawią się cztery współczynniki, po jednym dla każdej odmiany dyni, odpowiadające "cenie startowej" (a raczej "dodatkowej cenie") za tę konkretną odmianę.
Poniższy kod pokazuje, jak możemy zakodować odmianę za pomocą one-hot:
Poniższy kod pokazuje, jak możemy zakodować odmianę metodą one-hot:
```python
pd.get_dummies(new_pumpkins['Variety'])
```
```
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
----|-----------|-----------|--------------------------|----------
70 | 0 | 0 | 0 | 1
71 | 0 | 0 | 0 | 1
... | ... | ... | ... | ...
1738 | 0 | 1 | 0 | 0
1739 | 0 | 1 | 0 | 0
1740 | 0 | 1 | 0 | 0
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
Aby przeprowadzić trening regresji liniowej z zakodowaną odmianą jako wejściem, wystarczy poprawnie zainicjalizować dane `X` i `y`:
Aby wytrenować regresję liniową używając one-hot zakodowanej odmiany jako dane wejściowe, po prostu musimy poprawnie zainicjalizować dane `X` i `y`:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
```
Reszta kodu jest taka sama jak ta, której użyliśmy powyżej do trenowania regresji liniowej. Jeśli to wypróbujesz, zobaczysz, że średni błąd kwadratowy (MSE) jest mniej więcej taki sam, ale uzyskujemy znacznie wyższy współczynnik determinacji (~77%). Aby uzyskać jeszcze dokładniejsze przewidywania, możemy uwzględnić więcej cech kategorycznych, a także cechy numeryczne, takie jak `Month` lub `DayOfYear`. Aby uzyskać jedną dużą tablicę cech, możemy użyć `join`:
Reszta kodu jest taka sama, jaką użyliśmy wcześniej do trenowania regresji liniowej. Jeśli spróbujesz, zobaczysz, że błąd średniokwadratowy jest mniej więcej taki sam, ale uzyskujemy znacznie wyższy współczynnik determinacji (~77%). Aby uzyskać jeszcze dokładniejsze przewidywania, możemy uwzględnić więcej cech kategorycznych oraz cechy numeryczne, takie jak `Month` czy `DayOfYear`. Aby uzyskać jedną dużą tablicę cech, możemy użyć `join`:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -304,68 +318,70 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
```
```
Tutaj uwzględniamy również `City` i typ `Package`, co daje nam MSE 2,84 (10%) i współczynnik determinacji 0,94!
Tutaj bierzemy również pod uwagę `City` i typ `Package`, co daje nam MSE 2.84 (10%) i determinację 0.94!
## Podsumowanie
## Łączenie wszystkiego w całość
Aby stworzyć najlepszy model, możemy użyć połączonych danych (zakodowane kategoryczne + numeryczne) z powyższego przykładu razem z regresją wielomianową. Oto kompletny kod dla wygody:
Aby stworzyć najlepszy model, możemy użyć połączonych danych (zakodowane one-hot kategorie + dane numeryczne) z powyższego przykładu wraz z regresją wielomianową. Oto kompletny kod dla wygody:
```python
# set up training data
# przygotuj dane treningowe
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# wykonaj podział na zbiór treningowy i testowy
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# skonfiguruj i wytrenuj potok
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# przewiduj wyniki dla danych testowych
pred = pipeline.predict(X_test)
# calculate MSE and determination
# oblicz błąd średniokwadratowy i współczynnik determinacji
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
```
To powinno dać nam najlepszy współczynnik determinacji wynoszący prawie 97% i MSE=2,23 (~8% błędu predykcji).
Powinno to dać nam najlepszy współczynnik determinacji prawie 97% oraz MSE=2.23 (~8% błąd predykcji).
| Model | MSE | Determinacja |
|-------|-----|--------------|
| `DayOfYear` Liniowy | 2,77 (17,2%) | 0,07 |
| `DayOfYear` Wielomianowy | 2,73 (17,0%) | 0,08 |
| `Variety` Liniowy | 5,24 (19,7%) | 0,77 |
| Wszystkie cechy Liniowy | 2,84 (10,5%) | 0,94 |
| Wszystkie cechy Wielomianowy | 2,23 (8,25%) | 0,97 |
| Model | MSE | Determinacja |
|-------|-----|--------------|
| Regresja liniowa `DayOfYear` | 2.77 (17.2%) | 0.07 |
| Regresja wielomianowa `DayOfYear` | 2.73 (17.0%) | 0.08 |
| Regresja liniowa `Variety` | 5.24 (19.7%) | 0.77 |
| Regresja liniowa dla wszystkich cech | 2.84 (10.5%) | 0.94 |
| Regresja wielomianowa dla wszystkich cech | 2.23 (8.25%) | 0.97 |
🏆 Brawo! Stworzyłeś cztery modele regresji w jednej lekcji i poprawiłeś jakość modelu do 97%. W ostatniej sekcji dotyczącej regresji nauczysz się o regresji logistycznej do określania kategorii.
🏆 Świetna robota! Stworzyłeś cztery modele regresji w jednej lekcji i poprawiłeś jakość modelu do 97%. W ostatniej części dotyczącej regresji nauczysz się o regresji logistycznej do określania kategorii.
---
## 🚀 Wyzwanie
---
## 🚀Wyzwanie
Przetestuj kilka różnych zmiennych w tym notebooku, aby zobaczyć, jak korelacja wpływa na dokładność modelu.
Przetestuj kilka różnych zmiennych w tym notatniku, aby zobaczyć, jak korelacja odpowiada dokładności modelu.
## [Quiz po lekcji](https://ff-quizzes.netlify.app/en/ml/)
## [Quiz po wykładzie](https://ff-quizzes.netlify.app/en/ml/)
## Przegląd i samodzielna nauka
## Powtórka i samodzielna nauka
W tej lekcji nauczyliśmy się o regresji liniowej. Istnieją inne ważne rodzaje regresji. Przeczytaj o technikach Stepwise, Ridge, Lasso i Elasticnet. Dobrym kursem do nauki jest [kurs Statystycznego Uczenia się Stanforda](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
W tej lekcji nauczyliśmy się o regresji liniowej. Istnieją inne ważne typy regresji. Przeczytaj o technikach Stepwise, Ridge, Lasso i Elasticnet. Dobrym kursem do nauki jest [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Zadanie
## Zadanie
[Zbuduj model](assignment.md)
[Zbuduj Model](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zastrzeżenie**:
Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mimo że dążymy do dokładności, prosimy pamiętać, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być traktowany jako źródło autorytatywne. W przypadku istotnych informacji zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonywanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Klasyfikatory kuchni 2
W tej drugiej lekcji dotyczącej klasyfikacji poznasz więcej sposobów klasyfikowania danych numerycznych. Dowiesz się również, jakie są konsekwencje wyboru jednego klasyfikatora zamiast innego.
W tej drugiej lekcji klasyfikacji poznasz więcej sposobów klasyfikacji danych numerycznych. Dowiesz się również o konsekwencjach wyboru jednego klasyfikatora zamiast drugiego.
## [Quiz przed wykładem](https://ff-quizzes.netlify.app/en/ml/)
### Wymagania wstępne
Zakładamy, że ukończyłeś poprzednie lekcje i masz wyczyszczony zbiór danych w folderze `data`, nazwany _cleaned_cuisines.csv_, znajdujący się w głównym katalogu tego czteroczęściowego kursu.
Zakładamy, że ukończyłeś poprzednie lekcje i masz wyczyszczony zestaw danych w folderze `data` o nazwie _cleaned_cuisines.csv_ w katalogu głównym tego folderu z 4 lekcjami.
### Przygotowanie
Załadowaliśmy Twój plik _notebook.ipynb_ z wyczyszczonym zbiorem danych i podzieliliśmy go na ramki danych X i y, gotowe do procesu budowy modelu.
Wczytaliśmy do twojego pliku _notebook.ipynb_ wyczyszczony zestaw danych i podzieliliśmy go na ramki danych X i y, gotowe do procesu budowania modelu.
## Mapa klasyfikacji
Wcześniej nauczyłeś się o różnych opcjach klasyfikacji danych, korzystając z ściągi Microsoftu. Scikit-learn oferuje podobną, ale bardziej szczegółową ściągę, która może pomóc jeszcze bardziej zawęzić wybór estymatorów (inaczej klasyfikatorów):
Wcześniej poznałeś różne opcje klasyfikacji danych za pomocą ściągawki Microsoftu. Scikit-learn oferuje podobną, ale bardziej szczegółową ściągawkę, która może jeszcze bardziej zawęzić wybór twoich estymatorów (inna nazwa dla klasyfikatorów):
![Mapa ML ze Scikit-learn](../../../../4-Classification/3-Classifiers-2/images/map.png)
> Wskazówka: [odwiedź tę mapę online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) i klikaj po ścieżkach, aby przeczytać dokumentację.
![ML Map from Scikit-learn](../../../../translated_images/pl/map.e963a6a51349425a.webp)
> Wskazówka: [odwiedź tę mapę online](https://scikit-learn.org/stable/tutorial/machine_learning_map/) i klikaj po ścieżce, aby czytać dokumentację.
### Plan
Ta mapa jest bardzo pomocna, gdy masz jasne zrozumienie swoich danych, ponieważ możesz „przechodzić” jej ścieżkami, aby podjąć decyzję:
Ta mapa jest bardzo pomocna, gdy masz jasne zrozumienie swoich danych, ponieważ możesz 'wędrować' jej ścieżkami do decyzji:
- Mamy >50 próbek
- Chcemy przewidzieć kategorię
- Mamy dane z etykietami
- Mamy mniej niż 100 tys. próbek
- Mamy dane oznaczone
- Mamy mniej niż 100 tysięcy próbek
- ✨ Możemy wybrać Linear SVC
- Jeśli to nie zadziała, ponieważ mamy dane numeryczne:
- Możemy spróbować ✨ KNeighbors Classifier
- Jeśli to nie zadziała, ponieważ mamy dane numeryczne
- Możemy spróbować ✨ KNeighbors Classifier
- Jeśli to nie zadziała, spróbuj ✨ SVC i ✨ Ensemble Classifiers
To bardzo pomocna ścieżka do naśladowania.
To bardzo pomocna ścieżka do podążania.
## Ćwiczenie - podziel dane
## Ćwiczenie - podział danych
Podążając tą ścieżką, powinniśmy zacząć od zaimportowania potrzebnych bibliotek.
Podążając tą ścieżką, powinniśmy zacząć od zaimportowania kilku potrzebnych bibliotek.
1. Zaimportuj potrzebne biblioteki:
@ -50,31 +50,31 @@ Podążając tą ścieżką, powinniśmy zacząć od zaimportowania potrzebnych
import numpy as np
```
1. Podziel dane na zestawy treningowe i testowe:
1. Podziel dane na treningowe i testowe:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Klasyfikator Linear SVC
Support-Vector Clustering (SVC) to metoda z rodziny maszyn wektorów nośnych (Support-Vector Machines) w technikach uczenia maszynowego (więcej o nich poniżej). W tej metodzie możesz wybrać „jądro” (kernel), aby zdecydować, jak grupować etykiety. Parametr 'C' odnosi się do 'regularyzacji', która kontroluje wpływ parametrów. Jądro może być jednym z [kilku](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); tutaj ustawiamy je na 'linear', aby wykorzystać liniowy SVC. Domyślnie prawdopodobieństwo jest ustawione na 'false'; tutaj ustawiamy je na 'true', aby uzyskać oszacowania prawdopodobieństwa. Parametr random state ustawiamy na '0', aby przetasować dane i uzyskać prawdopodobieństwa.
Support-Vector clustering (SVC) jest techniką z rodziny maszyn wektorów nośnych (ang. Support-Vector machines), o których dowiesz się więcej poniżej. W tej metodzie możesz wybrać 'jądro' decydujące, jak grupować etykiety. Parametr 'C' odnosi się do 'regularizacji', która reguluje wpływ parametrów. Jądro może być jednym z [wielu](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC); tutaj ustawiamy je na 'linear', aby wykorzystać liniowy SVC. Parametr probability domyślnie jest 'false'; tutaj ustawiamy na 'true', aby zebrać oszacowania prawdopodobieństwa. Ustawiamy stan losowy na '0', aby przetasować dane, co pozwala otrzymać prawdopodobieństwa.
### Ćwiczenie - zastosuj Linear SVC
Zacznij od stworzenia tablicy klasyfikatorów. Będziesz stopniowo dodawać do tej tablicy, testując różne metody.
Zacznij od stworzenia tablicy klasyfikatorów. Będziesz ją stopniowo uzupełniać podczas testów.
1. Zacznij od Linear SVC:
```python
C = 10
# Create different classifiers.
# Utwórz różne klasyfikatory.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Wytrenuj model, używając Linear SVC, i wyświetl raport:
2. Naucz model przy użyciu Linear SVC i wydrukuj raport:
```python
n_classifiers = len(classifiers)
@ -107,19 +107,19 @@ Zacznij od stworzenia tablicy klasyfikatorów. Będziesz stopniowo dodawać do t
## Klasyfikator K-Neighbors
K-Neighbors należy do rodziny metod ML „sąsiadów”, które mogą być używane zarówno w uczeniu nadzorowanym, jak i nienadzorowanym. W tej metodzie tworzona jest z góry określona liczba punktów, a dane są grupowane wokół tych punktów, aby można było przewidzieć ogólne etykiety dla danych.
K-Neighbors należy do rodziny metod "sąsiadów", które można stosować zarówno w uczeniu nadzorowanym, jak i nienadzorowanym. W tej metodzie tworzona jest zdefiniowana liczba punktów, a dane są grupowane wokół tych punktów, tak aby można było przewidzieć uogólnione etykiety dla danych.
### Ćwiczenie - zastosuj klasyfikator K-Neighbors
Poprzedni klasyfikator był dobry i dobrze działał z danymi, ale może uda się uzyskać lepszą dokładność. Spróbuj klasyfikatora K-Neighbors.
Poprzedni klasyfikator działał dobrze z danymi, ale może uzyskamy lepszą dokładność. Spróbuj klasyfikatora K-Neighbors.
1. Dodaj linię do swojej tablicy klasyfikatorów (dodaj przecinek po elemencie Linear SVC):
1. Dodaj linię do tablicy klasyfikatorów (dodaj przecinek po elemencie Linear SVC):
```python
'KNN classifier': KNeighborsClassifier(C),
```
Wynik jest trochę gorszy:
Wynik jest nieco gorszy:
```output
Accuracy (train) for KNN classifier: 73.8%
@ -140,11 +140,11 @@ Poprzedni klasyfikator był dobry i dobrze działał z danymi, ale może uda si
## Klasyfikator Support Vector
Klasyfikatory Support-Vector należą do rodziny metod ML [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine), które są używane do zadań klasyfikacji i regresji. SVM „mapuje przykłady treningowe na punkty w przestrzeni”, aby zmaksymalizować odległość między dwiema kategoriami. Kolejne dane są mapowane w tej przestrzeni, aby przewidzieć ich kategorię.
Klasyfikatory support-vector są częścią rodziny metod [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) stosowanych do zadań klasyfikacji i regresji. SVM „mapuje przykłady treningowe na punkty w przestrzeni”, aby zmaksymalizować odległość między dwiema kategoriami. Kolejne dane są mapowane do tej przestrzeni, aby można było przewidzieć ich kategorię.
### Ćwiczenie - zastosuj klasyfikator Support Vector
### Ćwiczenie - zastosuj Support Vector Classifier
Spróbujmy uzyskać nieco lepszą dokładność za pomocą klasyfikatora Support Vector.
Spróbujmy uzyskać nieco lepszą dokładność za pomocą Support Vector Classifier.
1. Dodaj przecinek po elemencie K-Neighbors, a następnie dodaj tę linię:
@ -171,9 +171,9 @@ Spróbujmy uzyskać nieco lepszą dokładność za pomocą klasyfikatora Support
✅ Dowiedz się więcej o [Support-Vectors](https://scikit-learn.org/stable/modules/svm.html#svm)
## Klasyfikatory zespołowe (Ensemble Classifiers)
## Klasyfikatory zespołowe (Ensemble)
Podążajmy ścieżką do samego końca, mimo że poprzedni test był całkiem dobry. Wypróbujmy kilka klasyfikatorów zespołowych, w szczególności Random Forest i AdaBoost:
Podążmy ścieżką aż do końca, chociaż poprzedni test był całkiem dobry. Spróbujmy kilku 'klasyfikatorów zespołowych', w szczególności Random Forest i AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
@ -210,31 +210,33 @@ Accuracy (train) for ADA: 72.4%
weighted avg 0.73 0.72 0.72 1199
```
✅ Dowiedz się więcej o [Klasyfikatorach zespołowych](https://scikit-learn.org/stable/modules/ensemble.html)
✅ Dowiedz się o [Klasyfikatorach zespołowych](https://scikit-learn.org/stable/modules/ensemble.html)
Ta metoda uczenia maszynowego „łączy przewidywania kilku podstawowych estymatorów”, aby poprawić jakość modelu. W naszym przykładzie użyliśmy Random Trees i AdaBoost.
Ta metoda uczenia maszynowego „łączy predykcje kilku bazowych estymatorów”, aby poprawić jakość modelu. W naszym przykładzie użyliśmy drzew losowych i AdaBoost.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metoda uśredniania, buduje „las” „drzew decyzyjnych” z elementami losowości, aby uniknąć przeuczenia. Parametr n_estimators określa liczbę drzew.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), metoda uśredniająca, buduje 'las' 'drzew decyzyjnych' z elementem losowości, aby uniknąć przeuczenia. Parametr n_estimators określa liczbę drzew.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) dopasowuje klasyfikator do zbioru danych, a następnie dopasowuje kopie tego klasyfikatora do tego samego zbioru danych. Skupia się na wagach błędnie sklasyfikowanych elementów i dostosowuje dopasowanie kolejnego klasyfikatora, aby je poprawić.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) dopasowuje klasyfikator do zestawu danych, a następnie dopasowuje kopie tego klasyfikatora do tego samego zestawu. Skupia się na wagach błędnie sklasyfikowanych elementów i dostosowuje dopasowanie dla kolejnego klasyfikatora, aby to poprawić.
---
## 🚀 Wyzwanie
## 🚀Wyzwanie
Każda z tych technik ma dużą liczbę parametrów, które możesz dostosować. Zbadaj domyślne parametry każdej z nich i zastanów się, co zmiana tych parametrów oznaczałaby dla jakości modelu.
Każda z tych technik ma dużą liczbę parametrów, które możesz dostosować. Zbadaj domyślne parametry każdego z nich i zastanów się, co zmiana tych parametrów mogłaby oznaczać dla jakości modelu.
## [Quiz po wykładzie](https://ff-quizzes.netlify.app/en/ml/)
## Przegląd i samodzielna nauka
## Powtórka i samodzielna nauka
W tych lekcjach pojawia się wiele żargonu, więc poświęć chwilę, aby przejrzeć [tę listę](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) przydatnej terminologii!
W tych lekcjach jest dużo żargonu, więc poświęć chwilę na przegląd [tej listy](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) przydatnej terminologii!
## Zadanie
## Zadanie
[Zabawa z parametrami](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zastrzeżenie**:
Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o krytycznym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
Ten dokument został przetłumaczony przy użyciu automatycznej usługi tłumaczeniowej [Co-op Translator](https://github.com/Azure/co-op-translator). Mimo że dążymy do dokładności, prosimy mieć na uwadze, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku macierzystym należy uznawać za źródło autorytatywne. W przypadku krytycznych informacji zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Budowa modelu klasyfikacji\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Zastrzeżenie**: \nTen dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby zapewnić poprawność tłumaczenia, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Zastrzeżenie**: \nNiniejszy dokument został przetłumaczony przy użyciu usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mimo że dążymy do jak największej dokładności, prosimy mieć na uwadze, że tłumaczenia automatyczne mogą zawierać błędy lub niedokładności. Oryginalny dokument w języku źródłowym powinien być uznawany za źródło autorytatywne. W przypadku ważnych informacji zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-03T20:27:14+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "pl"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Buduj więcej modeli klasyfikacyjnych\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,8 +116,8 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Zastrzeżenie**: \nTen dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Zastrzeżenie**:\nNiniejszy dokument został przetłumaczony przy użyciu automatycznej usługi tłumaczeniowej [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy starań, aby tłumaczenie było jak najbardziej precyzyjne, należy mieć na uwadze, że automatyczne przekłady mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym należy uznać za wersję autorytatywną. W przypadku informacji o krytycznym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-03T20:27:35+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "pl"
}
},
"nbformat": 4,

@ -10,160 +10,170 @@
### 🌐 Wielojęzyczne wsparcie
#### Wsparcie za pomocą GitHub Action (Automatyczne i Zawsze Aktualne)
#### Wsparcie przez GitHub Action (Automatyczne i zawsze aktualne)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](./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)
> **Wolisz klonować lokalnie?**
> To repozytorium zawiera ponad 50 tłumaczeń językowych, co znacznie zwiększa rozmiar do pobrania. Aby sklonować bez tłumaczeń, użyj sparse checkout:
>
> To repozytorium zawiera tłumaczenia na ponad 50 języków, co znacznie zwiększa rozmiar pobierania. Aby sklonować bez tłumaczeń, użyj sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Zapewnia to wszystko, czego potrzebujesz, aby ukończyć kurs, przy znacznie szybszym pobieraniu.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> To daje wszystko, czego potrzebujesz, aby ukończyć kurs, z dużo szybszym pobieraniem.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Dołącz do naszej społeczności
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Prowadzimy serię „Learn with AI” na Discordzie, dowiedz się więcej i dołącz do nas na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18 do 30 września 2025. Otrzymasz wskazówki i triki dotyczące używania GitHub Copilot do Data Science.
Prowadzimy serię Discord „Learn with AI”, dowiedz się więcej i dołącz do nas na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18 do 30 września 2025. Otrzymasz wskazówki i triki korzystania z GitHub Copilot w Data Science.
![Learn with AI series](../../translated_images/pl/3.9b58fd8d6c373c20.webp)
# Uczenie maszynowe dla początkujących program nauczania
# Machine Learning dla początkujących - Program nauczania
> 🌍 Podróżuj po świecie, poznając uczenie maszynowe poprzez kultury świata 🌍
> 🌍 Podróżuj po świecie, eksplorując uczenie maszynowe poprzez kultury świata 🌍
Cloud Advocates w Microsoft z przyjemnością oferują 12-tygodniowy program składający się z 26 lekcji o temacie **Uczenie maszynowe**. W tym programie nauczysz się tego, co czasem nazywa się **klasycznym uczeniem maszynowym**, używając głównie biblioteki Scikit-learn, unikając uczenia głębokiego, które jest omówione w naszym [programie „AI dla początkujących”](https://aka.ms/ai4beginners). Połącz te lekcje z naszym ['Data Science dla początkujących'](https://aka.ms/ds4beginners)!
Cloud Advocates z Microsoft mają przyjemność zaoferować 12-tygodniowy program nauczania składający się z 26 lekcji na temat **uczenia maszynowego**. W tym programie nauczysz się o tym, co czasem nazywa się **klasycznym uczeniem maszynowym**, używając głównie biblioteki Scikit-learn i unikając głębokiego uczenia, które jest objęte naszym [programem AI dla początkujących](https://aka.ms/ai4beginners). Połącz te lekcje z naszym ['Data Science dla początkujących'](https://aka.ms/ds4beginners)!
Podróżuj z nami po świecie, stosując te klasyczne techniki do danych z różnych regionów. Każda lekcja zawiera quizy przed i po lekcji, pisemne instrukcje do wykonania lekcji, rozwiązanie, zadanie i więcej. Nasza projekto-orientowana pedagogika pozwala ci uczyć się poprzez tworzenie, co jest sprawdzoną metodą na skuteczne przyswajanie nowych umiejętności.
Podróżuj z nami po świecie, stosując klasyczne techniki do danych z wielu regionów świata. Każda lekcja zawiera quizy przed- i po-lekcji, pisemne instrukcje do wykonania lekcji, rozwiązanie, zadanie oraz więcej. Nasza metoda oparta na projektach pozwala uczyć się przez tworzenie, co jest sprawdzonym sposobem na utrwalenie nowych umiejętności.
**✍️ Serdeczne podziękowania dla naszych autorów** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu i Amy Boyd
**🎨 Podziękowania również dla naszych ilustratorów** Tomomi Imura, Dasani Madipalli i Jen Looper
**🎨 Podziękowania również dla naszych ilustratorów** Tomomi Imura, Dasani Madipalli oraz Jen Looper
**🙏 Szczególne podziękowania 🙏 dla naszych autorów, recenzentów i współtwórców ze społeczności Microsoft Student Ambassador**, zwłaszcza Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila i Snigdha Agarwal
**🙏 Specjalne podziękowania 🙏 dla naszych autorów, recenzentów i współtwórców treści Microsoft Student Ambassador**, w szczególności Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila oraz Snigdha Agarwal
**🤩 Dodatkowa wdzięczność dla Microsoft Student Ambassadors Erica Wanjau, Jasleen Sondhi i Vidushi Gupta za nasze lekcje R!**
**🤩 Dodatkowe podziękowania dla Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi i Vidushi Gupta za nasze lekcje R!**
# Pierwsze kroki
# Rozpoczęcie
Wykonaj następujące kroki:
1. **Wykonaj fork repozytorium**: Kliknij przycisk „Fork” w prawym górnym rogu tej strony.
2. **Sklonuj repozytorium**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
Postępuj według tych kroków:
1. **Rozgałęź repozytorium**: Kliknij przycisk „Fork” w prawym górnym rogu tej strony.
2. **Sklonuj repozytorium**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [znajdź wszystkie dodatkowe zasoby do tego kursu w naszej kolekcji Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Potrzebujesz pomocy?** Sprawdź nasz [Przewodnik rozwiązywania problemów](TROUBLESHOOTING.md) z rozwiązaniami typowych problemów przy instalacji, konfiguracji i uruchamianiu lekcji.
> 🔧 **Potrzebujesz pomocy?** Sprawdź nasz [Przewodnik rozwiązywania problemów](TROUBLESHOOTING.md) z rozwiązaniami najczęstszych problemów z instalacją, konfiguracją i uruchamianiem lekcji.
**[Studenci](https://aka.ms/student-page)**, aby korzystać z tego programu, wykonaj fork całego repozytorium na własne konto GitHub i wykonuj ćwiczenia samodzielnie lub w grupie:
**[Uczniowie](https://aka.ms/student-page)**, aby korzystać z tego programu, rozgałęź całe repozytorium na swoje konto GitHub i wykonuj ćwiczenia samodzielnie lub w grupie:
- Zacznij od quizu przed wykładem.
- Przeczytaj wykład i wykonaj zadania, zatrzymując się i zastanawiając nad każdym sprawdzeniem wiedzy.
- Staraj się tworzyć projekty rozumiejąc lekcje, a nie tylko uruchamiając gotowy kod; jednak kod jest dostępny w folderach `/solution` w każdej lekcji projektowej.
- Podejdź do quizu po wykładzie.
- Wykonaj wyzwanie.
- Wykonaj zadanie.
- Po ukończeniu grupy lekcji odwiedź [Tablicę Dyskusyjną](https://github.com/microsoft/ML-For-Beginners/discussions) i „ucząc się na głos” wypełnij odpowiednią rubrykę PAT. 'PAT' to narzędzie oceny postępów, które wypełniasz, aby pogłębić naukę. Możesz też reagować na PAT innych, abyśmy mogli uczyć się razem.
- Zacznij od quizu przed wykładem.
- Przeczytaj wykład i wykonaj aktywności, zatrzymując się i zastanawiając przy każdym sprawdzeniu wiedzy.
- Staraj się tworzyć projekty poprzez zrozumienie lekcji, zamiast uruchamiać kod z rozwiązania; jednak kod jest dostępny w folderach `/solution` w każdej lekcji zorientowanej na projekt.
- Rozwiąż quiz po wykładzie.
- Wykonaj wyzwanie.
- Wykonaj zadanie.
- Po ukończeniu grupy lekcji odwiedź [Tablicę dyskusji](https://github.com/microsoft/ML-For-Beginners/discussions) i „ucz się na głos”, wypełniając odpowiednią rubrykę PAT. „PAT” to Narzędzie Oceny Postępu, które wypełniasz, by pogłębić naukę. Możesz też reagować na inne PAT-y, abyśmy mogli uczyć się razem.
> Aby dalej się uczyć, polecamy kontynuowanie tych modułów i ścieżek nauki na [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
> Do dalszej nauki zalecamy wybrane [moduły i ścieżki nauki Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott).
**Nauczyciele**, zamieściliśmy [kilka sugestii](for-teachers.md) jak korzystać z tego programu.
**Nauczyciele**, przygotowaliśmy [kilka sugestii](for-teachers.md), jak korzystać z tego programu.
---
## Przewodniki wideo
## Wideoprzewodniki
Niektóre lekcje dostępne są w formie krótkiego filmu. Możesz znaleźć wszystkie wbudowane w lekcje lub na [playliście ML for Beginners na kanale Microsoft Developer na YouTube](https://aka.ms/ml-beginners-videos) klikając obrazek poniżej.
Niektóre lekcje dostępne są w formie krótkich filmów. Znajdziesz je osadzone bezpośrednio w lekcjach lub na [playliście ML dla początkujących na kanale Microsoft Developer na YouTube](https://aka.ms/ml-beginners-videos) przez kliknięcie obrazka poniżej.
[![ML for beginners banner](../../translated_images/pl/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## Poznaj zespół
## Poznaj Zespół
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif autorstwa** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Kliknij powyższy obrazek, aby obejrzeć film o projekcie i jego twórcach!
> 🎥 Kliknij powyższy obraz, aby zobaczyć wideo o projekcie i osobach, które go stworzyły!
---
## Pedagogika
Podczas budowania tego programu wybraliśmy dwie zasady pedagogiczne: zapewnienie, że jest on praktyczny, **oparty na projektach** oraz że zawiera **częste quizy**. Ponadto program ma wspólny **motyw przewodni**, który nadaje mu spójność.
W trakcie tworzenia tego programu kierowaliśmy się dwoma zasadami pedagogicznymi: zapewnieniem że jest on praktyczny i oparty na **projektach** oraz że zawiera **częste quizy**. Ponadto program ma wspólny **motyw przewodni**, by nadać mu spójność.
Zapewnienie zgodności materiału z projektami sprawia, że proces staje się bardziej angażujący dla studentów, a przyswajanie koncepcji jest wzmocnione. Dodatkowo lekki quiz przed zajęciami nastawia ucznia na naukę tematu, a drugi po zajęciach zapewnia dalsze utrwalenie wiedzy. Program został zaprojektowany tak, aby był elastyczny i przyjemny, można go realizować w całości lub w częściach. Projekty zaczynają się od prostych i stają się coraz bardziej złożone do końca 12-tygodniowego cyklu. Program zawiera także posłowie dotyczące zastosowań ML w praktyce, które można wykorzystać jako dodatek lub bazę do dyskusji.
Zapewnienie zgodności treści z projektami sprawia, że proces jest angażujący dla uczniów, a zapamiętywanie pojęć zostaje zwiększone. Dodatkowo quiz o niskiej stawce przed zajęciami ustawia intencję ucznia na naukę tematu, a drugi quiz po zajęciach zapewnia dalsze utrwalenie. Program ten jest zaprojektowany jako elastyczny i zabawny, i może być realizowany w całości lub częściowo. Projekty zaczynają się od małych, a kończą na coraz bardziej złożonych pod koniec 12-tygodniowego cyklu. Program zawiera również posłowie dotyczące rzeczywistych zastosowań ML, które można wykorzystać jako dodatkową pracę lub bazę do dyskusji.
> Znajdź nasze wytyczne: [Kodeks postępowania](CODE_OF_CONDUCT.md), [Wkład](CONTRIBUTING.md), [Tłumaczenia](TRANSLATIONS.md) i [Rozwiązywanie problemów](TROUBLESHOOTING.md). Czekamy na twoją konstruktywną opinię!
> Znajdź nasze [Zasady postępowania](CODE_OF_CONDUCT.md), [Wkład](CONTRIBUTING.md), [Tłumaczenia](TRANSLATIONS.md) i [Rozwiązywanie problemów](TROUBLESHOOTING.md). Chętnie przyjmujemy Twoje konstruktywne opinie!
## Każda lekcja zawiera
- opcjonalne notatki graficzne
- opcjonalne dodatkowe wideo
- przewodnik wideo (niektóre lekcje)
- [quiz rozgrzewkowy przed wykładem](https://ff-quizzes.netlify.app/en/ml/)
- pisemną lekcję
- dla lekcji projektowych - przewodnik krok po kroku, jak stworzyć projekt
- sprawdzenia wiedzy
- wyzwanie
- uzupełniającą lekturę
- zadanie domowe
- opcjonalną notatkę graficzną
- opcjonalne wideo uzupełniające
- wideoprzewodnik (tylko niektóre lekcje)
- [quiz rozgrzewkowy przed wykładem](https://ff-quizzes.netlify.app/en/ml/)
- pisemną lekcję
- dla lekcji opartych na projektach, przewodniki krok po kroku jak zbudować projekt
- sprawdzian wiedzy
- wyzwanie
- dodatkowe materiały do czytania
- zadanie
- [quiz po wykładzie](https://ff-quizzes.netlify.app/en/ml/)
> **Uwagi o językach**: Te lekcje są głównie napisane w Pythonie, ale wiele dostępnych jest również w R. Aby ukończyć lekcję w R, przejdź do folderu `/solution` i znajdź lekcje R. Mają one rozszerzenie .rmd, które oznacza plik **R Markdown**, który można prosto zdefiniować jako osadzenie `fragmentów kodu` (w R lub innych językach) oraz `nagłówka YAML` (który wskazuje, jak formatuje się wyniki, np. PDF) w `dokumencie Markdown`. Służy on jako przykład ram autorskich dla data science, ponieważ pozwala łączyć kod, jego wyniki oraz Twoje komentarze, pisząc je w Markdown. Ponadto dokumenty R Markdown można renderować do formatów takich jak PDF, HTML lub Word.
> **Notatka o quizach**: Wszystkie quizy znajdują się w [folderze Quiz App](../../quiz-app), łącznie 52 quizy po trzy pytania każdy. Są one powiązane z lekcjami, ale aplikację quizową można uruchomić lokalnie; postępuj zgodnie z instrukcjami w folderze `quiz-app`, aby uruchomić ją lokalnie lub wdrożyć na Azure.
| Numer lekcji | Temat | Grupa lekcji | Cele nauki | Powiązana lekcja | Autorzy |
| :-----------: | :------------------------------------------------------------: | :----------------------------------------------: | --------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | Wprowadzenie do uczenia maszynowego | [Wprowadzenie](1-Introduction/README.md) | Poznaj podstawowe pojęcia związane z uczeniem maszynowym | [Lekcja](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historia uczenia maszynowego | [Wprowadzenie](1-Introduction/README.md) | Poznaj historię stojącą za tą dziedziną | [Lekcja](1-Introduction/2-history-of-ML/README.md) | Jen i Amy |
| 03 | Sprawiedliwość i uczenie maszynowe | [Wprowadzenie](1-Introduction/README.md) | Jakie są ważne kwestie filozoficzne dotyczące sprawiedliwości, które studenci powinni rozważyć budując i stosując modele ML? | [Lekcja](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniki uczenia maszynowego | [Wprowadzenie](1-Introduction/README.md) | Jakie techniki stosują badacze uczenia maszynowego do tworzenia modeli ML? | [Lekcja](1-Introduction/4-techniques-of-ML/README.md) | Chris i Jen |
| 05 | Wprowadzenie do regresji | [Regresja](2-Regression/README.md) | Zacznij pracę z Pythonem i Scikit-learn przy modelach regresji | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Północnoamerykańskie ceny dyni 🎃 | [Regresja](2-Regression/README.md) | Wizualizuj i oczyszczaj dane przygotowując je do ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Północnoamerykańskie ceny dyni 🎃 | [Regresja](2-Regression/README.md) | Buduj modele regresji liniowej i wielomianowej | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen i Dmitry • Eric Wanjau |
| 08 | Północnoamerykańskie ceny dyni 🎃 | [Regresja](2-Regression/README.md) | Buduj model regresji logistycznej | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikacja webowa 🔌 | [Aplikacja webowa](3-Web-App/README.md) | Zbuduj aplikację webową korzystającą z Twojego wytrenowanego modelu | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Wprowadzenie do klasyfikacji | [Klasyfikacja](4-Classification/README.md) | Oczyść, przygotuj i wizualizuj dane; wprowadzenie do klasyfikacji | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen i Cassie • Eric Wanjau |
| 11 | Pyszne kuchnie Azji i Indii 🍜 | [Klasyfikacja](4-Classification/README.md) | Wprowadzenie do klasyfikatorów | [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 | Pyszne kuchnie Azji i Indii 🍜 | [Klasyfikacja](4-Classification/README.md) | Więcej klasyfikatorów | [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 | Pyszne kuchnie Azji i Indii 🍜 | [Klasyfikacja](4-Classification/README.md) | Zbuduj rekomendującą aplikację webową używając swojego modelu | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Wprowadzenie do klasteryzacji | [Klasteryzacja](5-Clustering/README.md) | Oczyść, przygotuj i wizualizuj swoje dane; wprowadzenie do klasteryzacji | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Poznawanie nigeryjskich gustów muzycznych 🎧 | [Klasteryzacja](5-Clustering/README.md) | Poznaj metodę klasteryzacji K-średnich | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Wprowadzenie do przetwarzania języka naturalnego ☕️ | [Przetwarzanie języka naturalnego](6-NLP/README.md) | Poznaj podstawy NLP budując prostego bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Powszechne zadania NLP ☕️ | [Przetwarzanie języka naturalnego](6-NLP/README.md) | Pogłęb swoją wiedzę o NLP rozumiejąc powszechne zadania wymagane przy pracy ze strukturą języka | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tłumaczenie i analiza sentymentu ♥️ | [Przetwarzanie języka naturalnego](6-NLP/README.md) | Tłumaczenie i analiza sentymentu z Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantyczne hotele Europy ♥️ | [Przetwarzanie języka naturalnego](6-NLP/README.md) | Analiza sentymentu na podstawie recenzji hoteli 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantyczne hotele Europy ♥️ | [Przetwarzanie języka naturalnego](6-NLP/README.md) | Analiza sentymentu na podstawie recenzji hoteli 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Wprowadzenie do prognozowania szeregów czasowych | [Szeregi czasowe](7-TimeSeries/README.md) | Wprowadzenie do prognozowania szeregów czasowych | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Zużycie energii na świecie ⚡️ - prognozowanie szeregów czasowych z ARIMA | [Szeregi czasowe](7-TimeSeries/README.md) | Prognozowanie szeregów czasowych z użyciem ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Zużycie energii na świecie ⚡️ - prognozowanie szeregów czasowych z SVR | [Szeregi czasowe](7-TimeSeries/README.md) | Prognozowanie szeregów czasowych za pomocą regresji wektorów nośnych | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Wprowadzenie do uczenia ze wzmocnieniem | [Uczenie ze wzmocnieniem](8-Reinforcement/README.md) | Wprowadzenie do uczenia ze wzmocnieniem z Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Pomóż Peterowi unikać wilka! 🐺 | [Uczenie ze wzmocnieniem](8-Reinforcement/README.md) | Gym dla uczenia ze wzmocnieniem | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | Scenariusze i zastosowania ML w rzeczywistym świecie | [ML w praktyce](9-Real-World/README.md) | Ciekawe i pouczające zastosowania klasycznego ML w praktyce | [Lekcja](9-Real-World/1-Applications/README.md) | Zespół |
| Postscript | Debugowanie modeli ML z użyciem panelu RAI | [ML w praktyce](9-Real-World/README.md) | Debugowanie modeli w uczeniu maszynowym z wykorzystaniem komponentów panelu Responsible AI | [Lekcja](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> **Informacja o językach**: Te lekcje są napisane głównie w Pythonie, ale wiele jest również dostępnych w R. Aby ukończyć lekcję w R, przejdź do folderu `/solution` i poszukaj lekcji w R. Zawierają one rozszerzenie .rmd, które reprezentuje plik **R Markdown**, który można po prostu zdefiniować jako osadzenie `fragmentów kodu` (R lub innych języków) oraz `nagłówka YAML` (który wskazuje, jak formatować wyniki, np. PDF) w `dokumencie Markdown`. W ten sposób służy jako wzorcowe środowisko autorskie dla nauki o danych, ponieważ pozwala łączyć Twój kod, jego wyniki i przemyślenia, umożliwiając ich zapisywanie w Markdown. Ponadto dokumenty R Markdown mogą być renderowane do formatów wyjściowych takich jak PDF, HTML lub Word.
> **Informacja o quizach**: Wszystkie quizy znajdują się w folderze [Quiz App folder](../../quiz-app), łącznie 52 quizy po trzy pytania każdy. Są one powiązane z lekcjami, ale aplikację quizową można uruchomić lokalnie; postępuj zgodnie z instrukcjami w folderze `quiz-app`, aby hostować lokalnie lub wdrożyć na Azure.
| Numer lekcji | Temat | Grupa lekcji | Cele nauki | Powiązana lekcja | Autor |
| :----------: | :------------------------------------------------------------: | :-----------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| 01 | Wprowadzenie do uczenia maszynowego | [Introduction](1-Introduction/README.md) | Poznaj podstawowe koncepcje uczenia maszynowego | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Historia uczenia maszynowego | [Introduction](1-Introduction/README.md) | Poznaj historię stojącą za tą dziedziną | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen i Amy |
| 03 | Sprawiedliwość a uczenie maszynowe | [Introduction](1-Introduction/README.md) | Jakie są ważne kwestie filozoficzne dotyczące sprawiedliwości, które powinni rozważyć uczniowie przy budowaniu i stosowaniu modeli ML? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Techniki uczenia maszynowego | [Introduction](1-Introduction/README.md) | Jakich technik używają badacze ML do budowania modeli ML? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris i Jen |
| 05 | Wprowadzenie do regresji | [Regression](2-Regression/README.md) | Zacznij z Pythonem i Scikit-learn dla modeli regresji | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Ceny dyni w Ameryce Północnej 🎃 | [Regression](2-Regression/README.md) | Wizualizuj i czyść dane przygotowując je do ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Ceny dyni w Ameryce Północnej 🎃 | [Regression](2-Regression/README.md) | Buduj liniowe i wielomianowe modele regresji | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen i Dmitry • Eric Wanjau |
| 08 | Ceny dyni w Ameryce Północnej 🎃 | [Regression](2-Regression/README.md) | Buduj model regresji logistycznej | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Aplikacja Webowa 🔌 | [Web App](3-Web-App/README.md) | Zbuduj aplikację webową do wykorzystania wytrenowanego modelu | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Wprowadzenie do klasyfikacji | [Classification](4-Classification/README.md) | Czyść, przygotuj i wizualizuj dane; wprowadzenie do klasyfikacji | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen i Cassie • Eric Wanjau |
| 11 | Pyszne kuchnie azjatyckie i indyjskie 🍜 | [Classification](4-Classification/README.md) | Wprowadzenie do klasyfikatorów | [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 | Pyszne kuchnie azjatyckie i indyjskie 🍜 | [Classification](4-Classification/README.md) | Więcej klasyfikatorów | [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 | Pyszne kuchnie azjatyckie i indyjskie 🍜 | [Classification](4-Classification/README.md) | Zbuduj rekomendacyjną aplikację webową używając swojego modelu | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Wprowadzenie do klasteryzacji | [Clustering](5-Clustering/README.md) | Czyść, przygotuj i wizualizuj dane; wprowadzenie do klasteryzacji | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Eksploracja preferencji muzycznych Nigerii 🎧 | [Clustering](5-Clustering/README.md) | Poznaj metodę klasteryzacji K-średnich | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Wprowadzenie do przetwarzania języka naturalnego ☕️ | [Natural language processing](6-NLP/README.md) | Naucz się podstaw NLP budując prostego bota | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Popularne zadania NLP ☕️ | [Natural language processing](6-NLP/README.md) | Pogłęb swoją wiedzę o NLP poznając typowe zadania związane z analizą struktur językowych | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Tłumaczenie i analiza sentymentu ♥️ | [Natural language processing](6-NLP/README.md) | Tłumaczenie i analiza sentymentu na podstawie Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Romantyczne hotele w Europie ♥️ | [Natural language processing](6-NLP/README.md) | Analiza sentymentu na podstawie opinii o hotelach 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Romantyczne hotele w Europie ♥️ | [Natural language processing](6-NLP/README.md) | Analiza sentymentu na podstawie opinii o hotelach 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Wprowadzenie do prognozowania szeregów czasowych | [Time series](7-TimeSeries/README.md) | Wprowadzenie do prognozowania szeregów czasowych | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Zużycie energii na świecie ⚡️ - prognozowanie ARIMA | [Time series](7-TimeSeries/README.md) | Prognozowanie szeregów czasowych z ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Zużycie energii na świecie ⚡️ - prognozowanie SVR | [Time series](7-TimeSeries/README.md) | Prognozowanie szeregów czasowych za pomocą Regresora Wektorów Wspierających | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Wprowadzenie do uczenia ze wzmocnieniem | [Reinforcement learning](8-Reinforcement/README.md) | Wprowadzenie do uczenia ze wzmocnieniem z Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Pomóż Piotrowi uniknąć wilka! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Uczenie ze wzmocnieniem na platformie Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Posłowie | Scenariusze i zastosowania ML w praktyce | [ML in the Wild](9-Real-World/README.md) | Interesujące i pouczające realne zastosowania klasycznego uczenia maszynowego | [Lesson](9-Real-World/1-Applications/README.md) | Zespół |
| Posłowie | Debugowanie modeli ML przy użyciu pulpitu RAI | [ML in the Wild](9-Real-World/README.md) | Debugowanie modeli w uczeniu maszynowym przy wykorzystaniu komponentów pulpitu Responsible AI | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [znajdź wszystkie dodatkowe zasoby do tego kursu w naszej kolekcji Microsoft Learn](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Dostęp offline
Możesz uruchomić tę dokumentację offline korzystając z [Docsify](https://docsify.js.org/#/). Sklonuj to repozytorium, [zainstaluj Docsify](https://docsify.js.org/#/quickstart) na swoim komputerze lokalnym, a następnie w głównym folderze tego repozytorium wpisz `docsify serve`. Strona będzie dostępna na porcie 3000 na twoim localhost: `localhost:3000`.
Możesz korzystać z tej dokumentacji offline, używając [Docsify](https://docsify.js.org/#/). Rozgałęź to repozytorium, [zainstaluj Docsify](https://docsify.js.org/#/quickstart) na swoim lokalnym komputerze, a następnie w katalogu głównym tego repozytorium wpisz `docsify serve`. Strona zostanie udostępniona na porcie 3000 na localhost: `localhost:3000`.
## PDF-y
Znajdź pdf programu nauczania z linkami [tutaj](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
Pobierz pdf z programem nauczania z linkami [tutaj](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
## 🎒 Inne kursy
## 🎒 Inne kursy
Nasz zespół tworzy inne kursy! Sprawdź:
Nasz zespół tworzy także inne kursy! Sprawdź:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -180,8 +190,8 @@ Nasz zespół tworzy inne kursy! Sprawdź:
---
### Seria Generatywnej AI
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
### Seria Sztucznej Inteligencji Generatywnej
[![Generative AI dla początkujących](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
@ -189,35 +199,40 @@ Nasz zespół tworzy inne kursy! Sprawdź:
---
### Podstawowa nauka
[![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)
[![ML dla początkujących](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 dla początkujących](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 dla początkujących](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)
[![Cyberbezpieczeństwo dla początkujących](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 dla początkujących](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 dla początkujących](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 dla początkujących](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)
---
### Seria 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 dla parowego programowania 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 dla C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Uzyskiwanie pomocy
Jeśli utkniesz lub masz pytania dotyczące tworzenia aplikacji AI, dołącz do innych uczących się i doświadczonych programistów w dyskusjach o MCP. To wspierająca społeczność, gdzie pytania są mile widziane, a wiedza jest swobodnie dzielona.
Jeśli utkniesz lub masz pytania dotyczące tworzenia aplikacji AI. Dołącz do innych uczących się i doświadczonych programistów w dyskusjach o MCP. To wspierająca społeczność, w której pytania są mile widziane, a wiedza jest swobodnie dzielona.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Jeśli masz uwagi dotyczące produktu lub napotkasz błędy podczas tworzenia, odwiedź:
[![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)
## Dodatkowe wskazówki do nauki
- Przeglądaj notatniki po każdej lekcji, aby lepiej zrozumieć materiał.
- Ćwicz samodzielne wdrażanie algorytmów.
- Eksploruj rzeczywiste zestawy danych, wykorzystując poznane koncepcje.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zastrzeżenie**:
Niniejszy dokument został przetłumaczony z wykorzystaniem usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dążymy do dokładności, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym należy traktować jako źródło wiarygodne. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
**Informacja o wyłączeniu odpowiedzialności**:
Dokument ten został przetłumaczony przy użyciu usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mimo że staramy się zapewnić dokładność, prosimy mieć na uwadze, że tłumaczenia automatyczne mogą zawierać błędy lub niedokładności. Oryginalny dokument w języku źródłowym należy uważać za wiarygodne źródło informacji. W przypadku ważnych informacji zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -30,8 +30,8 @@
"language_code": "tr"
},
"1-Introduction/3-fairness/assignment.md": {
"original_hash": "dbda60e7b1fe5f18974e7858eff0004e",
"translation_date": "2025-09-06T07:55:28+00:00",
"original_hash": "c81d9affadb89d017d610eadeb6c84f9",
"translation_date": "2026-02-28T08:54:27+00:00",
"source_file": "1-Introduction/3-fairness/assignment.md",
"language_code": "tr"
},
@ -90,8 +90,8 @@
"language_code": "tr"
},
"2-Regression/3-Linear/README.md": {
"original_hash": "40e64f004f3cb50aa1d8661672d3cd92",
"translation_date": "2025-09-06T07:44:07+00:00",
"original_hash": "9a8359f1945bd3beccccb2b46592580e",
"translation_date": "2026-02-28T08:55:36+00:00",
"source_file": "2-Regression/3-Linear/README.md",
"language_code": "tr"
},
@ -186,8 +186,8 @@
"language_code": "tr"
},
"4-Classification/3-Classifiers-2/README.md": {
"original_hash": "49047911108adc49d605cddfb455749c",
"translation_date": "2025-09-06T08:00:12+00:00",
"original_hash": "d94438d71164b0ff68002812aed1a8b4",
"translation_date": "2026-02-28T08:56:00+00:00",
"source_file": "4-Classification/3-Classifiers-2/README.md",
"language_code": "tr"
},
@ -197,12 +197,24 @@
"source_file": "4-Classification/3-Classifiers-2/assignment.md",
"language_code": "tr"
},
"4-Classification/3-Classifiers-2/notebook.ipynb": {
"original_hash": "624ca6cf73d3548ff1b3059e413fa4cd",
"translation_date": "2026-02-28T08:46:25+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "tr"
},
"4-Classification/3-Classifiers-2/solution/Julia/README.md": {
"original_hash": "a39c15d63f3b2795ee2284a82b986b93",
"translation_date": "2025-09-06T08:00:38+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/Julia/README.md",
"language_code": "tr"
},
"4-Classification/3-Classifiers-2/solution/notebook.ipynb": {
"original_hash": "70f41fe4fd4253adb44cd9d291406e4f",
"translation_date": "2026-02-28T08:46:31+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "tr"
},
"4-Classification/4-Applied/README.md": {
"original_hash": "61bdec27ed2da8b098cd9065405d9bb0",
"translation_date": "2025-09-06T07:59:41+00:00",
@ -540,8 +552,8 @@
"language_code": "tr"
},
"README.md": {
"original_hash": "2f594ee136e3127a47f56d80055227bc",
"translation_date": "2026-02-06T08:15:50+00:00",
"original_hash": "3a0286e1c4858e79ff54f080dadc1426",
"translation_date": "2026-02-28T08:54:21+00:00",
"source_file": "README.md",
"language_code": "tr"
},

@ -2,15 +2,17 @@
## Talimatlar
Bu derste, "veri bilimcilerin AI sistemlerini analiz etmelerine ve iyileştirmelerine yardımcı olmak için açık kaynaklı, topluluk odaklı bir proje" olan Sorumlu AI Araç Kutusu hakkında bilgi edindiniz. Bu ödev için, RAI Toolbox'ın [notebooklarından](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/getting-started.ipynb) birini keşfedin ve bulgularınızı bir makale veya sunumda raporlayın.
Bu derste, veri bilimcilerin AI sistemlerini analiz etmelerine ve geliştirmelerine yardımcı olmak için "ık kaynaklı, topluluk odaklı bir proje" olan Sorumlu AI Araç Kutusu hakkında bilgi edindiniz. Bu ödev için, RAI Araç Kutusu'nun [defterlerinden](https://github.com/microsoft/responsible-ai-toolbox/blob/main/notebooks/responsibleaidashboard/tabular/getting-started.ipynb) birini inceleyin ve bulgularınızı bir makale veya sunum halinde rapor edin.
## Değerlendirme Ölçütleri
## Değerlendirme Ölçütü
| Kriterler | Örnek Niteliğinde | Yeterli | Geliştirme Gerekiyor |
| --------- | ----------------- | ------- | -------------------- |
| | Fairlearn sistemlerini, çalıştırılan notebook'u ve çalıştırma sonucunda çıkarılan sonuçları tartışan bir makale veya PowerPoint sunumu sunulmuştur | Sonuçlar olmadan bir makale sunulmuştur | Hiçbir makale sunulmamıştır |
| Kriterler | Örnek | Yeterli | Geliştirilmesi Gerekiyor |
| -------- | --------- | -------- | ----------------- |
| | Fairlearn sistemleri, çalıştırılan defter ve çalıştırmadan çıkarılan sonuçları tartışan bir makale veya powerpoint sunumu sunulur | Sonuçlar olmadan bir makale sunulur | Makale sunulmaz |
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Feragatname**:
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul edilmemektedir.
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek yanlış anlaşılmalardan veya yanlış yorumlamalardan sorumlu değiliz.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,124 +1,135 @@
# Scikit-learn ile regresyon modeli oluşturma: dört farklı regresyon yöntemi
# Scikit-learn kullanarak regresyon modeli oluşturma: dört farklı regresyon yöntemi
![Doğrusal ve polinomial regresyon infografiği](../../../../2-Regression/3-Linear/images/linear-polynomial.png)
> İnfografik: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Ders öncesi sınav](https://ff-quizzes.netlify.app/en/ml/)
## Başlangıç Notu
> ### [Bu ders R dilinde de mevcut!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Giriş
Lineer regresyon, **sayısal bir değeri** tahmin etmek istediğimizde kullanılır (örneğin, ev fiyatı, sıcaklık veya satışlar).
Girdi özellikleri ile çıktı arasındaki ilişkiyi en iyi temsil eden doğruyu bulmakla çalışır.
Şimdiye kadar, bu derste kullanacağımız kabak fiyatlandırma veri setinden toplanan örnek verilerle regresyonun ne olduğunu keşfettiniz. Ayrıca bunu Matplotlib kullanarak görselleştirdiniz.
Bu derste, daha ileri regresyon tekniklerini keşfetmeden önce kavramı anlamaya odaklanıyoruz.
![Lineer ve polinom regresyon bilgigramı](../../../../translated_images/tr/linear-polynomial.5523c7cb6576ccab.webp)
> Bilgigram: [Dasani Madipalli](https://twitter.com/dasani_decoded)
## [Ön ders sınavı](https://ff-quizzes.netlify.app/en/ml/)
Artık ML için regresyonu daha derinlemesine incelemeye hazırsınız. Görselleştirme, verileri anlamlandırmanıza olanak tanırken, Makine Öğrenimi'nin gerçek gücü _modelleri eğitmekten_ gelir. Modeller, veri bağımlılıklarını otomatik olarak yakalamak için geçmiş verilere dayanarak eğitilir ve modelin daha önce görmediği yeni veriler için sonuçları tahmin etmenize olanak tanır.
> ### [Bu ders R dilinde de mevcut!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html)
### Giriş
Bu derste, regresyonun iki türü hakkında daha fazla bilgi edineceksiniz: _temel doğrusal regresyon_ ve _polinomial regresyon_, bu tekniklerin altında yatan bazı matematiksel kavramlarla birlikte. Bu modeller, farklı giriş verilerine bağlı olarak kabak fiyatlarını tahmin etmemize olanak tanıyacak.
Şimdiye kadar, balkabağı fiyatlandırma veri setinden toplanan örnek verilerle regresyonun ne olduğunu keşfettiniz. Ayrıca Matplotlib kullanarak bu veriyi görselleştirdiniz.
[![Başlangıç seviyesinde ML - Doğrusal Regresyonu Anlamak](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "Başlangıç seviyesinde ML - Doğrusal Regresyonu Anlamak")
Artık makine öğrenimi için regresyona daha derinlemesine dalmaya hazırsınız. Görselleştirme veriyi anlamanızı sağlarken, makine öğreniminin gerçek gücü _modellerin eğitilmesinden_ gelir. Modeller, geçmiş veriler üzerinde eğitilerek veri bağımlılıklarını otomatik olarak yakalar ve modelin daha önce görmediği yeni veriler için sonuçlar tahmin etmenizi sağlar.
> 🎥 Doğrusal regresyonun kısa bir video özeti için yukarıdaki görsele tıklayın.
Bu derste, _temel lineer regresyon_ ve _polinom regresyon_ olmak üzere iki regresyon türü ve bu tekniklerin altında yatan matematik hakkında daha fazla bilgi edineceksiniz. Bu modeller farklı girdi verilerine bağlı olarak balkabağı fiyatlarını tahmin etmemizi sağlayacak.
> Bu müfredat boyunca, matematik bilgisi minimum düzeyde varsayılmaktadır ve diğer alanlardan gelen öğrenciler için erişilebilir hale getirmeyi amaçlıyoruz. Bu nedenle, notlar, 🧮 matematiksel açıklamalar, diyagramlar ve diğer öğrenme araçlarına dikkat edin.
[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression")
> 🎥 Lineer regresyona kısa video genel bakışı için yukarıdaki görsele tıklayın.
> Bu eğitim programı boyunca matematik bilgisi asgari düzeyde varsayılmakta ve farklı alanlardan gelen öğrenciler için erişilebilir olmayı hedeflemektedir. Bu yüzden notlar, 🧮 alıntılar, diyagramlar ve diğer öğrenme araçlarına dikkat edin.
### Ön Koşul
Şimdiye kadar, incelediğimiz kabak verilerinin yapısına aşina olmalısınız. Bu dersin _notebook.ipynb_ dosyasında önceden yüklenmiş ve temizlenmiş olarak bulabilirsiniz. Dosyada, kabak fiyatı yeni bir veri çerçevesinde bushel başına gösterilmektedir. Bu not defterlerini Visual Studio Code'daki çekirdeklerde çalıştırabildiğinizden emin olun.
Şu ana kadar incelediğimiz balkabağı verisinin yapısına aşina olmalısınız. Bu dersin _notebook.ipynb_ dosyasında önceden yüklenmiş ve temizlenmiş olarak bulabilirsiniz. Bu dosyada balkabağı fiyatı bushel başına yeni bir veri çerçevesinde gösterilmiştir.
Visual Studio Code'da kernel kullanarak bu not defterlerini çalıştırabildiğinizden emin olun.
### Hazırlık
Bu verileri yüklediğinizi hatırlatmak isteriz, böylece sorular sorabilirsiniz.
Hatırlatma olarak, bu veriyi sorular sormak için yüklüyorsunuz.
- Balkabaklarını satın almak için en iyi zaman ne zaman?
- Minyatür balkabaklarının bir kasası için hangi fiyatı bekleyebilirim?
- Onları yarım bushel sepetlerde mi yoksa 1 1/9 bushel kutuda mı almalıyım?
Veri üzerinde kazıma işlemine devam edelim.
Önceki derste, bir Pandas veri çerçevesi oluşturdunuz ve orijinal veri setinin bir kısmını bushel bazında fiyatlandırmayı standartlaştırarak doldurdunuz. Ancak bu şekilde sadece sonbahar ayları için yaklaşık 400 veri noktası toplamış oldunuz.
- Kabak almak için en iyi zaman ne zaman?
- Mini kabakların bir kutusunun fiyatı ne kadar olabilir?
- Kabakları yarım bushel sepetlerde mi yoksa 1 1/9 bushel kutularında mı almalıyım?
Bu verileri daha fazla incelemeye devam edelim.
Bu derse eşlik eden not defterinde önceden yüklenmiş verilere göz atın. Veri ön yüklendi ve ay verisini göstermek için ilk dağılım grafiği çizildi. Veriyi daha fazla temizleyerek doğası hakkında biraz daha detay alabiliriz.
Önceki derste, bir Pandas veri çerçevesi oluşturdunuz ve orijinal veri setinin bir kısmını bushel başına fiyatlandırmayı standartlaştırarak doldurdunuz. Ancak bunu yaparak, yalnızca sonbahar ayları için yaklaşık 400 veri noktası toplayabildiniz.
## Bir lineer regresyon doğrusu
Bu dersin eşlik eden not defterinde önceden yüklenmiş verilere bir göz atın. Veriler önceden yüklenmiş ve ay verilerini göstermek için ilk bir saçılım grafiği çizilmiştir. Belki verileri daha fazla temizleyerek verilerin doğası hakkında biraz daha ayrıntı elde edebiliriz.
Ders 1'de öğrendiğiniz gibi, lineer regresyon çalışmasının amacı şu şekildedir:
## Doğrusal regresyon çizgisi
- **Değişken ilişkilerini göstermek**. Değişkenler arasındaki ilişkiyi göstermek
- **Tahmin yapmak**. Yeni bir veri noktasının bu doğruya göre nerede yer alacağını doğru tahmin etmek
1. Derste öğrendiğiniz gibi, doğrusal regresyon çalışmasının amacı bir çizgi çizmek ve:
Bu tür doğruların çizimi için tipik olan **En Küçük Kareler Regresyonu** yöntemidir. "En Küçük Kareler" terimi, modelimizdeki toplam hatayı minimize etme sürecine atıfta bulunur. Her veri noktası için, gerçek nokta ile regresyon doğrumuz arasındaki dikey mesafeyi (rezidü olarak da adlandırılır) ölçeriz.
- **Değişken ilişkilerini göstermek**. Değişkenler arasındaki ilişkiyi göstermek
- **Tahminler yapmak**. Yeni bir veri noktasının bu çizgiyle ilişkili olarak nerede yer alacağını doğru bir şekilde tahmin etmek.
Bu mesafeleri iki temel nedenle karesini alırız:
Bu tür bir çizgi çizmek için **En Küçük Kareler Regresyonu** kullanılması yaygındır. 'En küçük kareler' terimi, regresyon çizgisinin etrafındaki tüm veri noktalarının karelerinin alınması ve ardından toplanması anlamına gelir. İdeal olarak, bu son toplamın mümkün olduğunca küçük olması gerekir, çünkü düşük hata sayısı veya `en küçük kareler` istiyoruz.
1. **Büyüklük yönünden üstünlük:** -5 hata ile +5 hata aynı şekilde ele alınmalı. Karesini almak tüm değerleri pozitif yapar.
Bunu yapmamızın nedeni, tüm veri noktalarımızdan en az toplam mesafeye sahip bir çizgi modellemek istememizdir. Ayrıca terimleri toplamadan önce karelerini alırız çünkü yönünden ziyade büyüklüğüyle ilgileniyoruz.
2. **Aykırı Değerlere Ceza:** Karesini almak daha büyük hatalara daha fazla ağırlık verir ve doğrunun uzak noktaların yakınında kalmasını zorunlu kılar.
> **🧮 Matematiği göster**
>
> Bu çizgi, _en iyi uyum çizgisi_ olarak adlandırılır ve [bir denklemle](https://en.wikipedia.org/wiki/Simple_linear_regression) ifade edilebilir:
>
Sonra bu karelenmiş değerlerin tümünü toplarız. Amacımız bu toplamın en küçük olduğu doğruyu bulmaktır; bu yüzden adı "En Küçük Kareler"dir.
> **🧮 Matematiği Göster**
>
> Bu doğru, _en uygun uyum doğrusudur_ ve [bir denklemle](https://en.wikipedia.org/wiki/Simple_linear_regression) ifade edilebilir:
>
> ```
> Y = a + bX
> ```
>
> `X` 'açıklayıcı değişken'dir. `Y` 'bağımlı değişken'dir. Çizginin eğimi `b` ve `a` y-kesişimidir, bu da `X = 0` olduğunda `Y` değerine karşılık gelir.
>
>![eğimi hesapla](../../../../2-Regression/3-Linear/images/slope.png)
>
> İlk olarak, eğim `b` hesaplanır. İnfografik: [Jen Looper](https://twitter.com/jenlooper)
>
> Başka bir deyişle, kabak verilerinin orijinal sorusuna atıfta bulunarak: "aylara göre bushel başına kabak fiyatını tahmin et", `X` fiyatı ifade ederken `Y` satış ayını ifade eder.
>
>![denklemi tamamla](../../../../2-Regression/3-Linear/images/calculation.png)
>
> `Y` değerini hesaplayın. Eğer yaklaşık 4 dolar ödüyorsanız, bu Nisan olmalı! İnfografik: [Jen Looper](https://twitter.com/jenlooper)
>
> Çizgiyi hesaplayan matematik, çizginin eğimini göstermelidir, bu da aynı zamanda y-kesişimine bağlıdır, yani `X = 0` olduğunda `Y`'nin konumlandığı yer.
>
> Bu değerlerin hesaplama yöntemini [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) web sitesinde gözlemleyebilirsiniz. Ayrıca, sayıların değerlerinin çizgiyi nasıl etkilediğini görmek için [bu En Küçük Kareler hesaplayıcısını](https://www.mathsisfun.com/data/least-squares-calculator.html) ziyaret edin.
>
> `X` 'açıklayıcı değişken'dir. `Y` ise 'bağımlı değişken'dir. Doğrunun eğimi `b` ve `a` y-kesiti olup, `X = 0` olduğunda `Y` değerini ifade eder.
>
>![eğimi hesapla](../../../../translated_images/tr/slope.f3c9d5910ddbfcf9.webp)
> Önce eğimi `b` hesaplayın. Bilgigram: [Jen Looper](https://twitter.com/jenlooper)
>
> Başka bir deyişle ve balkabağı verimizin asıl sorusuna atıfta bulunursak: "ay bazında bushel başına balkabağı fiyatını tahmin et", burada `X` fiyatı, `Y` ise satış ayını temsil eder.
>
>![denklemi tamamla](../../../../translated_images/tr/calculation.a209813050a1ddb1.webp)
> Y'nin değerini hesaplayın. Yaklaşık $4 ödüyorsanız, bu kesinlikle Nisan ayıdır! Bilgigram: [Jen Looper](https://twitter.com/jenlooper)
>
> Doğruyu hesaplayan matematik, doğrunun eğimini göstermeli, bu da kesit değerine, yani `Y`'nin `X = 0` olduğundaki konumuna bağlıdır.
>
> Bu değerlerin hesaplanma yöntemini [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) sitesinde görebilirsiniz. Ayrıca sayıların çizgi üzerindeki etkisini görmek için [bu En-Küçük Kareler hesaplayıcısını](https://www.mathsisfun.com/data/least-squares-calculator.html) ziyaret edin.
## Korelasyon
Anlamanız gereken bir diğer terim, verilen X ve Y değişkenleri arasındaki **Korelasyon Katsayısı**dır. Bir saçılım grafiği kullanarak bu katsayıyı hızlıca görselleştirebilirsiniz. Veri noktalarının düzgün bir çizgide dağıldığı bir grafik yüksek korelasyona sahiptir, ancak X ve Y arasında her yerde dağılmış veri noktalarına sahip bir grafik düşük korelasyona sahiptir.
Anlamanız gereken bir diğer terim, verilen X ve Y değişkenleri arasındaki **Korelasyon Katsayısı**dır. Bir dağılım grafiği kullanarak bu katsayıyı hızlıca görselleştirebilirsiniz. Noktaların düzgün bir doğru üzerindeyse yüksek korelasyon, her yere saçılmışsa düşük korelasyon vardır.
İyi bir doğrusal regresyon modeli, En Küçük Kareler Regresyonu yöntemiyle bir regresyon çizgisi kullanarak 1'e yakın (0'dan uzak) bir Korelasyon Katsayısına sahip olan modeldir.
İyi bir lineer regresyon modeli, En Küçük Kareler Regresyon yöntemi ve bir regresyon doğrusu kullanarak yüksek (0'a değil 1'e daha yakın) bir Korelasyon Katsayısına sahip olacaktır.
✅ Bu dersin eşlik eden not defterini çalıştırın ve Ay ile Fiyat arasındaki saçılım grafiğine bakın. Kabak satışları için Ay ile Fiyat arasındaki veri, saçılım grafiğine göre görsel yorumunuza göre yüksek veya düşük korelasyona sahip gibi görünüyor mu? Bu durum, `Ay` yerine daha ince bir ölçüm kullanırsanız, örneğin *yılın günü* (yılın başlangıcından itibaren geçen gün sayısı) değişir mi?
✅ Bu derse eşlik eden not defterini çalıştırın ve Ay ile Fiyat arasındaki dağılım grafiğine bakın. Görsel değerlendirmenize göre Balkabağı satışları için Ay ile Fiyat arasındaki veri yüksek mi yoksa düşük korelasyon mu gösteriyor? Daha ayrıntılı bir ölçüm olarak `Ay` yerine *yılın günü* (örneğin, yıl başından itibaren geçen gün sayısı) kullanırsanız bu değişir mi?
Aşağıdaki kodda, verileri temizlediğimizi ve aşağıdaki gibi bir veri çerçevesi elde ettiğimizi varsayacağız:
Aşağıdaki kodda, verinin temizlendiğini ve `new_pumpkins` adında aşağıdakine benzer bir veri çerçevesi elde edildiğini varsayıyoruz:
ID | Ay | YılınGünü | Çeşit | Şehir | Paket | Düşük Fiyat | Yüksek Fiyat | Fiyat
---|----|-----------|-------|-------|-------|-------------|--------------|------
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 | Ay | YilinGunu | Çeşit | Şehir | Paket | Düşük Fiyat | Yüksek Fiyat | Fiyat
---|-------|-----------|---------|------|---------|-----------|------------|-------
70 | 9 | 267 | TURTA TİPİ | BALTIMORE | 1 1/9 bushel karton | 15.0 | 15.0 | 13.636364
71 | 9 | 267 | TURTA TİPİ | BALTIMORE | 1 1/9 bushel karton | 18.0 | 18.0 | 16.363636
72 | 10 | 274 | TURTA TİPİ | BALTIMORE | 1 1/9 bushel karton | 18.0 | 18.0 | 16.363636
73 | 10 | 274 | TURTA TİPİ | BALTIMORE | 1 1/9 bushel karton | 17.0 | 17.0 | 15.454545
74 | 10 | 281 | TURTA TİPİ | BALTIMORE | 1 1/9 bushel karton | 15.0 | 15.0 | 13.636364
> Verileri temizleme kodu [`notebook.ipynb`](../../../../2-Regression/3-Linear/notebook.ipynb) dosyasında mevcuttur. Önceki derste yapılan aynı temizleme adımlarını uyguladık ve aşağıdaki ifadeyi kullanarak `YılınGünü` sütununu hesapladık:
> Veriyi temizleme kodu [`notebook.ipynb`](notebook.ipynb) dosyasında mevcuttur. Önceki derste yaptığımız aynı temizlik adımlarını uyguladık ve `DayOfYear` sütununu aşağıdaki ifadeyi kullanarak hesapladık:
```python
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)
```
Artık doğrusal regresyonun arkasındaki matematiği anladığınıza göre, bir Regresyon modeli oluşturarak hangi kabak paketinin en iyi kabak fiyatlarına sahip olacağını tahmin edip edemeyeceğimizi görelim. Bir tatil kabak bahçesi için kabak satın alan biri, bahçe için kabak paketlerini optimize etmek amacıyla bu bilgiye ihtiyaç duyabilir.
Lineer regresyonun matematiğini anladığınıza göre, hangi balkabağı paketinin en iyi fiyatlara sahip olacağını tahmin etmek için bir Regresyon modeli oluşturalım. Birisi tatil balkabağı bahçesinde balkabağı satın alıyorsa, bahçe için balkabağı paketlerini optimize etmek amacıyla bu bilgi faydalı olabilir.
## Korelasyon Arayışı
[![Başlangıç seviyesinde ML - Korelasyon Arayışı: Doğrusal Regresyonun Anahtarı](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "Başlangıç seviyesinde ML - Korelasyon Arayışı: Doğrusal Regresyonun Anahtarı")
[![ML for beginners - Korelasyon Arayışı: Lineer Regresyonun Anahtarı](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Korelasyon Arayışı: Lineer Regresyonun Anahtarı")
> 🎥 Korelasyonun kısa bir video özeti için yukarıdaki görsele tıklayın.
> 🎥 Korelasyon hakkında kısa video genel bakışı için yukarıdaki görsele tıklayın.
Önceki dersten muhtemelen farklı aylar için ortalama fiyatın şu şekilde göründüğünü gördünüz:
Önceki dersten muhtemelen farklı aylar için ortalama fiyatların şu şekilde olduğunu görmüştünüz:
<img alt="Ay bazında ortalama fiyat" src="../../../../translated_images/tr/barchart.a833ea9194346d76.webp" width="50%"/>
<img alt="Aya göre ortalama fiyat" src="../../../../translated_images/tr/barchart.a833ea9194346d76.webp" width="50%"/>
Bu, bir korelasyon olması gerektiğini ve `Ay` ile `Fiyat` veya `YılınGünü` ile `Fiyat` arasındaki ilişkiyi tahmin etmek için doğrusal regresyon modeli eğitmeye çalışabileceğimizi gösteriyor. İşte ikinci ilişkiyi gösteren saçılım grafiği:
Bu, bir korelasyon olabileceğini düşündürür ve `Ay` ile `Fiyat` ya da `YilinGunu` ile `Fiyat` arasındaki ilişkiyi tahmin etmek için lineer regresyon modeli eğitebiliriz. İşte sonuncuyu gösteren dağılım grafiği:
<img alt="Fiyat vs. Yılın Günü saçılım grafiği" src="../../../../translated_images/tr/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
<img alt="Fiyat vs. Yılın Günü dağılım grafiği" src="../../../../translated_images/tr/scatter-dayofyear.bc171c189c9fd553.webp" width="50%" />
`corr` fonksiyonunu kullanarak bir korelasyon olup olmadığını görelim:
Korelasyonu `corr` fonksiyonuyla görelim:
```python
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
```
Görünüşe göre korelasyon oldukça küçük, `Ay` için -0.15 ve `YılınGünü` için -0.17, ancak başka önemli bir ilişki olabilir. Farklı kabak çeşitlerine karşılık gelen farklı fiyat kümeleri var gibi görünüyor. Bu hipotezi doğrulamak için, her kabak kategorisini farklı bir renkle çizelim. `scatter` çizim fonksiyonuna bir `ax` parametresi geçirerek tüm noktaları aynı grafikte çizebiliriz:
Görünüşe göre korelasyon oldukça düşük, `Ay` için -0.15 ve `YilinGunu` için -0.17, ancak başka önemli bir ilişki olabilir. Farklı balkabağı çeşitlerine karşılık gelen farklı fiyat kümeleri var gibi. Bu hipotezi doğrulamak için her balkabağı kategorisini farklı renklerle çizelim. `scatter` çizim fonksiyonuna bir `ax` parametresi geçirilerek tüm noktalar aynı grafikte çizilebilir:
```python
ax=None
@ -127,75 +138,75 @@ 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)
```
<img alt="Fiyat vs. Yılın Günü (renkli) dağılım grafiği" src="../../../../translated_images/tr/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
<img alt="Fiyat vs. Yılın Günü saçılım grafiği" src="../../../../translated_images/tr/scatter-dayofyear-color.65790faefbb9d54f.webp" width="50%" />
Araştırmamız, çeşidin genel fiyat üzerinde satış tarihinden daha fazla etkisi olduğunu öne sürüyor. Bunu bir çubuk grafikle görebiliriz:
Araştırmalarımız, çeşidin satış tarihinden daha fazla fiyat üzerinde etkisi olduğunu gösteriyor. Bunu bir çubuk grafikle görebiliriz:
```python
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
```
<img alt="Çeşide göre fiyat çubuk grafiği" src="../../../../translated_images/tr/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Çeşide göre fiyat çubuk grafiği" src="../../../../translated_images/tr/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Şimdi bir süreliğine yalnızca bir kabak çeşidine, 'pie type' çeşidine odaklanalım ve tarihin fiyat üzerindeki etkisini görelim:
Şimdilik yalnızca bir balkabağı çeşidine, 'turta tipi'ne, odaklanalım ve tarihin fiyat üzerindeki etkisine bakalım:
```python
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price')
```
<img alt="Fiyat vs. Yılın Günü saçılım grafiği" src="../../../../translated_images/tr/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
<img alt="Fiyat vs. Yılın Günü dağılım grafiği" src="../../../../translated_images/tr/pie-pumpkins-scatter.d14f9804a53f927e.webp" width="50%" />
Şimdi `corr` fonksiyonunu kullanarak `Fiyat` ile `YılınGünü` arasındaki korelasyonu hesaplasak, yaklaşık `-0.27` gibi bir değer elde ederiz - bu da tahmin edici bir model eğitmenin mantıklı olduğunu gösterir.
Şimdi `Price` ve `YilinGunu` arasında `corr` fonksiyonunu kullanarak korelasyon hesaplarsak, yaklaşık `-0.27` buluruz - ki bu da tahmin modeli eğitmenin mantıklı olduğunu gösterir.
> Doğrusal regresyon modeli eğitmeden önce, verilerimizin temiz olduğundan emin olmak önemlidir. Doğrusal regresyon eksik değerlerle iyi çalışmaz, bu nedenle tüm boş hücrelerden kurtulmak mantıklıdır:
> Lineer regresyon modeli eğitmeden önce, verinin temiz olması önemlidir. Lineer regresyon eksik değerlerle iyi çalışmaz, bu yüzden boş hücrelerden kurtulmak mantıklıdır:
```python
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()
```
Diğer bir yaklaşım, boş değerleri ilgili sütunun ortalama değerleriyle doldurmaktır.
Bir diğer yaklaşım, bu boş değerleri ilgili sütunun ortalama değerleriyle doldurmak olabilir.
## Basit Doğrusal Regresyon
## Basit Lineer Regresyon
[![Başlangıç seviyesinde ML - Scikit-learn ile Doğrusal ve Polinomial Regresyon](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "Başlangıç seviyesinde ML - Scikit-learn ile Doğrusal ve Polinomial Regresyon")
[![ML for beginners - Scikit-learn ile Lineer ve Polinom Regresyon](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Scikit-learn ile Lineer ve Polinom Regresyon")
> 🎥 Doğrusal ve polinomial regresyonun kısa bir video özeti için yukarıdaki görsele tıklayın.
> 🎥 Lineer ve polinom regresyon hakkında kısa video genel bakışı için yukarıdaki görsele tıklayın.
Doğrusal Regresyon modelimizi eğitmek için **Scikit-learn** kütüphanesini kullanacağız.
Lineer Regresyon modelimizi eğitmek için **Scikit-learn** kütüphanesini kullanacağız.
```python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
```
Başlangıçta, giriş değerlerini (özellikler) ve beklenen çıktıyı (etiket) ayrı numpy dizilerine ayırıyoruz:
Girdi değerlerini (özellikler) ve beklenen çıktıyı (etiket) ayrı numpy dizilerine ayırarak başlıyoruz:
```python
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']
```
> Lineer Regresyon paketinin doğru anlayabilmesi için girdi verilerini `reshape` yapmamız gerektiğine dikkat edin. Lineer Regresyon, her satırı bir özellik vektörünü temsil eden 2D diziyi bekler. Bizim durumumuzda sadece bir girdi olduğundan, N×1 yapısında bir dizi gerekir, burada N veri seti büyüklüğüdür.
> Giriş verilerinde `reshape` işlemi yapmamız gerektiğini unutmayın, böylece Doğrusal Regresyon paketi bunu doğru şekilde anlayabilir. Doğrusal Regresyon, her bir satırın giriş özelliklerinin bir vektörüne karşılık geldiği bir 2D-dizi bekler. Bizim durumumuzda, yalnızca bir girişimiz olduğu için, N×1 şekline sahip bir diziye ihtiyacımız var, burada N veri setinin boyutudur.
Daha sonra, verileri eğitim ve test veri setlerine ayırmamız gerekiyor, böylece modelimizi eğittikten sonra doğrulayabiliriz:
Sonra, modeli eğitip doğrulayabilmek için veriyi eğitim ve test veri setlerine bölmemiz gerekiyor:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
Son olarak, gerçek Doğrusal Regresyon modelini eğitmek yalnızca iki satır kod alır. `LinearRegression` nesnesini tanımlarız ve `fit` yöntemiyle verilerimize uyarlarız:
Son olarak, gerçek Lineer Regresyon modelinin eğitimi sadece iki kod satırı alır. `LinearRegression` nesnesini tanımlarız ve `fit` metodu ile verimize uyarlarız:
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)
```
`LinearRegression` nesnesi `fit` edildikten sonra regresyonun tüm katsayılarını içerir ve bunlara `.coef_` özelliği aracılığıyla erişilebilir. Bizim durumumuzda, sadece bir katsayı vardır ve bu yaklaşık `-0.017` civarında olmalıdır. Bu, fiyatların zamanla biraz azaldığını ancak çok fazla olmadığını, yaklaşık olarak günde 2 sent düştüğünü gösterir. Regresyonun Y ekseniyle kesiştiği noktaya ise `lin_reg.intercept_` kullanılarak erişilebilir - bizim durumumuzda bu yaklaşık `21` olacak ve yılın başındaki fiyatı gösterecektir.
`LinearRegression` nesnesi, `fit` işleminden sonra regresyonun tüm katsayılarını içerir ve bunlara `.coef_` özelliği ile erişilebilir. Bizim durumumuzda, yalnızca bir katsayı vardır ve bu yaklaşık `-0.017` olmalıdır. Bu, fiyatların zamanla biraz düştüğünü, ancak çok fazla olmadığını, günde yaklaşık 2 sent olduğunu gösterir. Ayrıca, regresyonun Y ekseniyle kesişim noktasına `lin_reg.intercept_` kullanarak erişebiliriz - bu bizim durumumuzda yaklaşık `21` olacaktır, yılın başındaki fiyatı gösterir.
Modelimizin ne kadar doğru olduğunu görmek için test veri setinde fiyatları tahmin edebilir ve ardından tahminlerimizin beklenen değerlere ne kadar yakın olduğunu ölçebiliriz. Bu, beklenen ve tahmin edilen değerler arasındaki tüm kare farklarının ortalaması olan ortalama kare hata (MSE) metriği kullanılarak yapılabilir.
Modelimizin ne kadar doğru olduğunu görmek için test veri seti üzerinde fiyatları tahmin edebilir ve ardından tahminlerimizin beklenen değerlere ne kadar yakın olduğunu ölçebiliriz. Bu, beklenen ve tahmin edilen değer arasındaki tüm kare farklarının ortalaması olan ortalama kare hata (MSE) metriği ile yapılabilir.
```python
pred = lin_reg.predict(X_test)
@ -203,36 +214,37 @@ pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
```
Hatalarımız yaklaşık %17 oranında, yani pek iyi değil. Model kalitesinin bir diğer göstergesi **determinasyon katsayısıdır** ve şu şekilde elde edilebilir:
Hata oranımız yaklaşık 2 puan, yani ~%17 civarında görünüyor. Çok iyi değil. Model kalitesinin diğer bir göstergesi ise **belirleme katsayısı**dır ve bu şöyle elde edilir:
```python
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)
```
Eğer değer 0 ise, bu modelin girdi verilerini dikkate almadığı ve *en kötü doğrusal tahmin edici* olarak hareket ettiği anlamına gelir; bu da sonuçların basit bir ortalamasıdır. Değer 1 olduğunda, tüm beklenen çıktıları mükemmel bir şekilde tahmin edebileceğimiz anlamına gelir. Bizim durumumuzda, katsayı yaklaşık 0.06 civarında, bu da oldukça düşük.
Eğer değer 0 ise, modelin giriş verilerini dikkate almadığı ve *en kötü doğrusal tahminci* gibi davrandığı anlamına gelir, bu da sonuçların sadece ortalaması anlamına gelir. 1 değeri ise tüm beklenen çıktıları mükemmel şekilde tahmin edebildiğimizi gösterir. Bizim durumumuzda, katsayı yaklaşık 0.06, bu da oldukça düşüktür.
Regresyonun bizim durumumuzda nasıl çalıştığını daha iyi görmek için test verilerini regresyon çizgisiyle birlikte görselleştirebiliriz:
Regresyonun nasıl çalıştığını daha iyi görmek için test verilerini ve regresyon doğrusunu birlikte çizebiliriz:
```python
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
```
<img alt="Doğrusal regresyon" src="../../../../translated_images/tr/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
<img alt="Linear regression" src="../../../../translated_images/tr/linear-results.f7c3552c85b0ed1c.webp" width="50%" />
## Polinom Regresyon
## Polinom Regresyonu
Doğrusal Regresyon'un bir diğer türü Polinom Regresyon'dur. Bazen değişkenler arasında doğrusal bir ilişki olabilir - örneğin, kabak hacmi büyüdükçe fiyatın artması - ancak bazen bu ilişkiler bir düzlem veya doğru olarak çizilemez.
Lineer Regresyonun bir başka türü de Polinom Regresyonudur. Bazen değişkenler arasında doğrusal bir ilişki olur - örneğin, balkabağının hacmi ne kadar büyükse, fiyat da o kadar yüksek olur - bazen bu ilişkiler düz bir düzlem veya doğru olarak çizilemez.
✅ İşte [Polinom Regresyon](https://online.stat.psu.edu/stat501/lesson/9/9.8) kullanabilecek veri türlerine dair bazı örnekler.
✅ İşte Polinom Regresyonu için kullanılabilecek [başka örnekler](https://online.stat.psu.edu/stat501/lesson/9/9.8)
Tarih ve Fiyat arasındaki ilişkiye tekrar bakın. Bu dağılım grafiği mutlaka bir doğru ile analiz edilmeli mi? Fiyatlar dalgalanamaz mı? Bu durumda polinom regresyonu deneyebilirsiniz.
Tarih ve Fiyat arasındaki ilişkiye yeniden bakın. Bu dağılım grafiği gerçekten düz bir doğru ile analiz edilmeli mi? Fiyatlar dalgalanamaz mı? Bu durumda polinom regresyonu deneyebilirsiniz.
✅ Polinomlar, bir veya daha fazla değişken ve katsayı içerebilen matematiksel ifadelerdir.
✅ Polinomlar, bir veya daha fazla değişken ve katsayı içerebilen matematiksel ifadeleridir.
Polinom regresyon, doğrusal olmayan veriye daha iyi uyum sağlamak için eğri bir çizgi oluşturur. Bizim durumumuzda, girdi verilerine kare `DayOfYear` değişkenini eklersek, verilerimizi yıl içinde belirli bir noktada minimuma sahip olan parabolik bir eğri ile uyumlu hale getirebiliriz.
Polinom regresyon, doğrusal olmayan verilere daha iyi uyması için eğri bir çizgi oluşturur. Bizim durumumuzda, giriş verisine kare `DayOfYear` değişkeni eklendiğinde, verilerimizi yıl içinde belirli bir noktada minimuma sahip bir parabolik eğri ile uydurabilmeliyiz.
Scikit-learn, veri işleme adımlarını bir araya getirmek için kullanışlı bir [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) içerir. **Pipeline**, bir dizi **tahmin ediciden** oluşur. Bizim durumumuzda, önce modelimize polinom özellikler ekleyen ve ardından regresyonu eğiten bir pipeline oluşturacağız:
Scikit-learn, veri işleme adımlarını birleştirmek için faydalı bir [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) içerir. Bir **pipeline** bir **tahminci** zinciridir. Bizim durumumuzda, önce modele polinom özellikler ekleyen ve ardından regresyonu eğiten bir pipeline oluşturacağız:
```python
from sklearn.preprocessing import PolynomialFeatures
@ -243,36 +255,36 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
```
`PolynomialFeatures(2)` kullanmak, girdi verilerinden tüm ikinci derece polinomları dahil edeceğimiz anlamına gelir. Bizim durumumuzda bu sadece `DayOfYear`<sup>2</sup> anlamına gelir, ancak iki girdi değişkeni X ve Y verildiğinde, bu X<sup>2</sup>, XY ve Y<sup>2</sup> ekleyecektir. Daha yüksek dereceli polinomlar kullanmak istersek bunu da yapabiliriz.
`PolynomialFeatures(2)` kullanmak, giriş verisinden tüm ikinci dereceden polinomları dahil edeceğimiz anlamına gelir. Bizim örneğimizde bu yalnızca `DayOfYear`<sup>2</sup> demektir, ancak iki giriş değişkeni X ve Y verilirse, bu X<sup>2</sup>, XY ve Y<sup>2</sup> öğelerini ekler. Dilerseniz daha yüksek dereceli polinomlar da kullanabilirsiniz.
Pipeline'lar, orijinal `LinearRegression` nesnesi gibi kullanılabilir, yani pipeline'ı `fit` edebilir ve ardından tahmin sonuçlarını almak için `predict` kullanabiliriz. İşte test verilerini ve yaklaşık eğriyi gösteren grafik:
Pipeline'lar, orijinal `LinearRegression` nesnesi gibi kullanılabilir; yani pipeline'ı `fit` edebilir ve ardından tahmin sonuçları almak için `predict` kullanabilirsiniz. İşte test verisi ve yaklaşıklaştırma eğrisini gösteren grafik:
<img alt="Polinom regresyon" src="../../../../translated_images/tr/poly-results.ee587348f0f1f60b.webp" width="50%" />
<img alt="Polynomial regression" src="../../../../translated_images/tr/poly-results.ee587348f0f1f60b.webp" width="50%" />
Polinom Regresyon kullanarak biraz daha düşük MSE ve daha yüksek determinasyon elde edebiliriz, ancak fark çok büyük değil. Diğer özellikleri de dikkate almamız gerekiyor!
Polinom Regresyon kullanarak MSE biraz daha düşük ve belirleme katsayısı biraz daha yüksek olabilir, ama çok büyük bir fark olmaz. Diğer özellikleri de göz önünde bulundurmamız gerekir!
> Kabak fiyatlarının minimum seviyede olduğu zamanın Cadılar Bayramı civarında olduğunu görebilirsiniz. Bunu nasıl açıklarsınız?
> Minimum balkabağı fiyatlarının Cadılar Bayramı civarında gözlemlendiğini görebilirsiniz. Bunu nasıl açıklarsınız?
🎃 Tebrikler, kabak turtası fiyatını tahmin etmeye yardımcı olabilecek bir model oluşturdunuz. Muhtemelen aynı prosedürü tüm kabak türleri için tekrarlayabilirsiniz, ancak bu oldukça zahmetli olur. Şimdi modelimizde kabak çeşitlerini nasıl dikkate alacağımızı öğrenelim!
🎃 Tebrikler, balkabağı turta fiyatını tahmin eden bir model oluşturdunuz. Muhtemelen tüm balkabağı türleri için aynı işlemi tekrarlayabilirsiniz, ama bu zahmetli olur. Şimdi modelimizde balkabağı çeşidini nasıl dikkate alacağımızı öğrenelim!
## Kategorik Özellikler
İdeal bir dünyada, aynı modeli kullanarak farklı kabak çeşitlerinin fiyatlarını tahmin edebilmek isteriz. Ancak `Variety` sütunu, `Month` gibi sütunlardan biraz farklıdır, çünkü sayısal olmayan değerler içerir. Bu tür sütunlara **kategorik** denir.
İdeal dünyada, farklı balkabağı çeşitleri için fiyatları aynı modelle tahmin etmek isteriz. Ancak, `Variety` sütunu `Month` gibi sütunlardan farklıdır çünkü sayısal olmayan değerler içerir. Bu tür sütunlara **kategorik** denir.
[![Başlangıç Seviyesi ML - Doğrusal Regresyon ile Kategorik Özellik Tahminleri](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "Başlangıç Seviyesi ML - Doğrusal Regresyon ile Kategorik Özellik Tahminleri")
[![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")
> 🎥 Yukarıdaki görsele tıklayarak kategorik özelliklerin kullanımına dair kısa bir video izleyebilirsiniz.
> 🎥 Kategorik özelliklerin kullanımına dair kısa video özetini izlemek için yukarıdaki resme tıklayın.
Burada ortalama fiyatın çeşitliliğe bağlı olarak nasıl değiştiğini görebilirsiniz:
Burada ortalama fiyatın çeşitliliğe nasıl bağlı olduğunu görebilirsiniz:
<img alt="Çeşide göre ortalama fiyat" src="../../../../translated_images/tr/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
<img alt="Average price by variety" src="../../../../translated_images/tr/price-by-variety.744a2f9925d9bcb4.webp" width="50%" />
Çeşidi dikkate almak için önce bunu sayısal bir forma dönüştürmemiz, yani **kodlamamız** gerekir. Bunu yapmanın birkaç yolu vardır:
Çeşidi dikkate almak için öncelikle sayısal forma çevirmemiz veya **kodlamamız** gerekir. Bunu yapmanın birkaç yolu vardır:
* Basit **sayısal kodlama**, farklı çeşitlerin bir tablosunu oluşturur ve ardından çeşit adını bu tablodaki bir indeksle değiştirir. Bu, doğrusal regresyon için en iyi fikir değildir, çünkü doğrusal regresyon indeksin gerçek sayısal değerini alır ve bunu bir katsayı ile çarparak sonuca ekler. Bizim durumumuzda, indeks numarası ile fiyat arasındaki ilişki açıkça doğrusal değildir, indekslerin belirli bir şekilde sıralandığından emin olsak bile.
* **One-hot kodlama**, `Variety` sütununu dört farklı sütunla değiştirir, her biri bir çeşit için. Her sütun, ilgili satırın belirli bir çeşide ait olup olmadığını göstermek için `1` veya `0` içerir. Bu, doğrusal regresyonda her kabak çeşidi için bir katsayı oluşturur ve bu katsayı o çeşidin "başlangıç fiyatı" (veya "ek fiyatı") için sorumludur.
* Basit **sayısal kodlama**, farklı çeşitlerin bir tablosunu oluşturur ve ardından çeşit adını bu tablodaki bir indeksle değiştirir. Bu lineer regresyon için en iyi yöntem değildir, çünkü lineer regresyon indeksin gerçek sayısal değerini alıp bir katsayı ile çarpar ve sonuca ekler. Bizim durumumuzda, indeks numarası ile fiyat arasındaki ilişki açıkça doğrusal değildir; hatta indekslerin belirli bir şekilde sıralanması garanti edilse bile.
* **One-hot encoding** ile `Variety` sütunu, her bir çeşit için 4 farklı sütuna bölünür. Her sütun, ilgili satır o çeşide aitse `1`, değilse `0` içerir. Bu, lineer regresyonda balkabağı çeşidi başına biri "başlangıç fiyatı" (ya da "ek fiyat") için olmak üzere dört katsayı olacağı anlamına gelir.
Aşağıdaki kod, bir çeşidi nasıl one-hot kodlayabileceğimizi gösterir:
Aşağıdaki kod, bir çeşidin one-hot kodlamasını nasıl yapabileceğimizi gösteriyor:
```python
pd.get_dummies(new_pumpkins['Variety'])
@ -289,14 +301,14 @@ pd.get_dummies(new_pumpkins['Variety'])
1741 | 0 | 1 | 0 | 0
1742 | 0 | 1 | 0 | 0
One-hot kodlanmış çeşidi girdi olarak kullanarak doğrusal regresyonu eğitmek için, sadece `X` ve `y` verilerini doğru şekilde başlatmamız gerekir:
One-hot kodlanmış çeşidi giriş olarak kullanarak lineer regresyonu eğitmek için sadece `X` ve `y` verilerini doğru şekilde başlatmamız gerekir:
```python
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']
```
Kodun geri kalanı, yukarıda Doğrusal Regresyonu eğitmek için kullandığımız kodla aynıdır. Eğer denerseniz, ortalama kare hata (MSE) yaklaşık aynı kalır, ancak determinasyon katsayısı çok daha yüksek (~%77) olur. Daha doğru tahminler elde etmek için daha fazla kategorik özelliği ve `Month` veya `DayOfYear` gibi sayısal özellikleri dikkate alabiliriz. Daha büyük bir özellik dizisi oluşturmak için `join` kullanabiliriz:
Geri kalan kod, yukarıda lineer regresyonu eğittiğimiz kod ile aynıdır. Denerseniz, ortalama kare hatasının neredeyse aynı olduğunu ancak belirleme katsayısının (~%77) çok daha yüksek olduğunu görürsünüz. Daha doğru tahminler elde etmek için daha fazla kategorik özellik ile `Month` veya `DayOfYear` gibi sayısal özellikleri de dikkate alabiliriz. Tüm özellikleri tek bir büyük diziye dönüştürmek için `join` kullanabiliriz:
```python
X = pd.get_dummies(new_pumpkins['Variety']) \
@ -306,31 +318,31 @@ X = pd.get_dummies(new_pumpkins['Variety']) \
y = new_pumpkins['Price']
```
Burada ayrıca `City` ve `Package` türünü de dikkate alıyoruz, bu da bize MSE 2.84 (%10) ve determinasyon 0.94 sağlar!
Burada ayrıca `City` ve `Package` türü de dikkate alınmıştır, bu bize 2.84 (%%10) MSE ve 0.94 belirleme katsayısı sağlar!
## Hepsini Bir Araya Getirmek
En iyi modeli oluşturmak için yukarıdaki örnekten birleştirilmiş (one-hot kodlanmış kategorik + sayısal) verileri Polinom Regresyon ile birlikte kullanabiliriz. İşte tüm kodun tamamı:
En iyi modeli yapmak için yukarıdaki örnekten (one-hot kodlanmış kategorik + sayısal veriler) ve Polinom Regresyonu birlikte kullanabiliriz. İşte kolayınız için tam kod:
```python
# set up training data
# eğitim verilerini ayarla
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# make train-test split
# eğitim-test bölümü yap
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# setup and train the pipeline
# pipeline'ı kur ve eğit
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# predict results for test data
# test verileri için sonuçları tahmin et
pred = pipeline.predict(X_test)
# calculate MSE and determination
# MSE ve belirleme katsayısını hesapla
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
@ -338,34 +350,36 @@ score = pipeline.score(X_train,y_train)
print('Model determination: ', score)
```
Bu, bize yaklaşık %97'lik en iyi determinasyon katsayısını ve MSE=2.23 (~%8 tahmin hatası) sağlar.
Bu en iyi belirleme katsayısı olan neredeyse %97 ve MSE=2.23 (yaklaşık %8 tahmin hatası) verecektir.
| Model | MSE | Determinasyon |
|-------|-----|---------------|
| `DayOfYear` Doğrusal | 2.77 (%17.2) | 0.07 |
| `DayOfYear` Polinom | 2.73 (%17.0) | 0.08 |
| `Variety` Doğrusal | 5.24 (%19.7) | 0.77 |
| Tüm özellikler Doğrusal | 2.84 (%10.5) | 0.94 |
| Tüm özellikler Polinom | 2.23 (%8.25) | 0.97 |
| Model | MSE | Belirleme Katsayısı |
|-------|-----|---------------------|
| `DayOfYear` Lineer | 2.77 (17.2%) | 0.07 |
| `DayOfYear` Polinom | 2.73 (17.0%) | 0.08 |
| `Variety` Lineer | 5.24 (19.7%) | 0.77 |
| Tüm özellikler Lineer | 2.84 (10.5%) | 0.94 |
| Tüm özellikler Polinom | 2.23 (8.25%) | 0.97 |
🏆 Tebrikler! Bu derste dört farklı Regresyon modeli oluşturdunuz ve model kalitesini %97'ye çıkardınız. Regresyon ile ilgili son bölümde, kategorileri belirlemek için Lojistik Regresyonu öğreneceksiniz.
🏆 Çok iyi! Bu derste dört farklı Regresyon modeli oluşturup model kalitesini %97ye geliştirdiniz. Son Regresyon bölümünde, kategorileri belirlemek için Lojistik Regresyonu öğreneceksiniz.
---
## 🚀Meydan Okuma
Bu not defterinde farklı değişkenleri test ederek korelasyonun model doğruluğuyla nasıl ilişkili olduğunu inceleyin.
Bu not defterinde farklı değişkenlerle deney yaparak korelasyonun model doğruluğuna nasıl karşılık geldiğini test edin.
## [Ders sonrası test](https://ff-quizzes.netlify.app/en/ml/)
## [Ders sonrası quiz](https://ff-quizzes.netlify.app/en/ml/)
## Gözden Geçirme ve Kendi Kendine Çalışma
## Gözden Geçirme & Kendi Kendine Çalışma
Bu derste Doğrusal Regresyon hakkında bilgi edindik. Regresyonun diğer önemli türleri de vardır. Stepwise, Ridge, Lasso ve Elasticnet tekniklerini okuyun. Daha fazla bilgi edinmek için iyi bir kurs [Stanford İstatistiksel Öğrenme kursu](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) olabilir.
Bu derste Lineer Regresyonu öğrendik. Başka önemli Regresyon türleri de vardır. Stepwise, Ridge, Lasso ve Elasticnet teknikleri hakkında okuyun. Daha fazla öğrenmek için iyi bir kurs [Stanford İstatistiksel Öğrenme kursu](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
## Ödev
## Ödev
[Bir Model Oluşturun](assignment.md)
[Bir Model Oluştur](assignment.md)
---
**Feragatname**:
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul edilmez.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Feragatname**:
Bu belge, AI çeviri servisi [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstermemize rağmen, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlaşılmalardan veya yorum hatalarından sorumlu değiliz.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,42 +1,42 @@
# Mutfak Sınıflandırıcıları 2
# Mutfak sınıflandırıcıları 2
Bu ikinci sınıflandırma dersinde, sayısal verileri sınıflandırmanın daha fazla yolunu keşfedeceksiniz. Ayrıca, bir sınıflandırıcıyı diğerine tercih etmenin sonuçlarını öğreneceksiniz.
## [Ders Öncesi Test](https://ff-quizzes.netlify.app/en/ml/)
## [Ders öncesi quiz](https://ff-quizzes.netlify.app/en/ml/)
### Ön Koşul
### Önkoşul
Önceki dersleri tamamladığınızı ve bu 4 derslik klasörün kök dizininde `data` klasörünüzde _cleaned_cuisines.csv_ adlı temizlenmiş bir veri kümesine sahip olduğunuzu varsayıyoruz.
Önceki dersleri tamamladığınızı ve temizlenmiş bir veri setine sahip olduğunuzu varsayıyoruz. Bu veri seti, bu 4 derslik klasörün kökünde `data` klasöründe _cleaned_cuisines.csv_ olarak yer alıyor.
### Hazırlık
_Notebook.ipynb_ dosyanız temizlenmiş veri kümesiyle yüklendi ve model oluşturma sürecine hazır olacak şekilde X ve y veri çerçevelerine bölündü.
_notebook.ipynb_ dosyanız temizlenmiş veri seti ile yüklendi ve model oluşturma süreci için X ve y veri çerçevelerine bölündü.
## Bir sınıflandırma haritası
Daha önce, Microsoft'un hile sayfasını kullanarak verileri sınıflandırırken sahip olduğunuz çeşitli seçenekleri öğrenmiştiniz. Scikit-learn, sınıflandırıcılarınızı (diğer bir deyişle tahmin ediciler) daraltmanıza yardımcı olabilecek benzer, ancak daha ayrıntılı bir hile sayfası sunar:
Önceden, Microsoft'un hızlı başvuru sayfasını kullanarak veri sınıflandırmada sahip olduğunuz çeşitli seçenekler hakkında bilgi edindiniz. Scikit-learn benzer ancak daha ayrıntılı bir hızlı başvuru sunar ve bu, tahmin edicilerinizi (sınıflandırıcıların başka bir terimi) daha da daraltmanıza yardımcı olabilir:
![Scikit-learn'den ML Haritası](../../../../4-Classification/3-Classifiers-2/images/map.png)
> İpucu: [bu haritayı çevrimiçi ziyaret edin](https://scikit-learn.org/stable/tutorial/machine_learning_map/) ve belgeleri okumak için yol boyunca tıklayın.
![Scikit-learn'den ML Haritası](../../../../translated_images/tr/map.e963a6a51349425a.webp)
> İpucu: [bu haritayı çevrimiçi ziyaret edin](https://scikit-learn.org/stable/tutorial/machine_learning_map/) ve dokümantasyona okumak için yol boyunca tıklayın.
### Plan
Bu harita, verilerinizi net bir şekilde anladığınızda çok yardımcı olur, çünkü yollarında 'yürüyerek' bir karara varabilirsiniz:
Bu harita, verilerinizi net olarak anladığınızda çok faydalıdır, çünkü karar vermek için yollarında 'yürüyebilirsiniz':
- 50'den fazla örneğimiz var
- Bir kategori tahmin etmek istiyoruz
- Etiketlenmiş verilerimiz var
- 100.000'den az örneğimiz var
- ✨ Linear SVC seçebiliriz
- Bu işe yaramazsa, sayısal verilerimiz olduğu için
- ✨ KNeighbors Classifier deneyebiliriz
- Bu işe yaramazsa, ✨ SVC ve ✨ Ensemble Classifiers deneyin
- Etiketli verilerimiz var
- 100K'dan daha az örnek var
- ✨ Lineer SVC seçebiliriz
- Eğer bu işe yaramazsa, sayısal verimiz olduğundan
- ✨ KNeighbors Sınıflandırıcıyı deneyebiliriz
- Eğer bu da işe yaramazsa, ✨ SVC ve ✨ Topluluk Sınıflandırıcılarını deneyin
Bu, takip edilmesi çok faydalı bir yol.
Takip etmek için çok faydalı bir yol.
## Alıştırma - verileri bölün
## Alıştırma - veriyi böl
Bu yolu takip ederek, kullanmak için bazı kütüphaneleri içe aktarmalıyız.
Bu yolu izleyerek kullanmak için bazı kütüphaneleri içe aktarmayla başlamalıyız.
1. Gerekli kütüphaneleri içe aktarın:
@ -50,31 +50,31 @@ Bu yolu takip ederek, kullanmak için bazı kütüphaneleri içe aktarmalıyız.
import numpy as np
```
1. Eğitim ve test verilerinizi bölün:
2. Eğitim ve test verilerinizi bölün:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)
```
## Linear SVC sınıflandırıcısı
## Lineer SVC sınıflandırıcı
Support-Vector Clustering (SVC), ML tekniklerinin Support-Vector Machines ailesinin bir alt dalıdır (aşağıda bunlar hakkında daha fazla bilgi edinin). Bu yöntemde, etiketleri nasıl kümelendireceğinize karar vermek için bir 'kernel' seçebilirsiniz. 'C' parametresi, parametrelerin etkisini düzenleyen 'düzenleme' anlamına gelir. Kernel, [birkaç seçenekten](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC) biri olabilir; burada, Linear SVC'den yararlanmak için 'linear' olarak ayarlıyoruz. Olasılık varsayılan olarak 'false'dur; burada olasılık tahminleri toplamak için 'true' olarak ayarlıyoruz. Rastgele durumu '0' olarak ayarlıyoruz, böylece veriler karıştırılarak olasılıklar elde ediliyor.
Destek Vektör Kümeleme (SVC), ML tekniklerinin Destek Vektör makineleri ailesinin bir üyesidir (aşağıda bunlar hakkında daha fazla bilgi edinin). Bu yöntemde, etiketleri nasıl kümeleneceğine karar vermek için bir 'kernel' seçebilirsiniz. 'C' parametresi, parametrelerin etkisini düzenleyen 'regularizasyon'u ifade eder. Kernel [çeşitli](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC) olabilir; burada lineer SVC'den yararlanmak için 'linear' olarak ayarladık. Probability varsayılan olarak 'false' tur; burada olasılık tahminlerini toplamak için 'true' olarak ayarladık. Verileri karıştırmak için random state '0' olarak ayarlandı.
### Alıştırma - bir Linear SVC uygulayın
### Alıştırma - lineer SVC uygula
Bir sınıflandırıcı dizisi oluşturarak başlayın. Test ettikçe bu diziye kademeli olarak ekleme yapacaksınız.
Öncelikle bir sınıflandırıcılar dizisi oluşturun. Test ettikçe bu diziye kademeli olarak ekleme yapacaksınız.
1. Linear SVC ile başlayın:
1. Lineer SVC ile başlayın:
```python
C = 10
# Create different classifiers.
# Farklı sınıflandırıcılar oluşturun.
classifiers = {
'Linear SVC': SVC(kernel='linear', C=C, probability=True,random_state=0)
}
```
2. Modelinizi Linear SVC kullanarak eğitin ve bir rapor yazdırın:
2. Modelinizi Lineer SVC kullanarak eğitin ve bir rapor yazdırın:
```python
n_classifiers = len(classifiers)
@ -105,15 +105,15 @@ Bir sınıflandırıcı dizisi oluşturarak başlayın. Test ettikçe bu diziye
weighted avg 0.79 0.79 0.79 1199
```
## K-Neighbors sınıflandırıcısı
## K-Komşu sınıflandırıcı
K-Neighbors, hem denetimli hem de denetimsiz öğrenme için kullanılabilen ML yöntemlerinin "komşular" ailesinin bir parçasıdır. Bu yöntemde, önceden tanımlanmış bir nokta sayısı oluşturulur ve veriler bu noktaların etrafında toplanır, böylece veriler için genelleştirilmiş etiketler tahmin edilebilir.
K-Komşu, hem denetimli hem de denetimsiz öğrenmede kullanılabilen "komşular" ailesinin bir parçasıdır. Bu yöntemde, önceden tanımlanmış sayıda nokta oluşturulur ve veriler bu noktaların etrafında toplanır, böylece veri için genelleştirilmiş etiketler tahmin edilebilir.
### Alıştırma - K-Neighbors sınıflandırıcısını uygulayın
### Alıştırma - K-Komşu sınıflandırıcıyı uygula
Önceki sınıflandırıcı iyiydi ve verilerle iyi çalıştı, ancak belki daha iyi bir doğruluk elde edebiliriz. Bir K-Neighbors sınıflandırıcısını deneyin.
Önceki sınıflandırıcı iyiydi ve veri ile iyi çalıştı, ancak belki daha iyi doğruluk elde edebiliriz. Bir K-Komşu sınıflandırıcı deneyin.
1. Sınıflandırıcı dizinize bir satır ekleyin (Linear SVC öğesinden sonra bir virgül ekleyin):
1. Sınıflandırıcı dizinize bir satır ekleyin (Lineer SVC maddesinden sonra virgül koyun):
```python
'KNN classifier': KNeighborsClassifier(C),
@ -136,17 +136,17 @@ K-Neighbors, hem denetimli hem de denetimsiz öğrenme için kullanılabilen ML
weighted avg 0.76 0.74 0.74 1199
```
✅ [K-Neighbors hakkında bilgi edinin](https://scikit-learn.org/stable/modules/neighbors.html#neighbors)
✅ [K-Neighbors](https://scikit-learn.org/stable/modules/neighbors.html#neighbors) hakkında bilgi edinin
## Support Vector Classifier
## Destek Vektör Sınıflandırıcı
Support-Vector sınıflandırıcıları, sınıflandırma ve regresyon görevleri için kullanılan ML yöntemlerinin [Support-Vector Machine](https://wikipedia.org/wiki/Support-vector_machine) ailesinin bir parçasıdır. SVM'ler, "eğitim örneklerini iki kategori arasındaki mesafeyi en üst düzeye çıkarmak için uzaydaki noktalara eşler." Sonraki veriler bu uzaya eşlenir, böylece kategorileri tahmin edilebilir.
Destek Vektör sınıflandırıcıları, sınıflandırma ve regresyon görevleri için kullanılan ML yöntemlerinin [Destek Vektör Makinesi](https://wikipedia.org/wiki/Support-vector_machine) ailesinin bir parçasıdır. SVM'ler "eğitim örneklerini uzaydaki noktalara eşler" ve iki kategori arasındaki mesafeyi maksimize eder. Sonraki veriler bu uzaya eşlenir ve kategorileri tahmin edilir.
### Alıştırma - bir Support Vector Classifier uygulayın
### Alıştırma - Destek Vektör Sınıflandırıcı uygula
Biraz daha iyi doğruluk elde etmek için bir Support Vector Classifier deneyelim.
Destek Vektör Sınıflandırıcı ile biraz daha iyi doğruluk elde etmeye çalışalım.
1. K-Neighbors öğesinden sonra bir virgül ekleyin ve ardından bu satırı ekleyin:
1. K-Komşu maddesinden sonra virgül koyun ve sonra bu satırı ekleyin:
```python
'SVC': SVC(),
@ -169,18 +169,18 @@ Biraz daha iyi doğruluk elde etmek için bir Support Vector Classifier deneyeli
weighted avg 0.84 0.83 0.83 1199
```
✅ [Support-Vectors hakkında bilgi edinin](https://scikit-learn.org/stable/modules/svm.html#svm)
✅ [Destek Vektörler](https://scikit-learn.org/stable/modules/svm.html#svm) hakkında bilgi edinin
## Ensemble Classifiers
## Topluluk Sınıflandırıcıları
Önceki test oldukça iyi olmasına rağmen, yolun sonuna kadar gidelim. Bazı 'Ensemble Classifiers' deneyelim, özellikle Random Forest ve AdaBoost:
Önceki test oldukça iyi olmasına rağmen, yolu sonuna kadar takip edelim. Bazı 'Topluluk Sınıflandırıcıları' deneyelim, özellikle Random Forest ve AdaBoost:
```python
'RFST': RandomForestClassifier(n_estimators=100),
'ADA': AdaBoostClassifier(n_estimators=100)
```
Sonuç özellikle Random Forest için çok iyi:
Sonuç çok iyi, özellikle Random Forest için:
```output
Accuracy (train) for RFST: 84.5%
@ -210,31 +210,33 @@ Accuracy (train) for ADA: 72.4%
weighted avg 0.73 0.72 0.72 1199
```
✅ [Ensemble Classifiers hakkında bilgi edinin](https://scikit-learn.org/stable/modules/ensemble.html)
✅ [Topluluk Sınıflandırıcıları](https://scikit-learn.org/stable/modules/ensemble.html) hakkında bilgi edinin
Bu Makine Öğrenimi yöntemi, modelin kalitesini artırmak için birkaç temel tahmin edicinin tahminlerini birleştirir. Örneğimizde, Random Trees ve AdaBoost kullandık.
Bu Makine Öğrenimi yöntemi, "birkaç temel tahmin edicinin tahminlerini birleştirerek" model kalitesini artırır. Örneğimizde Rastgele Ağaçlar ve AdaBoost kullandık.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), bir 'karar ağaçları' 'ormanı' oluşturan ve aşırı uyumu önlemek için rastgelelik ekleyen bir ortalama yöntemi. N_estimators parametresi, ağaç sayısını belirler.
- [Random Forest](https://scikit-learn.org/stable/modules/ensemble.html#forest), bir ortalama yöntemi, aşırı öğrenmeyi önlemek için rastgelelikle donatılmış 'karar ağaçları' 'ormanı' oluşturur. n_estimators parametresi ağaç sayısına ayarlanır.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html), bir veri kümesine bir sınıflandırıcı uyarlar ve ardından aynı veri kümesine bu sınıflandırıcının kopyalarını uyarlar. Yanlış sınıflandırılmış öğelerin ağırlıklarına odaklanır ve bir sonraki sınıflandırıcıyı düzeltmek için uyumu ayarlar.
- [AdaBoost](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html), bir sınıflandırıcıyı verisetine uyar ve sonra bu sınıflandırıcının kopyalarını aynı verisetine uyar. Yanlış sınıflandırılmış öğelerin ağırlıklarına odaklanır ve sonraki sınıflandırıcının uymasını düzeltmek için ayarlar.
---
## 🚀Meydan Okuma
Bu tekniklerin her birinin ayarlayabileceğiniz çok sayıda parametresi vardır. Her birinin varsayılan parametrelerini araştırın ve bu parametreleri ayarlamanın modelin kalitesi için ne anlama geleceğini düşünün.
Bu tekniklerin her birinin ayarlanabilecek çok sayıda parametresi vardır. Her birinin varsayılan parametrelerini araştırın ve bu parametrelerin değiştirilmesinin model kalitesi için ne anlama geleceğini düşünün.
## [Ders Sonrası Test](https://ff-quizzes.netlify.app/en/ml/)
## [Ders sonrası quiz](https://ff-quizzes.netlify.app/en/ml/)
## Gözden Geçirme ve Kendi Kendine Çalışma
## Tekrar & Kendi Kendine Çalışma
Bu derslerde çok fazla terim var, bu yüzden [bu listeyi](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) gözden geçirmek için bir dakikanızı ayırın!
Bu derslerde çok fazla jargon var, bu yüzden faydalı terimler [bu listeyi](https://docs.microsoft.com/dotnet/machine-learning/resources/glossary?WT.mc_id=academic-77952-leestott) gözden geçirmek için bir dakika ayırın!
## Ödev
## Ödev
[Parametrelerle Oynama](assignment.md)
[Parametre oyunu](assignment.md)
---
**Feragatname**:
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dilindeki hali, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Feragatname**:
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen göz önünde bulundurun. Orijinal belge, kendi ana dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek herhangi bir yanlış anlama veya yanlış yorumdan sorumlu değiliz.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -3,7 +3,9 @@
{
"cell_type": "markdown",
"metadata": {},
"source": []
"source": [
"# Sınıflandırma Modeli Oluşturma\n"
]
},
{
"cell_type": "code",
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Feragatname**: \nBu belge, [Co-op Translator](https://github.com/Azure/co-op-translator) adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlama veya yanlış yorumlamalardan sorumlu değiliz.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Feragatname**: \nBu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için özen göstermemize rağmen, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilmektedir. Bu çevirinin kullanımından doğabilecek herhangi bir yanlış anlama veya yorumlama nedeniyle sorumluluk kabul edilmez.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -150,12 +152,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "15a83277036572e0773229b5f21c1e12",
"translation_date": "2025-09-06T14:42:31+00:00",
"source_file": "4-Classification/3-Classifiers-2/notebook.ipynb",
"language_code": "tr"
}
},
"nbformat": 4,

@ -1,7 +1,9 @@
{
"cells": [
{
"source": [],
"source": [
"# Daha Fazla Sınıflandırma Modeli Oluşturun\n"
],
"cell_type": "markdown",
"metadata": {}
},
@ -114,15 +116,15 @@
}
],
"source": [
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
"cuisines_features_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_features_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Farklı sınıflandırıcıları deneyin\n"
"# Farklı sınıflandırıcıları dene\n"
]
},
{
@ -146,7 +148,7 @@
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
"X_train, X_test, y_train, y_test = train_test_split(cuisines_features_df, cuisines_label_df, test_size=0.3)"
]
},
{
@ -261,7 +263,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Feragatname**: \nBu belge, [Co-op Translator](https://github.com/Azure/co-op-translator) adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlama veya yanlış yorumlamalardan sorumlu değiliz.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Feragatname**:\nBu belge, AI çeviri servisi [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba gösterilmekle birlikte, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek herhangi bir yanlış anlama veya yorum hatasından sorumlu tutulamayız.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -289,12 +291,6 @@
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
}
},
"coopTranslator": {
"original_hash": "7ea2b714669c823a596d986ba2d5739f",
"translation_date": "2025-09-06T14:43:04+00:00",
"source_file": "4-Classification/3-Classifiers-2/solution/notebook.ipynb",
"language_code": "tr"
}
},
"nbformat": 4,

@ -10,76 +10,86 @@
### 🌐 Çok Dilli Destek
#### GitHub Action ile Desteklenmektedir (Otomatik ve Her Zaman Güncel)
#### GitHub Action ile Desteklenmektedir (Otomatik & Her Zaman Güncel)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](./README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Yerel Kopyayı Tercih Ediyor Musunuz?**
> Bu depo, indirme boyutunu önemli ölçüde artıran 50+ dil çevirisini içerir. Çeviriler olmadan klonlamak için, seyrek checkout kullanın:
> **Yerel olarak Klonlamayı mı Tercih Edersiniz?**
>
> Bu depo, indirme boyutunu önemli ölçüde artıran 50'den fazla dil çevirisini içerir. Çevirileri olmadan klonlamak için özelleştirilmiş (sparse) çekme işlemi kullanın:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Bu, kursu tamamlamanız için ihtiyacınız olan her şeyi çok daha hızlı bir indirme ile size verir.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Bu, kursu tamamlamak için gereken her şeyi çok daha hızlı bir indirme ile size sağlar.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### Topluluğumuza Katılın
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
AI ile öğrenme serimiz Discord'da devam ediyor, daha fazla bilgi edinmek ve bize katılmak için 18 - 30 Eylül 2025 tarihlerinde [AI ile Öğrenme Serisi](https://aka.ms/learnwithai/discord) adresine gidin. Veri Bilimi için GitHub Copilot kullanımı hakkında ipuçları ve püf noktaları elde edeceksiniz.
Bir Discord üzerinde AI ile öğrenme serimiz devam ediyor, daha fazla bilgi almak ve bize katılmak için [Learn with AI Series](https://aka.ms/learnwithai/discord) adresini ziyaret edin, 18 - 30 Eylül 2025 arasında. GitHub Copilot'u Veri Bilimi için kullanmanın ipuçları ve püf noktaları sizleri bekliyor.
![AI ile Öğrenme serisi](../../translated_images/tr/3.9b58fd8d6c373c20.webp)
![Learn with AI series](../../translated_images/tr/3.9b58fd8d6c373c20.webp)
# Yeni Başlayanlar için Makine Öğrenimi - Bir Müfredat
> 🌍 Dünya kültürleri aracılığıyla Makine Öğrenimini keşfederken dünyayı dolaşın 🌍
> 🌍 Makine Öğrenimini dünya kültürleri aracılığıyla keşfederken dünya turuna çıkın 🌍
Microsoft'taki Bulut Savunucuları, **Makine Öğrenimi** hakkında 12 haftalık, 26 derslik bir müfredat sunmaktan mutluluk duyuyor. Bu müfredatta, bazen **klasik makine öğrenimi** olarak adlandırılan konuyu öğreneceksiniz. Genellikle Scikit-learn kütüphanesi kullanılır ve derin öğrenmeden (bizim [AI for Beginners müfredatımızda](https://aka.ms/ai4beginners) ele alınan) kaçınılır. Bu dersleri ayrıca ['Yeni Başlayanlar için Veri Bilimi' müfredatımız](https://aka.ms/ds4beginners) ile birlikte kullanabilirsiniz!
Microsoft'taki Bulut Savunucuları, tamamen **Makine Öğrenimi** üzerine odaklanmış 12 haftalık, 26 derslik bir müfredat sunmaktan mutluluk duyar. Bu müfredatta çoğunlukla Scikit-learn kütüphanesi kullanarak bazen klasik makine öğrenimi olarak adlandırılan yöntemi öğreneceksiniz ve derin öğrenmeden kaçınacaksınız; derin öğrenme bizim [Yeni Başlayanlar için Yapay Zeka müfredatımızda](https://aka.ms/ai4beginners) ele alınmaktadır. Bu dersleri ayrıca ['Yeni Başlayanlar için Veri Bilimi' müfredatımızla](https://aka.ms/ds4beginners) birleştirebilirsiniz!
Dünya çapından çeşitli verilerle bu klasik teknikleri uygularken bizimle seyahat edin. Her ders, ders öncesi ve sonrası sınavlar, dersi tamamlamak için yazılı talimatlar, bir çözüm, bir ödev ve daha fazlasını içerir. Proje temelli pedagojimiz, yeni becerilerin 'yerleşmesi' için kanıtlanmış bir yöntem olan öğrenirken inşa etmeyi sağlar.
Bu klasik teknikleri dünyanın birçok bölgesinden elde edilen veriler üzerinde uygularken bizimle dünya turuna çıkın. Her derste öncesinde ve sonrasında quizler, dersin tamamlanması için yazılı talimatlar, çözümler, ödevler ve daha fazlası bulunmaktadır. Proje tabanlı pedagojimiz, yeni becerilerin sağlam şekilde öğrenilmesini sağlayan bir yöntem olarak inşa edilir.
**✍️ Yazarlarımıza içten teşekkürler** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu ve Amy Boyd
**✍️ Samimi teşekkürler yazarlarımıza** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu ve Amy Boyd
**🎨 İllüstratörlerimize teşekkürler** Tomomi Imura, Dasani Madipalli ve Jen Looper
**🎨 Teşekkürler ayrıca illüstratörlerimize** Tomomi Imura, Dasani Madipalli ve Jen Looper
**🙏 Microsoft Öğrenci Elçileri yazarlarımıza, gözden geçirenlere ve içerik katkıcılarına özel teşekkürler**, özellikle Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila ve Snigdha Agarwal
**🙏 Özel teşekkürler 🙏 Microsoft Öğrenci Elçisi yazarlarımıza, inceleyicilerimize ve içerik katkıda bulunanlara**, özellikle Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila ve Snigdha Agarwal
**🤩 R derslerimiz için Microsoft Öğrenci Elçileri Eric Wanjau, Jasleen Sondhi ve Vidushi Gupta'ya ekstra minnettarız!**
**🤩 Ekstra teşekkürler Microsoft Öğrenci Elçileri Eric Wanjau, Jasleen Sondhi ve Vidushi Gupta'ya R derslerimiz için!**
# Başlarken
Bu adımları izleyin:
1. **Depoyu çatallayın (Fork)**: Bu sayfanın sağ üst köşesindeki "Fork" düğmesine tıklayın.
2. **Depoyu klonlayın**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
Aşağıdaki adımları takip edin:
1. **Depoyu Forklayın**: Bu sayfanın sağ üstündeki "Fork" butonuna tıklayın.
2. **Depoyu Klonlayın**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [Bu kurs için tüm ek kaynakları Microsoft Learn koleksiyonumuzda bulun](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 🔧 **Yardıma mı ihtiyacınız var?** Kurulum, ayar ve ders çalıştırma ile ilgili yaygın sorunlar için [Sorun Giderme Kılavuzumuza](TROUBLESHOOTING.md) bakın.
> 🔧 **Yardıma mı ihtiyacınız var?** Kurulum, yapılandırma ve derslerin çalıştırılmasıyla ilgili yaygın sorunların çözümleri için [Sorun Giderme Rehberimize](TROUBLESHOOTING.md) bakın.
**[Öğrenciler](https://aka.ms/student-page)**, bu müfredatı kullanmak için tüm depoyu kendi GitHub hesabınıza çatallayın ve ödevleri kendi başınıza veya bir grupla tamamlayın:
**[Öğrenciler](https://aka.ms/student-page)**, bu müfredatı kullanmak için, tüm depoyu kendi GitHub hesabınıza forklayın ve alıştırmaları kendi başınıza veya bir grupla tamamlayın:
- Ders öncesi bir sınavla başlayın.
- Dersi okuyun ve bilgi kontrolü sırasında duraklayıp düşünerek etkinlikleri tamamlayın.
- Dersleri anlamaya çalışarak projeleri oluşturun, çözüm kodunu doğrudan çalıştırmak yerine anlamaya çalışın; ancak bu kod her proje odaklı dersin `/solution` klasöründe mevcuttur.
- Ön ders sınavı ile başlayın.
- Dersi okuyun ve bilgiyi kontrol etmek için her bilgi kontrolünde durup düşünerek aktiviteleri tamamlayın.
- Çözümleri çalıştırmak yerine dersleri anlayarak projeleri oluşturmaya çalışın; ancak her proje odaklı dersin `/solution` klasöründe bu çözümler mevcuttur.
- Ders sonrası sınavı yapın.
- Meydan okumayı tamamlayın.
- Mücadeleyi tamamlayın.
- Ödevi tamamlayın.
- Bir ders grubunu tamamladıktan sonra [Tartışma Panosunu](https://github.com/microsoft/ML-For-Beginners/discussions) ziyaret edin ve uygun PAT ölçeğini doldurarak "yüksek sesle öğrenin". 'PAT' (İlerleme Değerlendirme Aracı), öğreniminizi ilerletmek için doldurduğunuz bir değerlendirme formudur. Ayrıca diğer PAT'lere tepki verebilir, böylece birlikte öğrenebiliriz.
- Bir ders grubunu tamamladıktan sonra, [Tartışma Panosu](https://github.com/microsoft/ML-For-Beginners/discussions)'nu ziyaret edin ve uygun PAT (İlerleme Değerlendirme Aracı) rubric'ini doldurarak "yüksek sesle öğrenme" yapın. Ayrıca diğer PAT'lere tepki vererek birlikte öğrenebiliriz.
> Daha ileri çalışmalar için, bu [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modüllerini ve öğrenme yollarını takip etmenizi öneririz.
> Daha fazla çalışma için, bu [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modüllerini ve öğrenim yollarını takip etmenizi öneririz.
**Öğretmenler**, bu müfredatı nasıl kullanacağınıza dair [birkaç öneriyi](for-teachers.md) dahil ettik.
**Öğretmenler**, bu müfredatın nasıl kullanılacağına dair [bazı öneriler](for-teachers.md) ekledik.
---
## Video Anlatımları
## Video anlatımları
Bazı dersler kısa video olarak mevcuttur. Bunların tümünü derslerin içinde veya [Microsoft Developer YouTube kanalındaki ML for Beginners oynatma listesinde](https://aka.ms/ml-beginners-videos) aşağıdaki resme tıklayarak bulabilirsiniz.
Bazı dersler kısa form videolar olarak mevcuttur. Tüm videoları derslerde satır içi olarak veya [ML for Beginners oynatma listesinde Microsoft Developer YouTube kanalında](https://aka.ms/ml-beginners-videos) aşağıdaki görsele tıklayarak bulabilirsiniz.
[![ML for beginners banner](../../translated_images/tr/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -87,81 +97,81 @@ Bazı dersler kısa video olarak mevcuttur. Bunların tümünü derslerin içind
## Takımla Tanışın
[![Tanıtım videosu](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**Gif yapan** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
**Gif hazırlayan** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Proje ve yaratan kişilerle ilgili video için yukarıdaki resme tıklayın!
> 🎥 Proje ve yaratan kişiler hakkında video için yukarıdaki görsele tıklayın!
---
## Pedagoji
Bu müfredatı oluştururken iki pedagojik ilke seçtik: uygulamalı **proje tabanlı** olmasını sağlamak ve **sık sık quizler** içermek. Ayrıca, bu müfredatın bir bütünlük kazanması için ortak bir **tema** içerir.
Bu müfredatı oluştururken iki pedagojik ilkeyi seçtik: uygulamalı **proje tabanlı** olmasını ve **sık quizler** içermesini sağlamak. Ayrıca, bu müfredat bütünlük kazandırmak için ortak bir **tema** içeriyor.
İçeriğin projelerle uyumlu olması, süreci öğrenciler için daha ilgi çekici kılar ve kavramların kalıcılığını artırır. Ek olarak, ders öncesi düşük riskli bir quiz öğrencinin öğrenme amacını belirlerken, ders sonrası ikinci quiz bilgilerin kalıcı olmasını sağlar. Bu müfredat esnek ve eğlenceli olacak şekilde tasarlanmıştır ve tamamen ya da kısmen alınabilir. Projeler küçük başlar ve 12 haftalık döngünün sonunda giderek karmaşıklaşır. Bu müfredat ayrıca gerçek dünya ML uygulamaları ile ilgili bir postscript içerir, bu ek kredi olarak veya tartışma temeli olarak kullanılabilir.
İçeriğin projelerle uyumlu olması, öğrencilerin sürece daha fazla dahil olmalarını ve kavramların kalıcılığını artırır. Ders öncesinde yapılan düşük riskli quiz, öğrencinin öğrenmeye yönelik amacını belirlerken, ders sonrası yapılan ikinci quiz öğrenmenin pekişmesini sağlar. Bu müfredat esnek ve eğlenceli olacak şekilde tasarlanmıştır ve tamamen veya kısmen tamamlanabilir. Projeler küçük başlar ve 12 haftalık döngünün sonunda giderek daha karmaşık hale gelir. Ayrıca müfredat, gerçek dünyadaki Makine Öğrenimi uygulamaları üzerine bir postskript içerir; bu ekstra kredi olarak veya tartışma temeli olarak kullanılabilir.
> Bizim [Davranış Kurallarımız](CODE_OF_CONDUCT.md), [Katkı Kılavuzumuz](CONTRIBUTING.md), [Çeviri](TRANSLATIONS.md) ve [Sorun Giderme](TROUBLESHOOTING.md) yönergelerimizi bulun. Yapıcı geri bildirimlerinizi memnuniyetle karşılıyoruz!
> [Davranış Kurallarımızı](CODE_OF_CONDUCT.md), [Katkıda Bulunma](CONTRIBUTING.md), [Çeviri](TRANSLATIONS.md) ve [Sorun Giderme](TROUBLESHOOTING.md) yönergelerimizi bulun. Yapıcı geri bildiriminizi memnuniyetle karşılıyoruz!
## Her ders şunları içerir
- isteğe bağlı taslak notu
- isteğe bağlı destekleyici video
- video anlatımı (sadece bazı derslerde)
- [ders öncesi ısınma quizi](https://ff-quizzes.netlify.app/en/ml/)
- isteğe bağlı eskiz notu
- isteğe bağlı ek video
- video anlatımı (bazı derslerde)
- [ders öncesi ısınma sınavı](https://ff-quizzes.netlify.app/en/ml/)
- yazılı ders
- proje tabanlı derslerde, projeyi adım adım oluşturma kılavuzları
- proje tabanlı derslerde, projenin adım adım nasıl oluşturulacağına dair rehber
- bilgi kontrolleri
- bir meydan okuma
- destekleyici okuma materyali
- bir mücadele
- ek okumalar
- ödev
- [ders sonrası quiz](https://ff-quizzes.netlify.app/en/ml/)
> **Diller hakkında bir not**: Bu dersler öncelikle Python ile yazılmıştır, ancak çoğu ders aynı zamanda R dilinde de mevcuttur. Bir R dersini tamamlamak için `/solution` klasörüne gidin ve R derslerini arayın. Bunlar, `R Markdown` dosyası olan .rmd uzantısını içerir; bu, `kod parçacıklarının` (R veya diğer diller) ve çıktılarının nasıl biçimlendirileceğini yöneten bir `YAML başlığı`nın gömülmesiyle tanımlanabilir. Bu sayede, kodunuzu, çıktılarını ve düşüncelerinizi Markdown içinde yazmanıza olanak tanıyarak veri bilimi için örnek bir yazım çerçevesi olarak hizmet eder. Ayrıca, R Markdown belgeleri PDF, HTML veya Word gibi çıktı biçimlerine dönüştürülebilir.
> **Sınavlarla ilgili bir not**: Tüm sınavlar, her biri üç sorudan oluşan toplam 52 sınav için [Quiz App klasöründe](../../quiz-app) bulunmaktadır. Bunlar derslerin içinde bağlantılıdır ancak quiz uygulaması yerel olarak çalıştırılabilir; `quiz-app` klasöründeki talimatları izleyerek yerel olarak barındırabilir veya Azure'a dağıtabilirsiniz.
| Ders Numarası | Konu | Ders Grubu | Öğrenme Hedefleri | Bağlı Ders | Yazar |
| :-----------: | :----------------------------------------------------------: | :---------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------: |
| 01 | Makine öğrenimine giriş | [Giriş](1-Introduction/README.md) | Makine öğreniminin temel kavramlarını öğrenin | [Ders](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Makine öğreniminin tarihi | [Giriş](1-Introduction/README.md) | Bu alanın tarihini öğrenin | [Ders](1-Introduction/2-history-of-ML/README.md) | Jen ve Amy |
| 03 | Adalet ve makine öğrenimi | [Giriş](1-Introduction/README.md) | Öğrencilerin ML modelleri oluştururken ve uygularken dikkate alması gereken önemli adalet felsefi meseleleri nelerdir? | [Ders](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Makine öğrenimi teknikleri | [Giriş](1-Introduction/README.md) | ML araştırmacılarının ML modelleri oluşturmak için kullandığı teknikler nelerdir? | [Ders](1-Introduction/4-techniques-of-ML/README.md) | Chris ve Jen |
| 05 | Regresyona giriş | [Regresyon](2-Regression/README.md) | Regresyon modelleri için Python ve Scikit-learn ile başlayın | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Kuzey Amerika balkabağı fiyatları 🎃 | [Regresyon](2-Regression/README.md) | ML için veri görselleştirme ve temizleme | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Kuzey Amerika balkabağı fiyatları 🎃 | [Regresyon](2-Regression/README.md) | Doğrusal ve polinom regresyon modelleri oluşturun | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen ve Dmitry • Eric Wanjau |
| 08 | Kuzey Amerika balkabağı fiyatları 🎃 | [Regresyon](2-Regression/README.md) | Lojistik regresyon modeli oluşturun | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Bir Web Uygulaması 🔌 | [Web App](3-Web-App/README.md) | Eğitilmiş modelinizi kullanmak için bir web uygulaması oluşturun | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Sınıflandırmaya giriş | [Sınıflandırma](4-Classification/README.md) | Verilerinizi temizleyin, hazırlayın ve görselleştirin; sınıflandırmaya giriş | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen ve Cassie • Eric Wanjau |
| 11 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Sınıflandırıcılara giriş | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen ve Cassie • Eric Wanjau |
| 12 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Daha fazla sınıflandırıcı | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen ve Cassie • Eric Wanjau |
| 13 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Modelinizi kullanarak bir öneri web uygulaması oluşturun | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Kümelemeye giriş | [Kümeleme](5-Clustering/README.md) | Verilerinizi temizleyin, hazırlayın ve görselleştirin; Kümelemeye giriş | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Nijerya Müzik Zevklerini Keşfetmek 🎧 | [Kümeleme](5-Clustering/README.md) | K-Means kümeleme yöntemini keşfedin | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Doğal dil işleme girişimi ☕️ | [Doğal dil işleme](6-NLP/README.md) | Basit bir bot yaparak NLP'nin temellerini öğrenin | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Yaygın NLP Görevleri ☕️ | [Doğal dil işleme](6-NLP/README.md) | Dil yapılarıyla çalışırken gereken yaygın görevleri anlayarak NLP bilginizi derinleştirin | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Çeviri ve duygu analizi ♥️ | [Doğal dil işleme](6-NLP/README.md) | Jane Austen ile çeviri ve duygu analizi | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Avrupa'nın romantik otelleri ♥️ | [Doğal dil işleme](6-NLP/README.md) | Otel yorumları ile duygu analizi 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Avrupa'nın romantik otelleri ♥️ | [Doğal dil işleme](6-NLP/README.md) | Otel yorumları ile duygu analizi 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Zaman serisi tahminine giriş | [Zaman serisi](7-TimeSeries/README.md) | Zaman serisi tahminine giriş | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Dünya Güç Kullanımı ⚡️ - ARIMA ile zaman serisi tahmini | [Zaman serisi](7-TimeSeries/README.md) | ARIMA ile zaman serisi tahmini | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Dünya Güç Kullanımı ⚡️ - SVR ile zaman serisi tahmini | [Zaman serisi](7-TimeSeries/README.md) | Destek Vektör Regresörü ile zaman serisi tahmini | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pekiştirmeli öğrenmeye giriş | [Pekiştirmeli öğrenme](8-Reinforcement/README.md) | Q-Öğrenme ile pekiştirmeli öğrenmeye giriş | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Peter'ın kurttan kaçmasına yardım edin! 🐺 | [Pekiştirmeli öğrenme](8-Reinforcement/README.md) | Pekiştirmeli öğrenme Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Son Söz | Gerçek dünya ML senaryoları ve uygulamaları | [Gerçek Dünya ML](9-Real-World/README.md) | Klasik ML'nin ilginç ve açıklayıcı gerçek dünya uygulamaları | [Ders](9-Real-World/1-Applications/README.md) | Takım |
| Son Söz | RAI panosu kullanarak ML modelleri hata ayıklama | [Gerçek Dünya ML](9-Real-World/README.md) | Sorumlu AI pano bileşenlerini kullanarak Makine Öğreniminde Model Hata Ayıklama | [Ders](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [bu kurs için tüm ek kaynakları Microsoft Learn koleksiyonumuzda bulun](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- [ders sonrası sınav](https://ff-quizzes.netlify.app/en/ml/)
> **Diller hakkında bir not**: Bu dersler öncelikle Python ile yazılmıştır, ancak birçoğu R dilinde de mevcuttur. Bir R dersini tamamlamak için, `/solution` klasörüne gidin ve R derslerini arayın. Bunlar, R veya diğer dillerdeki `kod parçacıkları` ve çıktıların (örneğin PDF gibi) nasıl biçimlendirileceğini yönlendiren bir `YAML başlığı` içeren bir **R Markdown** dosyasını temsil eden .rmd uzantısına sahiptir. Bu nedenle, kodunuzu, çıktısını ve düşüncelerinizi Markdown içinde yazmanıza olanak tanıyarak, veri bilimi için örnek bir yazım çerçevesi olarak hizmet eder. Ayrıca, R Markdown belgeleri PDF, HTML veya Word gibi çıktı formatlarına dönüştürülebilir.
> **Quizler hakkında bir not**: Tüm quizler [Quiz App klasöründe](../../quiz-app) bulunur, her biri üç sorudan oluşan toplam 52 quiz içerir. Quizler dersler içinde bağlantılıdır ancak quiz uygulaması yerel olarak çalıştırılabilir; yerel barındırma veya Azure'a dağıtım için `quiz-app` klasöründeki talimatları takip edin.
| Ders Numarası | Konu | Ders Grubu | Öğrenim Hedefleri | Bağlantılı Ders | Yazar |
| :-----------: | :------------------------------------------------------------: | :---------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| 01 | Makine öğrenimine giriş | [Giriş](1-Introduction/README.md) | Makine öğrenmesinin temel kavramlarını öğrenin | [Ders](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | Makine öğrenmesinin tarihi | [Giriş](1-Introduction/README.md) | Bu alanın tarihçesini öğrenin | [Ders](1-Introduction/2-history-of-ML/README.md) | Jen ve Amy |
| 03 | Adalet ve makine öğrenimi | [Giriş](1-Introduction/README.md) | Öğrencilerin ML modellerini oluştururken ve uygularken göz önünde bulundurması gereken önemli felsefi adalet konuları nelerdir? | [Ders](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | Makine öğrenimi teknikleri | [Giriş](1-Introduction/README.md) | ML araştırmacılarının ML modelleri oluşturmak için kullandığı teknikler nelerdir? | [Ders](1-Introduction/4-techniques-of-ML/README.md) | Chris ve Jen |
| 05 | Regresyona giriş | [Regresyon](2-Regression/README.md) | Regresyon modelleri için Python ve Scikit-learn ile başlayın | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | Kuzey Amerika kabak fiyatları 🎃 | [Regresyon](2-Regression/README.md) | Makine öğrenmesi için veri görselleştirme ve temizleme | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | Kuzey Amerika kabak fiyatları 🎃 | [Regresyon](2-Regression/README.md) | Lineer ve polinomiyal regresyon modelleri kurun | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen ve Dmitry • Eric Wanjau |
| 08 | Kuzey Amerika kabak fiyatları 🎃 | [Regresyon](2-Regression/README.md) | Lojistik regresyon modeli kurun | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Bir Web Uygulaması 🔌 | [Web Uygulaması](3-Web-App/README.md) | Eğittiğiniz modelle bir web uygulaması oluşturun | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | Sınıflandırmaya giriş | [Sınıflandırma](4-Classification/README.md) | Verilerinizi temizleyin, hazırlayın ve görselleştirin; sınıflandırmaya giriş | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen ve Cassie • Eric Wanjau |
| 11 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Sınıflandırıcılara giriş | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen ve Cassie • Eric Wanjau |
| 12 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Daha fazla sınıflandırıcı | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen ve Cassie • Eric Wanjau |
| 13 | Lezzetli Asya ve Hint mutfakları 🍜 | [Sınıflandırma](4-Classification/README.md) | Modelinizi kullanarak öneri yapan bir web uygulaması oluşturun | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | Kümelemeye giriş | [Kümeleme](5-Clustering/README.md) | Verilerinizi temizleyin, hazırlayın ve görselleştirin; Kümelemeye giriş | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | Nijeryanın müzik zevklerini keşfetmek 🎧 | [Kümeleme](5-Clustering/README.md) | K-Means kümeleme yöntemini keşfedin | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | Doğal dil işleme giriş ☕️ | [Doğal dil işleme](6-NLP/README.md) | Basit bir bot oluşturarak NLP temel bilgilerini öğrenin | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | Yaygın NLP Görevleri ☕️ | [Doğal dil işleme](6-NLP/README.md) | Dil yapıları ile çalışırken gereken yaygın görevleri anlayarak NLP bilginizi derinleştirin | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | Çeviri ve duygu analizi ♥️ | [Doğal dil işleme](6-NLP/README.md) | Jane Austen ile çeviri ve duygu analizi | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | Avrupanın romantik otelleri ♥️ | [Doğal dil işleme](6-NLP/README.md) | Otel yorumlarıyla duygu analizi 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | Avrupanın romantik otelleri ♥️ | [Doğal dil işleme](6-NLP/README.md) | Otel yorumlarıyla duygu analizi 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | Zaman serisi tahminine giriş | [Zaman Serisi](7-TimeSeries/README.md) | Zaman serisi tahminine giriş | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ Dünya Güç Kullanımı ⚡️ - ARIMA ile zaman serisi tahmini | [Zaman Serisi](7-TimeSeries/README.md) | ARIMA ile zaman serisi tahmini | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ Dünya Güç Kullanımı ⚡️ - SVR ile zaman serisi tahmini | [Zaman Serisi](7-TimeSeries/README.md) | Destek Vektör Regresörü ile zaman serisi tahmini | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | Pekiştirmeli öğrenmeye giriş | [Pekiştirmeli öğrenme](8-Reinforcement/README.md) | Q-Öğrenme ile pekiştirmeli öğrenmeye giriş | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | Peterın kurttan kaçmasına yardım et! 🐺 | [Pekiştirmeli öğrenme](8-Reinforcement/README.md) | Pekiştirmeli öğrenme Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Son Not | Gerçek Dünya ML Senaryoları ve Uygulamaları | [Doğada ML](9-Real-World/README.md) | Klasik MLnin ilginç ve öğretici gerçek dünya uygulamaları | [Ders](9-Real-World/1-Applications/README.md) | Ekip |
| Son Not | RAI panosu kullanarak MLde Model Hata Ayıklama | [Doğada ML](9-Real-World/README.md) | Responsible AI pano bileşenleri kullanarak Makine Öğreniminde Model Hata Ayıklama | [Ders](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [Bu kursun tüm ek kaynaklarını Microsoft Learn koleksiyonumuzda bulun](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## Çevrimdışı erişim
Bu dokümantasyonu çevrimdışı olarak [Docsify](https://docsify.js.org/#/) kullanarak çalıştırabilirsiniz. Bu depoyu çatallayın, yerel makinenize [Docsify kurun](https://docsify.js.org/#/quickstart) ve ardından bu deponun kök klasöründe `docsify serve` komutunu yazın. Web sitesi localhostunuzda 3000 portunda yayınlanacaktır: `localhost:3000`.
Bu dokümantasyonu çevrimdışı olarak [Docsify](https://docsify.js.org/#/) kullanarak çalıştırabilirsiniz. Bu depoyu çatallayın, yerel makinenize [Docsify'ı yükleyin](https://docsify.js.org/#/quickstart) ve ardından bu deponun kök klasöründe `docsify serve` yazın. Web sitesi, yerel makinenizde 3000 numaralı portta `localhost:3000` adresinde sunulacaktır.
## PDF'ler
Bağlantılı müfredatın pdf dosyasını [burada](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf) bulabilirsiniz.
Müfredatın bağlantılı PDFsini [buradan](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf) bulabilirsiniz.
## 🎒 Diğer Kurslar
## 🎒 Diğer Kurslar
Ekibimiz başka kurslar da üretiyor! Göz atın:
@ -180,44 +190,49 @@ Ekibimiz başka kurslar da üretiyor! Göz atın:
---
### Yaratıcı AI Serisi
[![Yeni Başlayanlar için Üretken Yapay Zeka](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)
[![Üretken Yapay Zeka (.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)
[![Üretken Yapay Zeka (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)
[![Üretken Yapay Zeka (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)
### Üretken AI Serisi
[![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)
---
### Temel Öğrenme
[![Yeni Başlayanlar için ML](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)
[![Yeni Başlayanlar için Veri Bilimi](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)
[![Yeni Başlayanlar için Yapay Zeka](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)
[![Yeni Başlayanlar için Siber Güvenlik](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)
[![Yeni Başlayanlar için Web Geliştirme](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)
[![Yeni Başlayanlar için Nesnelerin İnterneti](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)
[![Yeni Başlayanlar için XR Geliştirme](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 Serisi
[![Yapay Zeka Eşliğinde Programlama için Copilot](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)
[![C#/.NET için Copilot](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 Macerası](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Yardım Alma
Eğer takılırsanız ya da yapay zeka uygulamaları geliştirme hakkında sorularınız varsa. MCP hakkında tartışmalara katılmak için diğer öğrenenler ve deneyimli geliştiricilerle bir araya gelin. Burası soruların memnuniyetle karşılandığı ve bilginin özgürce paylaşıldığı destekleyici bir topluluktur.
AI uygulamaları geliştirirken takılırsanız veya herhangi bir sorunuz olursa, diğer öğrenenler ve deneyimli geliştiricilerle MCP hakkında tartışmalara katılın. Soruların hoş karşılandığı ve bilgi paylaşımının serbest olduğu destekleyici bir topluluktur.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Eğer ürün geri bildirimi veya geliştirirken hata raporları varsa ziyaret edin:
Ürün geri bildirimi veya geliştirme sırasında hata bildirimi için ziyaret edin:
[![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)
## Ek Öğrenme İpuçları
[![Microsoft Foundry Geliştirici Forumu](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)
- Daha iyi anlamak için her dersten sonra not defterlerini gözden geçirin.
- Algoritmaları kendi başınıza uygulama pratiği yapın.
- Öğrenilen kavramları gerçek dünya veri setlerinde keşfedin.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Feragatname**:
Bu belge, AI çeviri servisi [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstermemize rağmen, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek yanlış anlamalar veya yanlış yorumlamalardan tarafımız sorumlu değildir.
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba gösterilse de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen göz önünde bulundurun. Orijinal belge, kendi ana dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek herhangi bir yanlış anlama veya yorumdan sorumlu değiliz.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save