1. Histoqramların əsasları
Əgər sən nə vaxtsa furşet masasında baxıb, hansı qəlyanaltının daha çox olduğunu qərarlaşdırmağa çalışmısansa, sən artıq məlumat paylanması haqqında bir az anlayışa maliksən. Proqramlaşdırmada biz məlumatlardakı nümunələri aşkar etmək üçün histoqramlardan istifadə edirik, hansı ki, ilk baxışda aydın olmaya bilər. Histoqramlar məlumatların müəyyən kateqoriyalara və ya ədədi diapazonlara necə paylandığını vizual analiz etməyə kömək edir. Başlayaq!
Histoqram nədir?
Histoqram - bu, məlumatların müəyyən intervallara və ya "bin"-lərə ("səbətlər" və ya "vedrələr" də deyilə bilər) necə paylandığını vizuallaşdırmaq üçün istifadə edilən qrafik növüdür. Məsələn: əgər tələbələrin testdən neçə dəfə müəyyən bal yığdıqlarını bilmək istəsək, histoqram bunu göstərmək üçün ən yaxşı üsuldur.
Histoqramın əsas parametrləri
Histoqram sütunlardan (binlərdən) qurulur, hansı ki, hər sütun müvafiq intervala düşən məlumatların sayını göstərir. Histoqramın əsas parametrləri:
- Binlər (
bins
): məlumat diapazonunu bölmək üçün intervalların sayı. - Rəng və sərhəd (
color
vəedgecolor
): sütunların xarici görünüşünü müəyyən edir. - Diapazon (
range
): göstərmək üçün minimum və maksimum dəyərləri təyin edir. - Sıxlıq (
density
): əgərTrue
olaraq təyin edilərsə, histoqram normallaşacaq və sütunların ümumi sahəsi birdə bərabər olacaq.
Histoqramları qurmaq üçün hist()
funksiyasından istifadə
Matplotlib kitabxanasında histoqram yaratmağı asanlaşdıran möhtəşəm bir hist()
funksiyası var. Gəlin sadə bir nümunəyə baxaq:
import matplotlib.pyplot as plt
import numpy as np
# Məlumat dəsti yaradırıq
data = np.random.normal(0, 1, 1000)
# Histoqram yaradırıq
plt.hist(data, bins=30, alpha=0.7, color='blue')
plt.title('Məlumatların paylanma histoqramı')
plt.xlabel('Dəyərlər')
plt.ylabel('Tezlik')
plt.show()
Burada, biz np.random.normal()
funksiyasından istifadə edərək məlumat dəsti yaradırıq, hansı ki, normal paylama yaradır. Məlumatları 30 binə bölürük və sütunların şəffaflığını alpha
parametri ilə müəyyən edirik daha yaxşı vizualizasiya üçün.

2. Bin-lərin tənzimlənməsi və qrafikin növü
Bin-lərin sayını və ölçüsünü müəyyən etmək
Bin-lərin sayı və ölçüsü histoqramın interpretasiyasına ciddi təsir edə bilər. Çox böyük ölçülü bin-lər vacib detalları gizlədə bilər, çox kiçik bin-lər isə histoqramı nizamsız və dərk edilməsi çətin edir.
Praktik nümunə:
# Bin-lərin sayı və ölçüsünü dəyişmək
plt.hist(data, bins=10, color='green', edgecolor='black')
plt.title('10 bin ilə histoqram')
plt.xlabel('Dəyərlər')
plt.ylabel('Tezlik')
plt.show()
plt.hist(data, bins=50, color='red', edgecolor='black')
plt.title('50 bin ilə histoqram')
plt.xlabel('Dəyərlər')
plt.ylabel('Tezlik')
plt.show()
10 və 50 bin ilə histoqramın necə dəyişdiyini izləyin. Fərqi görürsünüz? Bu tam o haldır ki, ölçü əhəmiyyətlidir!

