Python'da geometrik ortalama nasıl hesaplanır (örneklerle)
Python’da geometrik ortalamayı hesaplamanın iki yolu vardır:
Yöntem 1: SciPy Kullanarak Geometrik Ortalamayı Hesaplama
from scipy. stats import gmean #calculate geometric mean gmean([value1, value2, value3, ...])
Yöntem 2: NumPy Kullanarak Geometrik Ortalamayı Hesaplayın
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([value1, value2, value3, ...])
Her iki yöntem de tamamen aynı sonuçları verecektir.
Aşağıdaki örnekler bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: SciPy Kullanarak Geometrik Ortalamayı Hesaplayın
Aşağıdaki kod, bir değerler dizisinin geometrik ortalamasını hesaplamak için SciPy kütüphanesinin gmean() fonksiyonunun nasıl kullanılacağını gösterir:
from scipy. stats import gmean #calculate geometric mean gmean([1, 4, 7, 6, 6, 4, 8, 9]) 4.81788719702029
Geometrik ortalama 4,8179 olarak çıkıyor.
Örnek 2: NumPy Kullanarak Geometrik Ortalamayı Hesaplayın
Aşağıdaki kod, NumPy kitaplığının yerleşik işlevlerini kullanarak geometrik ortalamayı hesaplamak için özel bir işlevin nasıl yazılacağını gösterir:
import numpy as np
#define custom function
def g_mean(x):
a = np. log (x)
return np. exp ( a.mean ())
#calculate geometric mean
g_mean([1, 4, 7, 6, 6, 4, 8, 9])
4.81788719702029
Geometrik ortalama 4,8179 olarak ortaya çıkıyor ve bu da önceki örnekteki sonuçla eşleşiyor.
Sıfırlarla nasıl baş edilir
Çalıştığınız dizide sıfırlar varsa her iki yöntemin de sıfır döndüreceğini unutmayın.
Dolayısıyla, geometrik ortalamayı hesaplamadan önce bir dizideki sıfırları kaldırmak için aşağıdaki kod parçasını kullanabilirsiniz:
#create array with some zeros
x = [1, 0, 0, 6, 6, 0, 8, 9]
#remove zeros from array
x_new = [i for i in x if i != 0]
#view updated array
print (x_new)
[1, 6, 6, 8, 9]
Ek kaynaklar
Python’da Ortalama Kare Hatası (MSE) Nasıl Hesaplanır?
Python’da Ortalama Mutlak Hata Nasıl Hesaplanır?