Python İstatistik

Hüseyin

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
78
Tepkime puanı
27
Puanları
18
İstatistikler

İstatistik, verilerin toplanması, düzenlenmesi, gösterilmesi, analiz edilmesi, yorumlanması ve sunulmasını inceleyen bir disiplindir. İstatistik, veri bilimi ve makine öğrenimi için ön koşul olarak önerilen bir Matematik dalıdır. İstatistik çok geniş bir alandır ancak biz bu bölümde sadece en ilgili kısma odaklanacağız. Bu zorluğu tamamladıktan sonra web geliştirme, veri analizi, makine öğrenimi ve veri bilimi yoluna gidebilirsiniz. Hangi yolu izlerseniz izleyin, kariyerinizin bir noktasında üzerinde çalışabileceğiniz veriler elde edeceksiniz. Biraz istatistik bilgisine sahip olmak, verilere dayalı kararlar almanıza yardımcı olacaktır, dedikleri gibi veri söyler.


Veri

Veri nedir? Veri, genellikle analiz olmak üzere bir amaç için toplanan ve çevrilen herhangi bir karakter kümesidir. Metin ve sayılar, resimler, ses veya video dahil olmak üzere herhangi bir karakter olabilir. Veriler bir bağlama oturtulmazsa, bir insan ya da bilgisayar için hiçbir anlam ifade etmez. Verilerden anlam çıkarmak için farklı araçlar kullanarak veriler üzerinde çalışmamız gerekir.

Veri analizi, veri bilimi veya makine öğrenimi iş akışı veriden başlar. Veri, bir veri kaynağından sağlanabilir veya oluşturulabilir. Yapılandırılmış ve yapılandırılmamış veriler vardır.

Veriler küçük veya büyük formatta bulunabilir. Elde edeceğimiz veri türlerinin çoğu dosya işleme bölümünde ele alınmıştır.

İstatistik Modülü

Python istatistik modülü, sayısal verilerin matematiksel istatistiklerini hesaplamak için işlevler sağlar. Modülün NumPy, SciPy gibi üçüncü taraf kütüphanelere veya Minitab, SAS ve Matlab gibi profesyonel istatistikçilere yönelik tescilli tam özellikli istatistik paketlerine rakip olması amaçlanmamıştır. Grafik ve bilimsel hesap makineleri seviyesine yöneliktir.

NumPy, Python'da bilimsel hesaplama için temel bir pakettir. Diziler, matrisler ve bu diziler üzerinde verimli bir şekilde çalışmak için matematiksel fonksiyonlar için destek sağlar.

İşte başlamanız için genel bir bakış:

Kurulum

NumPy'yi henüz yüklemediyseniz, bunu pip aracılığıyla yapabilirsiniz:

pip install numpy
İçeri aktarma

Kurulumdan sonra, NumPy'yi Python betiğinizde veya yorumlayıcınızda içe aktarabilirsiniz:
Python:
import numpy as np

NumPy Dizileri

NumPy'nin birincil nesnesi homojen çok boyutlu dizi olan numpy.ndarray'dir. Listeleri veya diğer dizi benzeri nesneleri kullanarak NumPy dizileri oluşturabilirsiniz.

Diziler Oluşturma:

Python:
# Listeden
arr1 = np.array([1, 2, 3, 4, 5])

# Multidimensional array
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# Zeros array
zeros_array = np.zeros((3, 4))  # 3x4'lük bir sıfırlar dizisi oluşturur

# Ones array
ones_array = np.ones((2, 3))    # Birlerden oluşan 2x3'lük bir dizi oluşturur

# Array with a range of values
range_array = np.arange(0, 10, 2)  # 2'lik bir adımla 0'dan 10'a kadar (özel) bir dizi oluşturur

# Random array
random_array = np.random.rand(3, 3)  # 0 ile 1 arasında rastgele değerlerden oluşan 3x3'lük bir dizi oluşturur

Dizi Öznitelikleri

NumPy dizilerinin şekillerini, boyutlarını ve veri türlerini tanımlamak için çeşitli nitelikleri vardır:

Python:
# Dizinin şekli
print(arr1.shape)  # Output: (5,)

# Boyut sayısı
print(arr2.ndim)   # Output: 2

# Dizinin veri tipi
print(arr2.dtype)  # Output: int64

Dizi İşlemleri

NumPy, diziler üzerinde çeşitli matematiksel işlemleri verimli bir şekilde gerçekleştirmenizi sağlar:

Python:
# Eleman bazında toplama
result = arr1 + arr1

# Eleman bazında çarpma
result = arr1 * 2

# Matris çarpımı
result = np.dot(arr1, arr2)