Histogram parametrlərinin dəyişdirilməsi üzrə praktiki nümunələr
Histogramlar yalnız bin-lərin sayı ilə deyil, həmçinin rəngi, şəffaflığı və hətta sütunların üslubu ilə də konfiqurasiya edilə bilər. Budur, bir neçə nümunə də:
# Digər tənzimləmə parametrləri
plt.hist(data, bins=30, density=True, color='purple', edgecolor='white', linestyle='dashed')
plt.title('Dəyişilmiş üslublu sıxlıq histogramı')
plt.xlabel('Dəyərlər')
plt.ylabel('Sıxlıq')
plt.grid(True)
plt.show()
Bu nümunədə biz density=True
parametrini əlavə etdik ki, bu da histoqramı normallaşdırır və qrafikin altındakı sahəni 1-ə bərabər edir. Bu, paylanmanın ehtimal sıxlığını analiz etmək istədikdə faydalı ola bilər.

3. Histogramlardan istifadə nümunələri
Histogramlar müxtəlif sahələrdə tətbiq olunur - maliyyə məlumatlarının analizi, fizika üzrə eksperimentlər və s. Gəlin, histogramı real bir məlumat dəsti ilə necə istifadə edə biləcəyimizə baxaq.
Real məlumat dəsti ilə histogramın qurulması
Təsəvvür edin ki, bizdə ilin orta gündəlik temperaturunu əks etdirən bir məlumat dəsti var. Biz analiz etmək istəyirik, temperaturun müəyyən diapazonlarda nə qədər tez-tez rastlandığını.
# Temperatur məlumat dəsti (nümunə üçün sadələşdirilmiş)
temperatures = [15, 16, 15, 14, 19, 22, 24, 25, 17, 18, 15, 16, 23, 24, 21, 19, 18, 20, 22, 25, 26, 27]
# Histogramın qurulması
plt.hist(temperatures, bins=5, color='navy', edgecolor='black')
plt.title('Temperatur histogramı')
plt.xlabel('Temperatur (°C)')
plt.ylabel('Tezlik')
plt.show()
Bu nümunədə biz 5 bin istifadə etdik ki, dəyərlərin necə paylandığını anlayaq. Histogram göstərir ki, temperaturun əksəriyyəti 15-20°C diapazonunda yerləşir.

Eyni histogramda paylanmaların müqayisəsi
Bəzən bir neçə məlumat dəstəsinin paylanmasını eyni histogramda müqayisə etmək lazım olur. Matplotlib-də alpha
(şəffaflıq) parametri ilə bir neçə histogram üst-üstə yerləşdirilə bilər.
Nümunə 3: Paylanmaların müqayisəsi
import matplotlib.pyplot as plt
# Məlumatların yaradılması
data1 = [5, 10, 10, 15, 15, 20, 25, 30, 30, 35, 40]
data2 = [5, 7, 9, 10, 11, 13, 15, 17, 19, 20, 25]
# Üst-üstə düşən histogramların qurulması
plt.hist(data1, bins=5, color="blue", alpha=0.5, label="Dəstə 1")
plt.hist(data2, bins=5, color="green", alpha=0.5, label="Dəstə 2")
plt.xlabel("Dəyər")
plt.ylabel("Tezlik")
plt.title("İki paylanmanın müqayisəsi")
plt.legend()
plt.show()
Bu nümunədə hər histogram üçün alpha=0.5
parametrindən istifadə edirik, bu da sütunları yarımşəffaf edir və paylanmalar arasındakı kəsişmələri vizual müqayisə etməyə imkan verir.

Histogramlarla iş üçün faydalı məsləhətlər
- Binların optimal sayı: Binların sayını məlumatların həcminə və xarakterinə uyğun seçin. Çox az və ya çox bin olması paylanmanı təhrif edə bilər.
- Paylanmaların müqayisəsi: Bir neçə histogramı üst-üstə düşürmək və paylanmaları müqayisə etmək üçün şəffaflıq (
alpha
) istifadə edin. - Şəbəkənin əlavə edilməsi: Şəbəkə məlumatların daha yaxşı interpretasiyasına kömək edir. Onu
plt.grid(True)
funksiyası ilə əlavə etmək olar. density
parametri: Məlumatları ehtimal sıxlığı şəklində göstərmək üçündensity=True
istifadə edin, bu da paylanmaları müqayisə edərkən xüsusilə faydalıdır.
GO TO FULL VERSION