Merge pull request #2 from muradtries/translation/2.2

AZ translation for 2.2
pull/720/head
Karim Karimov 2 years ago committed by GitHub
commit 9e4a5a65c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -190,7 +190,7 @@ Yeni kod xanasında, şəkərli diabet data massivini `load_diabetes()`-i çağ
y_pred = model.predict(X_test)
```
6. Artıq datanı qrafiklə göstərməyin vaxtıdır. Matplotlib bu tapşırıq üçün çox uyğun bir alətdir. Bütün X və y test məlumatlarının səpələnmə qrafikini yaradın və modelin data qrupları arasında ən uyğun yerə xətti çəkmək üçün proqnozdan istifadə edin.
6. Artıq datanı qrafiklə göstərməyin vaxtıdır. Matplotlib bu tapşırıq üçün çox uyğun bir alətdir. Bütün X və y test məlumatlarının paylanma qrafikini yaradın və modelin data qrupları arasında ən uyğun yerə xətti çəkmək üçün proqnozdan istifadə edin.
```python
plt.scatter(X_test, y_test, color='black')
@ -201,7 +201,7 @@ Yeni kod xanasında, şəkərli diabet data massivini `load_diabetes()`-i çağ
plt.show()
```
![şəkərli diabetlə bağlı nöqtələri göstərən səpələnmə qrafiki](../images/scatterplot.png)
![şəkərli diabetlə bağlı nöqtələri göstərən paylanma qrafiki](../images/scatterplot.png)
✅ Bu hissədə nə baş verdiyi barədə biraz düşünün. Düz xətt çoxlu kiçik data nöqtələrinin arasından keçir. Amma tam olaraq nə baş verir? Yeni, görünməz məlumat nöqtəsinin qrafikin y oxuna nisbətən harada olacağını proqnozlaşdırmaq üçün bu xəttdən necə istifadə edə biləcəyinizi düşünə bilirsinizmi? Bu modelin praktiki istifadəsini sözlə ifadə etməyə çalışın.
@ -210,9 +210,10 @@ Yeni kod xanasında, şəkərli diabet data massivini `load_diabetes()`-i çağ
## 🚀Məşğələ
Bu data massivindən fərqli bir dəyişən üçün qrafik çəkin. İpucu: bu sətirə düzəliş edin: `X = X[:,2]`. Data massivinin hədəfi verilmək şərti ilə, şəkərli diabetin xəstəlik olaraq inkişafı ilə bağlı nələri tapa bilərsiniz?
## [Mühazirədən sonra test](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/10/)
# Təkrarlayın və özünüz öyrənin
## [Mühazirə sonrası quiz](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/10/)
## Təkrarlayın və özünüz öyrənin
Bu təlimatda, çoxdəyişənli və yaxud çoxlu xətti reqressiya yerinə,sadə xətti reqressiya ilə işlədiniz. Bu metodlar arasındakı fərqlər barəsində oxuyun və ya [bu videoya](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef) nəzər salın.

@ -0,0 +1,209 @@
# Scikit-learn ilə reqressiya modelləri qurun: hazırlayın və datanı vizuallaşdırın
![Data vizuallaşdırılması barədə infoqraf](../images/data-visualization.png)
[Dasani Madipalli](https://twitter.com/dasani_decoded) tərəfindən yaradılmış infoqraf
## [Mühazirədən əvvəl test](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/11/)
> ### [Bu dərs R proqramlaşdırma dili ilə də mövcuddur!](../solution/R/lesson_2.html)
## Giriş
Artıq Scikit-learn ilə maşın öyrənməsi modelləri qurmaq üçün lazım olan alətləri quraşdırdığınıza üçün, datanız haqqında suallar soruşmağa hazırsınız. Data ilə işləyərkən və maşın öyrənməsi həlləri tətbiq edərkən, data massivinizin potensialını düzgün formada ortaya çıxarmağınız üçün düzgün sualı necə verməli oldduğunuzu başa düşmək çox vacibdir.
Bu dərsdə siz:
- Datanızı model qurulması necə hazırlamağı
- Matplotlib-i data vizuallaşdırması üçün necə istifadə etməyi
öyrənəcəksiniz.
## Datanızla bağlı sualı düzgün formada soruşmaq
Cavablayacağınız sual, sizin hansı növ MÖ alqoritmlərindən faydalanacağınızı müəyyən edəcək. Alacağınız cavabın keyfiyyəti isə bilavasitə datanızın təbiətindən asılı olacaqdır.
Bu dərs üçün verilmiş [dataya](https://github.com/microsoft/ML-For-Beginners/blob/main/2-Regression/data/US-pumpkins.csv) nəzər salın. Bu .csv faylını VS Code ilə aça bilərsiniz. Sürətli bir gözdən keçirmə ilə məlum olur ki, fayl boşluqlar, mətn və ədədi dataların qarışığından ibarətdir. Bundan əlavə, cədvəldə 'sacks', 'bins' və digər dəyərlərin qarışığından ibarət 'Package' adlı qəribə bir sütun da mövcuddur. Data, əslində, biraz qarışıqdır.
[![Yeni başlayanlar üçün maşın öyrənməsi - Data massivinin analiz olunması və təmizlənməsi](https://img.youtube.com/vi/5qGjczWTrDQ/0.jpg)](https://youtu.be/5qGjczWTrDQ "Yeni başlayanlar üçün maşın öyrənməsi - Data massivinin analiz olunması və təmizlənməsi")
> 🎥 Bu dərs üçün datanın hazırlanmasının üzərindən keçən qısa video üçün yuxarıdakı şəkilin üzərinə klikləyin.
Faktiki olaraq, MÖ modeli qurmaq üçün tamamilə istifadəyə hazır bir data massivi ilə təmin olunmaq o qədər də geniş yayılmayıb. Bu dərsdə siz xam data massivini standart Python kitabxanalarının köməyi ilə necə hazır formaya gətirəcəyinizi öyrənəcəksiniz. Bundan əlavə, həmin dataların vizuallaşdırma texnikalarını da öyrənmiş olacaqsınız.
## Araşdırma: 'balqabaq bazarı'
Bu qovluqda yerləşən `data` adlı qovluğunda siz, şəhərlər üzrə sıralanmış balqabaqlar bazarı haqqında 1757 sətirdən ibarət [US-pumpkins.csv](https://github.com/microsoft/ML-For-Beginners/blob/main/2-Regression/data/US-pumpkins.csv) faylını tapacaqsınız. Bu xam data Amerika Birləşmiş Ştatlarının Kənd Təsərrüfatı Nazirliyi tərəfindən dərc olunmuş [Xüsusi Bitkilər Terminal Bazarlarının Standart Hesabatlarından](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice) götürülmüşdür.
### Datanın hazırlanması
Bu data publik domendə yerləşir. O Amerika Birləşmiş Ştatlarının Kənd Təsərrüfatı Nazirliyinin vebsaytından şəhərlər üzrə, ayrı-ayrı fayllar olaraq yüklənilə bilər. Çoxlu ayrı-ayrı fayllardan yayınmaq üçün, biz bütün şəhərlər üzrə olan dataları bir cədvələ yerləşdirmişik. Bununla, az da olsa datanı _hazırlamışıq_. Növbəti addımda, gəlin məlumatları daha diqqətlə nəzərdən keçirək.
### Balqabaqlar datası - ilkin nəticələr
Bu məlumatlar barədə nələr diqqətinizi çəkdi? Artıq siz faylda kəsb etdiyi mənanı başa düşməli olduğunuz sözlər, ədədlər, boşluqlar və qəribə dəyərlərin qarışığını görmüsünüz.
Reqressiya metodundan istifadə edərək, bu data ilə bağlı hansı sualları soruşa bilərsiniz? Məsələn, "Müəyyən bir ay üçün balqabaqların satış qiymətini təxmin edin". Dataya yenidən nəzər yetirdikdə məlum olur ki, bu tapşırıq üçün lazım olan data strukturunu qurmaq üçün onun üzərində bəzi dəyişikliklər edilməlidir.
## Tapşırıq - balqabaqlar datasını analiz edin
Gəlin bu balqabaqlar datasını analiz etmək və hazır formaya gətirmək üçün [Pandas](https://pandas.pydata.org/), (açılışı `Python Data Analysis` kimidir) alətindən istifadə edək.
### Birinci, boş buraxılmış tarixləri yoxlayın
Boş buraxılan tarixləri yoxlamaq üçün ilk öncə bir neçə addımı icra etməliniz:
1. Tarixləri ay formatına keçirək(bu tarixlər ABŞ tarixləri olduğu üçün onların formatı `MM/DD/YYYY` kimidir).
2. Ayı başqa sütuna köçürün.
_notebook.ipynb_ faylını Visual Studio Code-da açın və cədvəli yeni Pandas datafreyminə köçürün.
1. İlk beş sətirə baxmaq üçün `head()` funksiyasını istifadə edin.
```python
import pandas as pd
pumpkins = pd.read_csv('../data/US-pumpkins.csv')
pumpkins.head()
```
✅ Son beş sətirə baxmaq üçün hansı funksiyadan istifadə edərsiniz?
2. Cari datafreymdə boş datanın olub-olmadığını yoxlayın:
```python
pumpkins.isnull().sum()
```
Boş datalar olsa da, düşünürük ki hazırki tapşırıqda bunun bir önəmi olmayacaq.
3. Datafreym ilə işləməyi asanlaşdırmaq üçün orijinal datafreymdən sətirlər qrupunu (birinci parametr kimi ötürülür) və sütunları (ikinci parametr kimi ötürülür) çıxaran `loc` funksiyasından istifadə edərək yalnız sizə lazım olan sütunları seçin. Nümunədəki `:` ifadəsi "bütün sətirlər" deməkdir.
```python
columns_to_select = ['Package', 'Low Price', 'High Price', 'Date']
pumpkins = pumpkins.loc[:, columns_to_select]
```
### İkinci, balqabağın orta qiymətini təyin edin
Verilən ayda balqabağın orta qiymətini necə təyin edəcəyiniz barədə biraz düşünün. Bu tapşırıq üçün hansı sütunları seçəcəksiniz? İpucu: 3 sütuna ehtiyacınız olacaq.
Həll: yeni Price sütununu doldurmaq üçün `Low Price``High Price` sütunlarının ortalama dəyərini götürün və Date sütununu yalnız ayları göstərəcək formaya çevirin. Xoşbəxtlikdən, yuxarıdakı yoxlanışa görə, tarixlər və qiymətlər üzrə boş data yoxdur.
1. Ortalamanı hesablamaq üçün aşağıdakı kodu əlavə edin:
```python
price = (pumpkins['Low Price'] + pumpkins['High Price']) / 2
month = pd.DatetimeIndex(pumpkins['Date']).month
```
✅ İstədiyiniz datanı ekrana çap etdirmək üçün `print(month)` istifadə edə bilərsiniz.
2. İndi isə, çevrilmiş datanızı Pandas datafreyminə kopyalayın:
```python
new_pumpkins = pd.DataFrame({'Month': month, 'Package': pumpkins['Package'], 'Low Price': pumpkins['Low Price'],'High Price': pumpkins['High Price'], 'Price': price})
```
Datafreyminizi ekrana çap etdirdikdə yeni reqressiya modeli qura biləcəyiniz təmiz, səliqəli bir data massivi görəcəksiniz.
### Amma gözləyin! Burada nəsə düz deyil
`Package` sütununa baxdıqda, balqabaqların fərqli konfiqurasiyalarda satıldığını görürük. Bəziləri '1 1/9 buşel' ölçüdə, bəziləri isə '1/2 bushel' ölçülərdə, bəziləri balqabaq başına, bəziləri funtla, bəziləri isə müxtəlif eni olan böyük qutularda satılır.
> Görünür balqabaqları standart formada çəkmək çox çətindir.
İlkin məlumatlara nəzər yetirdikdə, `Unit of Sale` ilə 'EACH' və ya 'PER BIN'-ə bərabər olan hər şeyin həm də hər düymə, qab başına və ya 'hər biri' tipli `Package` növü var. Balqabaqları standart formada çəkmək çox çətin olduğu üçün, gəlin onları `Package` sütununda yalnız 'bushel' sətri olan balqabaqları seçərək filterləyək.
1. Faylın başlıq hissəsinə, ilkin .csv köçürməsi etdiyiniz hissənin aşağısına filteri əlavə edin:
```python
pumpkins = pumpkins[pumpkins['Package'].str.contains('bushel', case=True, regex=True)]
```
Əgər indi datanı ekrana çap etdirsəniz, yalnız 415 sətiri və ya buşel ilə çəkilən balqabaqlardan ibarət data sıralarını görəcəksiniz.
### Amma gözləyin! Ediləsi daha bir işimiz var
Hər sıraya görə buşelin miqdarının fərqləndiyinin fərqinə vardınız? Hər buşel başına düşən qiyməti göstərə bilməyiniz üçün riyaziyyatdan istifadə edərək normallaşdırma etməlisiniz.
1. new_pumpkins adlı datafreymi yaratdığınız hissədən sonra bu sətirləri əlavə edin:
```python
new_pumpkins.loc[new_pumpkins['Package'].str.contains('1 1/9'), 'Price'] = price/(1 + 1/9)
new_pumpkins.loc[new_pumpkins['Package'].str.contains('1/2'), 'Price'] = price/(1/2)
```
✅ [The Spruce Eats-ə](https://www.thespruceeats.com/how-much-is-a-bushel-1389308) görə bir buşelin ağırlığı, həcm ölçülməsi olduğu üçün məhsulun növündən asılı olaraq dəyişir. "Misal üçün, 1 buşel pomidor təxminən 56 funt gəldiyi halda, yarpaqlar və göyərtilər az çəki ilə daha çox yer tutduqları üçün, 1 buşel ispanaq 20 funt gəlir." Kifayət qədər mürəkkəbdir! Gəlin özümüzü buşeldən-funta köçürməsi ilə yükləməyək. Bunun əvəzinə, buşelə görə qiymət təyin edək. Bu buşellə balqabaq araşdırması sizə öz datanızın təbiətini başa düşməyinizin nə qədər vacib olduğunu göstərir.
Artıq siz, buşel ölçülərinə əsasən qiymətləri analiz edə bilərsiniz. Dataları yenidən ekrana çap etdirsəniz, onların necə standartlaşdırıldığını görəcəksiniz.
✅ Yarım buşel olaraq satılan balqabaqların çox baha olduğunun fərqinə vardınız? Səbəbini tapa bilərsiniz? İpucu: kiçik balqabaqların böyüklərdən qat-qat baha olmasının səbəbi, çox güman ki, bir böyük balqabağın buşeldə yaratdığı boş sahə ilə müqayisədə, balaca balqabaqlardan həmin buşelə daha çox yerləşmələridir.
## Vizuallaşdırma Texnikaları
Data aliminin vəzifələrinin bir hissəsi də üzərində işlədikləri datanın keyfiyyət və təbiətini göstərə bilmələridir. Bunu etmək üçün onlar tez-tez maraqlı vizuallar, datanın müxtəlif aspektlərini göstərmək məqsədilə qrafiklər qururlar. Bu yolla onlar, tapılması çətin olan əlaqələri və boşluqları vizual olaraq göstərməyə çalışırlar.
[![Yeni başlayanlar üçün maşın öyrənməsi - Matplotlib ilə Datanın Vizuallaşdırılması](https://img.youtube.com/vi/SbUkxH6IJo0/0.jpg)](https://youtu.be/SbUkxH6IJo0 "Yeni başlayanlar üçün maşın öyrənməsi - Matplotlib ilə Datanın Vizuallaşdırılması")
> 🎥 Bu dərs üçün datanın vizuallaşdırılmasının üzərindən keçən qısa video üçün yuxarıdakı şəkilin üzərinə klikləyin.
Vizuallaşdırma data üçün ən uyğun maşın öyrənməsi texnikasının təyin olunmasında da yardıı olur. Məsələn, düz xətt üzrə inkişaf edən paylanma qrafiki bu datanın xətti reqressiya üçün uyğun namizəd olduğuna işarə edir.
Jupyter dəftərçələri ilə əla formada işləyən data vizuallaşdırma kitabxanası [Matplotlib-dir](https://matplotlib.org/)(keçən dərsdə gördüyünüz).
> [Bu təlimatlar](https://docs.microsoft.com/learn/modules/explore-analyze-data-with-python?WT.mc_id=academic-77952-leestott) ilə data vizuallaşdırılması ilə bağlı təcrübənizi artırın.
## Tapşırıq - Matplotlib ilə eksperiment
Yaratdığınız datafreymi vizuallaşdırmaq üçün bir neçə qrafik yaratmağa çalışın.
1. Faylın başlıq hissəsində, Pandas-ı köçürdüyünüz hissənin aşağısında Matplotlib-i köçürün:
```python
import matplotlib.pyplot as plt
```
2. Yenilənmə üçün dəftərçəni yenidən başladın.
3. Dəftərçənin aşağı hissəsinə datanı qutu formasında təsvir etməsi üçün yeni xana əlavə edin:
```python
price = new_pumpkins.Price
month = new_pumpkins.Month
plt.scatter(price, month)
plt.show()
```
![Qiymətlə ay arasındakı əlaqəni göstərən paylanma qrafiki](../images/scatterplot.png)
Bu qrafik faydalıdırmı? Sizi təəccübləndirən bir şey varmı?
Etdiyi tək şey datanızı verilən aylar üzrə nöqtələr toplusu kimi göstərmək olduğu üçün o qədər də faydalı hesab olunmur.
### Onu işə yarar et
Qrafiklərin yararlı informasiya göstərə bilməsi üçün, adətən dataları hansısa yolla qruplaşdırmanıza ehtiyac yaranır. Gəlin y oxunun ayları, dataların isə məlumatın yayılmasını göstərdiyi bir qrafik qurmağa çalışaq.
1. Qruplaşdırılmış barqraf yaratmaq üçün yeni xana yaradın:
```python
new_pumpkins.groupby(['Month'])['Price'].mean().plot(kind='bar')
plt.ylabel("Pumpkin Price")
```
![Qiymətlə ay arasındakı əlaqəni göstərən barqraf](../images/barchart.png)
Bu daha faydalı data vizuallaşdırılması oldu! Deyəsən, balqabağın ən yüksək qiyməti sentyabr və oktyabr aylarına təsadüf edir. Bu sizin gözləntilərinizi qarşılayırmı? Niyə və ya niyə yox?
---
## 🚀Məşğələ
Matplotlib-in təklif etdiyi müxtəlif vizuallaşdırma tiplərini araşdırın. Hansılar reqressiya problemləri üçün ən uyğunudur?
## [Mühazirə sonrası quiz](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/12/)
## Təkrarlayın və özünüz öyrənin
Datanı vizuallaşdırmağın bir çox yolunu nəzərdən keçirin. Mövcud olan müxtəlif kitabxanaların siyahısını tərtib edin və verilən tapşırıq tipləri üçün ən yaxşısını qeyd edin. Məsələn, 2D və 3D vizuallaşdırma. Nə kəşf edirsiniz?
## Tapşırıq
[Vizuallaşdırmanın araşdırılması](assignment.az.md)

@ -0,0 +1,9 @@
# Vizuallaşdırmanın araşdırılması
Datanı vizuallaşdırmaq üçün müxtəlif kitabxanalar mövcuddur. Nümunə dəftərçədə matplotlib və seaborn ilə Balqabaq datasını bir neçə formada vizuallaşdırın. Kitabxanalardan hansı ilə işləmək daha rahatdır?
## Qiymətləndirmə
| Kriteriya | Örnək | Adekvat | İnkişaf Etdirilməlidir |
| ---------- | ------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------- |
| | 2 araşdırma/vizualizasiyadan ibarət dəftərçə göndərildi | 1 araşdırma/vizualizasiyadan ibarət dəftərçə göndərildi | Dəftərçə göndərilmədi |

@ -34,6 +34,6 @@ Bu dərslər qrupunda siz data alimləri üçün ümumi mühit olan dəftərçə
"Reqressiya ilə MÖ" [Jen Looper](https://twitter.com/jenlooper) tərəfindən ♥️-lə yazılmışdır.
♥️ Quizlərə töhvə verənlər:: [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) və [Ornella Altunyan](https://twitter.com/ornelladotcom)
♥️ Quizlərə töhvə verənlər: [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) və [Ornella Altunyan](https://twitter.com/ornelladotcom)
Balqabaq data massivi [Kaagle-dakı bu proyekt](https://www.kaggle.com/usda/a-year-of-pumpkin-prices) tərəfindən məsləhət görülmüşdür və məlumatlar Amerika Birləşmiş Ştatlarının Kənd Təsərrüfatı Nazirliyi tərəfindən dərc olunmuş [Xüsusi Bitkilər Terminal Bazarlarının Standart Hesabatlarından](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice) götürülmüşdür. Paylanmanı normallaşdırmaq üçün müxtəlifliyə görə rəng əsaslı bəzi nöqtələr əlavə etmişik. Bu məlumatlar publik domendədir.
Loading…
Cancel
Save