TRANS: reviewed az translation 4.2

pull/777/head^2
Karim Karimov 2 years ago
parent 046ea6b980
commit 79d4a8b576
No known key found for this signature in database

@ -1,13 +1,14 @@
# Mətbəx təsnifatlandıcıları - hissə 1
# Mətbəx qruplaşdırıcıları - hissə 1
Bu dərsdə əvvəlki dərsdən əldə etdiyimiz balanslı və təmizlənmiş mətbəx data massivindən istifadə edəcəksiniz.
Bu dərsdə əvvəlki dərsdən əldə etdiyimiz balanslı və təmizlənmiş mətbəx datasetindən istifadə edəcəksiniz.
Bu data massivini müxtəlif qruplaşdırıcılarda istifadə edərək _inqrediyentlər əsasında milli mətbəxləri təxmin edəcəksiniz_. Bunu edərkən alqoritmi başqa hansı qruplaşdırma tapşırıqlarında istifadə edə biləcəyinizi də öyrənəcəksiniz.
Bu dataseti müxtəlif qruplaşdırıcılarda istifadə edərək _inqrediyentlər əsasında milli mətbəxləri təxmin edəcəksiniz_. Bunu edərkən alqoritmi başqa hansı qruplaşdırma tapşırıqlarında istifadə edə biləcəyinizi də öyrənəcəksiniz.
## [Mühazirədən əvvəl test](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/21/?loc=az)
## [Mühazirədən əvvəl test](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/21/)
# Hazırlıq
Sizin [1-ci dərsi](../../1-Introduction/translations/assignment.az.md) bitirdiyinizi güman edirik. Əlavə olaraq isə bu 4 dərsdə istifadə edəcəyimiz _cleaned_cuisines.csv_ faylının `/data` qovluğunda olduğundan əmin olun.
Sizin [1-ci dərsi](../../1-Introduction/translations/README.az.md) bitirdiyinizi güman edirik. Əlavə olaraq isə bu 4 dərsdə istifadə edəcəyimiz _cleaned_cuisines.csv_ faylının `/data` qovluğunda olduğundan əmin olun.
## Tapşırıq - milli mətbəxi təxmin et
@ -77,53 +78,53 @@ Sizin [1-ci dərsi](../../1-Introduction/translations/assignment.az.md) bitirdiy
Modelimizi öyrətməyə hazır sayılırıq!
## Təsnifatlandırıcı seçimi
## Qruplaşdırıcı seçimi
Artıq datanız təmizlənib və öyrədilmək üçün hazırdır. İndi siz bu iş üçün hansı alqoritmi seçməli olduğunuza qərar verməlisiniz.
**Scikit-learn** kitabxanası təsnifatlandırmanı "Supervised Learning (Nəzarətli öyrənmə)" adı altında qruplaşdırır və siz burada çoxlu təsnifatlandırma üsullarını tapa bilərsiniz. [Seçimlər](https://scikit-learn.org/stable/supervised_learning.html) ilk baxışdan həddindən artıq çox görünəcəkdir. Aşağıdakı metodların hamısı təsnifatlandırma texnikalarıdır:
**Scikit-learn** kitabxanası qruplaşdırmanı "Supervised Learning (Nəzarətli öyrənmə)" adı altında qruplaşdırır və siz burada çoxlu qruplaşdırma üsullarını tapa bilərsiniz. [Seçimlər](https://scikit-learn.org/stable/supervised_learning.html) ilk baxışdan həddindən artıq çox görünəcəkdir. Aşağıdakı metodların hamısı qruplaşdırma texnikalarıdır:
- **Linear Models** (Xətti modellər)
- **Support Vector Machines** (Dəstək Vektor Maşını)
- **Stochastic Gradient Descent** (Stokastik qradient eniş)
- **Stochastic Gradient Descent** (Stoxastik qradient eniş)
- **Nearest Neighbors** (Yaxın qonşular)
- **Gaussian Processes** (Qauss emalları)
- **Decision Trees** (Qərar sxemləri)
- **Ensemble methods (voting Classifier)** Ansambl üsullar (səsvermə əsaslı təsnifatlandırma)
- **Ensemble methods (voting Classifier)** Ansambl üsullar (səsvermə əsaslı qruplaşdırma)
- Çoxsaylı etiket və çoxsaylı çıxış alqoritmləri (multiclass and multilabel classification, multiclass-multioutput classification)
> Siz həmçinin [təsnifatlandırma üçün neyron şəbəkələr](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification) də istifadə edə bilərsiniz, lakin bu mövzu bizim dərsimizdən kənardır.
> Siz həmçinin [qruplaşdırma üçün neyron şəbəkələr](https://scikit-learn.org/stable/modules/neural_networks_supervised.html#classification) də istifadə edə bilərsiniz, lakin bu mövzu bizim dərsimizdən kənardır.
### Hansı təsnifatlandırıcı seçilməlidir?
### Hansı qruplaşdırıcı seçilməlidir?
İndi siz hansı təsnifatlandırıcı seçməlisiniz? Adətən bunun cavabını bir çox üsulu yoxlamaq və daha yaxşı nəticə göstərəni seçməklə tapmaq olur. Yaratdığınız data qruplarını **Scikit-learn** kitabxanasında [yanbayan müqayisə](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) edə bilərsiniz. Aşağıda nümunə kimi KNeighbors, SVC two ways, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB and QuadraticDiscrinationAnalysis alqoritmləri müqayisəsi göstərilib:
İndi siz hansı qruplaşdırıcı seçməlisiniz? Adətən bunun cavabını bir çox üsulu yoxlamaq və daha yaxşı nəticə göstərəni seçməklə tapmaq olur. Yaratdığınız data qruplarını **Scikit-learn** kitabxanasında [yanbayan müqayisə](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) edə bilərsiniz. Aşağıda nümunə kimi KNeighbors, SVC two ways, GaussianProcessClassifier, DecisionTreeClassifier, RandomForestClassifier, MLPClassifier, AdaBoostClassifier, GaussianNB and QuadraticDiscrinationAnalysis alqoritmləri müqayisəsi göstərilib:
![təsnifatlandırıcıların müqayisəsi](../images/comparison.png)
![qruplaşdırıcıların müqayisəsi](../images/comparison.png)
> Qrafiklər Scikit-learn sənədlərindən yaradılmışdır
> AutoML platforması bulud mühitində belə nəticələri özü müqayisə edərək sizə ən yaxşı alqoritmi tapmaqda kömək edə bilər. [Buradan](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) pulsuz yoxlaya bilərsiniz.
> Auto ML platforması bulud mühitində belə nəticələri özü müqayisə edərək sizə ən yaxşı alqoritmi tapmaqda kömək edə bilər. [Buradan](https://docs.microsoft.com/learn/modules/automate-model-selection-with-azure-automl/?WT.mc_id=academic-77952-leestott) pulsuz yoxlaya bilərsiniz.
### Daha yaxşı yanaşma
Özünüz təxmin etməkdənsə, [MÖ hazır cavablar siyahısından](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott) ideyalara əməl edərək daha yaxşı seçim edə bilərsiniz. Misal üçün bizim çoxsaylı etiketləndirmə məsələmizdə bir neçə seçim vardır:
Özünüz təxmin etməkdənsə, [ML hazır cavablar siyahısından](https://docs.microsoft.com/azure/machine-learning/algorithm-cheat-sheet?WT.mc_id=academic-77952-leestott) ideyalara əməl edərək daha yaxşı seçim edə bilərsiniz. Misal üçün bizim çoxsaylı etiketləndirmə məsələmizdə bir neçə seçim vardır:
![çoxsaylı etiketləmə problemlərinə hazır cavablar](../images/cheatsheet.png)
> Çoxsaylı etiket təsnifatlandırma seçimləri üçün Microsoft-un Alqoritm Hazır Cavablar siyahısından bir fraqment
> Çoxsaylı etiket qruplaşdırma seçimləri üçün Microsoft Alqoritm Hazır Cavablar siyahısından bir fraqment
✅ Bu hazır cavablar siyahısını yüklə, çap et və divarından as!
✅ Bu hazır cavablar siyahısını yüklə, çap et və divardan as!
### Əsaslandırma
Gəlin baxaq biz seçimimizi aşağıdakı şərtlərə əsasən də əsaslandıra bilirikmi:
- **Neyron şəbəkələr çox qəlizdir**. Bizim təmiz və sadə data massivimizi yalnız öz komputerimizdə öyrədəcəyimizi nəzərə alsaq, neyron şəbəkələr bu tapşırıq üçün çox çətin bir seçimdir.
- **İki-etiket təsnifatlandırıcısına yox**. Biz iki-etiket təsnifatlandırıcısı istifadə etmirik, buna görə də digər oxşar seçimləri nəzərə almırıq.
- **Qərar sxemləri və ya logistik reqressiya işi görə bilərk**. Qərar sxemi işimizə yaraya bilər. Logistik reqressiyə isə çoxsaylı etiket datası üçün istifadə oluna bilər.
- **Çoxsaylı etiket gücləndirilmiş qərar sxemləri başqa problemləri həll edir**. Çoxsaylı etiket gücləndirilmiş qərar sxemləri parametrsiz tapşırıqlar üçün daha uyğundur, Misal üçün sıralandırma tapşırıqları. Lakin bizim üçün uyğun deyil.
- **Neyron şəbəkələr çox qəlizdir**. Bizim təmiz və sadə datasetimizi yalnız öz komputerimizdə öyrədəcəyimizi nəzərə alsaq, neyron şəbəkələr bu tapşırıq üçün çox çətin bir seçimdir.
- **İki-etiket qruplaşdırıcısına yox**. Biz iki-etiket qruplaşdırıcısı istifadə etmirik, buna görə də digər oxşar seçimləri nəzərə almırıq.
- **Qərar sxemləri və ya logistik reqressiya işi görə bilər**. Qərar sxemi işimizə yaraya bilər. Logistik reqressiyə isə çoxsaylı etiket datası üçün istifadə oluna bilər.
- **Çoxsaylı etiket gücləndirilmiş qərar sxemləri başqa problemləri həll edir**. Çoxsaylı etiket gücləndirilmiş qərar sxemləri parametirsiz tapşırıqlar üçün daha uyğundur, misal üçün sıralandırma tapşırıqları. Lakin bizim üçün uyğun deyil.
### Scikit-learn istifadə etmək
Data analizi üçün Scikit-learn istifadə edəcəyik. Scikit-learn kitabxanasında logistik reqressiyanı istifadəsi üçün bir çox üsul mövcuddur. Hansı parametrlərin ötürülməsi lazım olduğunu bilmək üçün [sənədlə](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression) tanış olun.
Data analizi üçün Scikit-learn istifadə edəcəyik. Scikit-learn kitabxanasında logistik reqressiyanın istifadəsi üçün bir çox üsul mövcuddur. Hansı parametrlərin ötürülməsinin lazım olduğunu bilmək üçün [sənədlə](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression) tanış olun.
Scikit-learn kitabxanasında logistik reqressiyanı icra etmək üçün bizə əsas iki parametr ötürmək vacibdir - `multi_class` və `solver`. `multi_class` parametri müəyyən olunmuş davranışı bildirir. `solver` parametri isə istifadə olunacaq alqoritmi təyin edir. Nəzərə almaq lazımdır ki, hər alqoritm `multi_class` parametri ilə uyğunlaşmır.
@ -132,9 +133,9 @@ Sənədlərə əsasən `multi_class` seçimində aşağıdakı öyrənmə alqori
- **one-vs-rest (OvR) sxemi istifadə edənlər**, əgər `multi_class` parametri `ovr` seçilmişdirsə.
- **cross-entropy loss (çarpaz-entropiya itkisi) istifadə edənlər**, əgər `multi_class` parametri `multinomial` seçilmişdirsə. (Hazırda `multinomial` seçimi yalnız ‘lbfgs’, ‘sag’, ‘saga’ və ‘newton-cg’ alqoritmləri tərəfindən dəstəklənir)"
> 🎓 Burada 'scheme' parametri 'ovr' (one-vs-rest) və ya 'multinomial' ola bilər. Logistik reqressiya əslində binary (ikili) təsnifatlandırma üçün tərtib olunduğu üçün bu sxemlər çoxsaylı etiket təsnifatlandırma tapşırıqları üçün daha uyğundur. [mənbə](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)
> 🎓 Burada `'scheme'` parametri 'ovr' (one-vs-rest) və ya 'multinomial' ola bilər. Logistik reqressiya əslində ikili qruplaşdırma üçün tərtib olunduğu üçün bu sxemlər çoxsaylı etiket qruplaşdırma tapşırıqları üçün daha uyğundur. [mənbə](https://machinelearningmastery.com/one-vs-rest-and-one-vs-one-for-multi-class-classification/)
> 🎓 'solver' parametri "optimizasiya üçün istifadə olunacaq alqoritmi" nəzərdə tutur. [mənbə](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression).
> 🎓 `'solver'` parametri "optimizasiya üçün istifadə olunacaq alqoritmi" nəzərdə tutur. [mənbə](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight=logistic%20regressio#sklearn.linear_model.LogisticRegression).
Aşağıdakı cədvəldə Scikit-learn kitabxanasındakı alqoritmlərlə müxtəlif növ tapşırıqları və data strukturlarını necə idarə edə biləcəyiniz göstərilib:
@ -142,7 +143,7 @@ Aşağıdakı cədvəldə Scikit-learn kitabxanasındakı alqoritmlərlə müxt
## Tapşırıq - datanı bölün
Biz indi ilk öyrənmə cəhdimizdə logistik reqressiyasına fokuslana bilərik. `train_test_split()` istifadə etməklə datanı öyrənmə və test üçün iki qrupa ayırın:
Biz indi ilk öyrənmə cəhdimizdə logistik reqressiyasına fokuslana bilərik. `train_test_split()` istifadə etməklə datanı öyrətmə və test üçün iki qrupa ayırın:
```python
X_train, X_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)
@ -184,7 +185,7 @@ Biz çoxsaylı etiket məsələsinə baxdığımız üçün _scheme_ və _solver
✅ Fərqli sıra nömrələrini yoxla və nəticəyə bax.
1. Daha dərinə getsək, təsnifat modelinin dəqiqliyini belə yoxlaya bilərsiniz:
1. Daha dərinə getsək, qruplaşdırma modelinin dəqiqliyini belə yoxlaya bilərsiniz:
```python
test= X_test.iloc[50].values.reshape(-1, 1).T
@ -196,7 +197,7 @@ Biz çoxsaylı etiket məsələsinə baxdığımız üçün _scheme_ və _solver
topPrediction.head()
```
Nəticə çap olundu - Hindisdan mətbəxi ən yuxarı dəqiqliklə təsnifatlandırılır:
Nəticə çap olundu - Hindisdan mətbəxi ən yuxarı dəqiqliklə qruplaşdırılır:
| | 0 |
| -------: | -------: |
@ -208,7 +209,7 @@ Biz çoxsaylı etiket məsələsinə baxdığımız üçün _scheme_ və _solver
✅ Bu modelin Hindistan mətbəxini nə üçün seçdiyini izah edə bilərsən?
1. Daha çox məlumat almaq üçün təsnifatlandırma hesabatını çap edin:
1. Daha çox məlumat almaq üçün qruplaşdırma hesabatını çap edin:
```python
y_pred = model.predict(X_test)
@ -226,11 +227,11 @@ Biz çoxsaylı etiket məsələsinə baxdığımız üçün _scheme_ və _solver
| macro avg | 0.80 | 0.80 | 0.80 | 1199 |
| weighted avg | 0.80 | 0.80 | 0.80 | 1199 |
## 🚀Məşğələ
## 🚀 Məşğələ
Bu dərsdə siz təmizlənmiş data istifadə edərək inqrediyentlər əsasında milli mətbəxi təxmin edə biləcək maşın öyrənməsi modelini qurdunuz. Scikit-learn kitabxanası istifadə etməklə daha hansı üsullarla təsnifatlandırma etmək mümkün olduğunu oxuyun. "Solver (alqoritm)" anlayışı üzərində daha dərinə gedərək arxa planda necə işlədiyini öyrənin.
Bu dərsdə siz təmizlənmiş data istifadə edərək inqrediyentlər əsasında milli mətbəxi təxmin edə biləcək maşın öyrənməsi modelini qurdunuz. Scikit-learn kitabxanası istifadə etməklə daha hansı üsullarla qruplaşdırma etmək mümkün olduğunu oxuyun. "Solver (alqoritm)" anlayışı üzərində daha dərinə gedərək arxa planda necə işlədiyini öyrənin.
## [Mühazirə sonrası quiz](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/22/)
## [Mühazirə sonrası quiz](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/22/?loc=az)
## Təkrarlayın və özünüz öyrənin
@ -238,4 +239,4 @@ Logistik reqressiya metodunda hansı riyazı modellər istifadə olunduğunu [bu
## Tapşırıq
[Təsnifatlandırıcı alqoritmlərini araşdır](assignment.az.md)
[Qruplaşdırıcı alqoritmlərini araşdır](assignment.az.md)

@ -1,11 +1,11 @@
# Təsnifatlandırıcı alqoritmlərini araşdır
# Qruplaşdırıcı alqoritmlərini araşdır
## Təlimatlar
Bu dərsdə siz təsnifatlandırıcı alqoritmlərinin maşın öyrənməsi alqoritmləri ilə necə birlikdə dəqiq modellər qurulmasını öyrəndiniz. Təsnifatlandırma alqoritmləri üzərindən keçin və ikisini seçin. Öz sözlərinizlə bu alqoritmləri bir-biri ilə müqayisə edin. Hansı növ problemləri həll etməyə nəzərdə tutulublar? Müxtəlif data strukturları ilə necə işləyirlər? Birini digəri əvəzinə nə üçün seçərsən?
Bu dərsdə siz qruplaşdırıcı alqoritmlərin maşın öyrənməsi alqoritmləri ilə necə birlikdə dəqiq modellər qurulmasını öyrəndiniz. Qruplaşdırma alqoritmləri üzərindən keçin və ikisini seçin. Öz sözlərinizlə bu alqoritmləri bir-biri ilə müqayisə edin. Hansı növ problemləri həll etməyə nəzərdə tutulublar? Müxtəlif data strukturları ilə necə işləyirlər? Birini digəri əvəzinə nə üçün seçərsən?
## Rubrika
| Meyarlar | Nümunəvi | Adekvat | İnkişaf Etdirilməli Olan |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | .doc sənədində hərəsi bir təsnifatlandırma alqoritminə aid iki paraqraf. Alqoritmlərin müqayisəsi də əhatə olunmalıdır. | .doc sənədində bir paraqraf | Natamam tapşırıq |
| -------- | -------- | ------- | ------------------------ |
| | .doc sənədində hərəsi bir qruplaşdırma alqoritminə aid iki paraqraf. Alqoritmlərin müqayisəsi də əhatə olunmalıdır. | .doc sənədində bir paraqraf | Natamam tapşırıq |

Loading…
Cancel
Save