# Transpose
transposed_arr = arr2.T

İndeksleme ve Dilimleme

İndeksleme ve dilimleme kullanarak NumPy dizilerinin öğelerine, satırlarına ve sütunlarına erişebilirsiniz:

Python:
# Öğelere erişme
print(arr1[0])  # Output: 1

# Dilimleme
print(arr2[:, 0])  # Output: [1 4] (First column)

# Boolean indeksleme
print(arr1[arr1 > 2])  # Output: [3 4 5]

Evrensel İşlevler (ufuncs)

NumPy, diziler üzerinde eleman bazında işlem yapan bir dizi matematiksel fonksiyon sağlar:

Python:
# Trigonometrik fonksiyonlar
result = np.sin(arr1)

# Üstel ve logaritmik fonksiyonlar
result = np.exp(arr1)
result = np.log(arr1)

# İstatistiksel fonksiyonlar
mean_val = np.mean(arr1)
std_dev = np.std(arr1)

Dizileri Yeniden Şekillendirme

Aynı öğeleri koruyarak boyutlarını değiştirmek için dizileri yeniden şekillendirebilirsiniz:

Python:
# Reshape
reshaped_arr = arr1.reshape(5, 1)

Birleştirme ve Bölme

NumPy, dizileri farklı eksenler boyunca birleştirmenize ve bölmenize olanak tanır:
Python:
# Concatenation
concatenated_arr = np.concatenate([arr1, arr2], axis=0)  # Concatenates along the rows

# Splitting
arr1_part1, arr1_part2 = np.split(arr1, [2])  # Splits arr1 into two parts at index 2

Yayıncılık

Yayınlama, NumPy'nin aritmetik işlemler gerçekleştirirken farklı şekillerdeki dizilerle çalışmasına olanak tanıyan güçlü bir mekanizmadır:

Python:
# Broadcasting example
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
scalar = 10
result = arr1 + scalar # Each element of arr1 is added with the scalar value

NumPy'de yayınlama, farklı şekillerdeki diziler arasında aritmetik işlemler gerçekleştirmenize olanak tanır. İki dizi üzerinde işlem yaparken NumPy, sondaki boyutlardan başlayarak ve ileriye doğru çalışarak şekillerini öğe bazında karşılaştırır. Boyutlar uyumluysa veya boyutlardan biri 1 ise işlemi gerçekleştirir. İşte yayınlamayı gösteren bir örnek:
Python:
import numpy as np

# Define a 2x3 array
arr1 = np.array([[1, 2, 3],
[4, 5, 6]])

# Define a 1D array
arr2 = np.array([10, 20, 30])

# Perform element-wise addition between arr1 and arr2
result = arr1 + arr2

print("Result:\n", result)

Vektörleştirme

Vektörleştirme, işlemleri döngüler kullanmak yerine dizi ifadeleri olarak ifade etmek anlamına gelir. Bu, daha temiz ve özlü bir kodla sonuçlanır ve genellikle daha iyi performans sağlar.

Vektörleştirme, Python'daki sayısal hesaplamaların performansını önemli ölçüde artırabilen, tek tek öğeler yerine tüm dizilere işlem uygulama işlemidir. İşte NumPy kullanarak vektörleştirmeyi gösteren bir örnek:

Python:
import numpy as np

# Create two arrays
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])

# Vektörleştirme kullanarak eleman bazında toplama gerçekleştirme
result = a + b

print("Result:", result)

Bu örnekte, her biri dört eleman içeren iki a ve b dizimiz var. Karşılık gelen öğeleri toplamak için döngüler kullanmak yerine, diziler arasında + operatörünü kullanırız ve NumPy toplama işlemini vektörleştirilmiş bir şekilde gerçekleştirir.

Ortaya çıkan result dizisi şöyle olacaktır:

Python:
Result: [ 6  8 10 12]
Burada, result dizisindeki her bir eleman, a ve b dizilerindeki karşılık gelen elemanların toplamıdır ve vektörleştirme yoluyla elde edilir.

NumPy'deki vektörleştirme, işlemleri kısa ve verimli bir şekilde ifade etmenizi sağlayarak kodunuzu daha temiz ve okunabilir hale getirirken, özellikle büyük diziler ve karmaşık hesaplamalar için performansı artırır.

Bunlar NumPy'nin sunduğu özelliklerden sadece birkaçıdır. NumPy'yi keşfettikçe ve onunla daha fazla çalıştıkça, onu Python'da bilimsel hesaplama ve veri analizinin temel taşı yapan çok sayıda başka özellik ve işlev keşfedeceksiniz.
 
Geri
Üst