NumPy'de Uzmanlaşma: Yolları Başlatma, Ndarray İşlemleri ve İşlevleri
Yayınlanan: 2021-01-05Numpy, yüksek boyutlu veriler üzerinde matematiksel ve sayısal işlemlerin yüksek verimlilik ve soyut işlevsellik ile gerçekleştirilmesine olanak sağlayan bir Python paketidir. Belirli bir iş kullanım senaryosu için bir Makine Öğrenimi çözümü oluştururken, verileri ön işlemeyi kolaylaştıracak ve sonuçları yorumlanabilir hale getirecek şekilde dönüştürmek çok önemli hale gelir. Numpy, ilgili tüm işlevleri mümkün olan en iyi şekilde gerçekleştirmeyi mümkün kılan çekirdek kitaplıktır.
İçindekiler
Neden NumPy?
Pandas, Matplotlib ve Scikit-learn gibi diğer Veri Bilimi kitaplıkları, yüksek performanslı doğası nedeniyle Numpy'nin üzerine inşa edilmiştir. Bu kitaplık, yerleşik python listelerinin yerine kullanılan ndarray sunar. Python listesi değerleri depolamak için harikadır, ancak bellek ve yürütme açısından ek yük ekleyen bellek konumlarının işaretçilerini depoladığı için yürütme süresinin artması pahasına gelir.
Numpy, bulanıklaştırma, renk değişimi ve nesne algılama gibi çeşitli dönüşümleri gerçekleştirmek için görüntülerin yüksek çok boyutlu matrisler olarak işlendiği görüntü işleme alanında doğrudan kullanımını bulur.
Her Veri Bilimi adayının bilmesi gereken, ancak bundan önce bazı önemli Numpy işlevlerine bakalım:
- Aşağıdaki tüm işlev kodları, kitaplığın np takma adıyla içe aktarıldığını, yani numpy'yi np olarak içe aktardığını varsayar.
- Bu noktadan sonra ndarray'i tanımlamak için "dizi" terimi kullanılacaktır.
Başlatmanın Farklı Yolları
1. Doğrusal Aralıklı
Bu işlev, değerler aralığında doğrusal aralıklı bir dizi sağlamayı amaçlamaktadır. np.linspace(start, stop, num) işlevi burada start ve stop değer aralığını tanımlar ve num örnek sayısını tanımlar, eşit aralıklı değerler döndürürken np.arange(start, stop, step) şuna göre farklılık gösteren değerleri döndürür. adım değerleri.
2. Özel Değerler
Birçok durumda, birler, sıfırlar, özdeşlik veya sabit değerler gibi değerlerle büyük bir matris başlatmak isteyebilirsiniz. Dizinin boyutu bir tanımlama grubu olarak iletilir. Numpy bunu farklı işlevler aracılığıyla kolaylaştırır:
- np.zeros(boyut): Öğeler sıfırdır
- np.ones(size): Öğeler birdir
- np.full(boyut, sabit değer): Elemanlara geçirilen sabit değerdir.
- np.eye(size): Köşegen elemanlar bir ve geri kalanlar sıfırdır. Bu, kimlik matrisidir.
- np.empty(boyut): Boş matris
- np.random.random(size): Belirtilen boyutta rastgele değerler matrisi başlatılır.
Okuyun: Numpy Mülakat Soruları
Ndarray İşlemleri
Bu kütüphanenin temel amacı, farklı diziler arasında verimli hesaplamalar yapmaktır. Numpy, eleman bazında uygulanan hemen hemen tüm matematiksel işlem ve manipülasyon türlerini destekler. Bazıları aşağıda listelenmiştir (Aynı boyuttaki iki A ve B dizisinin rastgele değerlerle başlatıldığını varsayalım):
1. Matematiksel
- np.add(A, B): Toplama
- np.subtract(A, B): Çıkarma
- np.divide(A, B): Bölme
- np.multiply(A, B): Çarpma
- np.exp(A): Üstel değerler
- np.sqrt(A): Kare Kök değerleri
- np.sin(A), cos(A), tan(A): Trigonometrik değerler
- np.log(A): Logaritmik değerler
- np.percentile(A, gerekli yüzdelik, eksen): Yüzdelik değeri, örneğin 50'yi geçtiğinde, işlev dizinin 50. yüzdebirliğini döndürür.
- A.dot(B): Dizilerin nokta çarpımını döndürür
- A == B: Öğe bilge karşılaştırması
- np.array_equal(A, B): Dizi bilge karşılaştırması
- A.sum(): Tüm elemanların toplamı
- A.min(), max(): Minimum ve Maksimum değerler
- A.cumsum(): Dizinin öğelerinin kümülatif toplamı
- A.corrcoef(): Korelasyon katsayısı
2. Manipülasyonlar
- np.transpose(A) veya AT: Matrisin devrik
- A.ravel(): Diziyi düzleştirir
- A.reshape(new_shape): diziyi yeniden şekillendirir (burada boyutu, demete koymadan doğrudan iletir). Yeni boyut aynı olmalıdır
- A.resize(size): Dizinin şeklini herhangi bir şekle dönüştürür ve bu yeni şeklin parçası olmayan diğer öğeleri atar.
- np.concatenate((A,B), eksen=1 veya 0)
- np.vstack((A,B)): Dizileri dikey olarak istifle (satır bazında)
- np.hstack((A,B)): Yatay yığın
Kontrol Edin: Numpy vs Panda: Arasındaki Fark

Çeşitli Fonksiyonlar
- np.where(): Bu, if-else ifadelerine olan ihtiyacı ortadan kaldıran önemli bir fonksiyondur. 3 önemli argüman alır: koşul, koşul sağlanırsa değer ve değilse değer. Bunun basit bir örneği, belirli bir eşiğe dayalı olarak bir sütunu ikili hale getirmeniz gerektiği zaman olabilir.
- np.intersect1d(): Bu işlev, iki 1-d dizisinin kesişimini döndürür. Bu, bu dizilerin ortak değerlerinin bu işlev tarafından döndürüldüğü anlamına gelir. Geçilen diziler 1-d değilse düzleştirilir.
- np.allclose(): İlginç bir fonksiyondur. Dizileri karşılaştırırken bir miktar tolerans sağlayabileceğiniz veya benzer dizileri keşfetmek istediğiniz durumlar vardır. Bu fonksiyon dizileri ve istediğiniz tolerans değerini alır. Örneğin:
- dizi1 = np.dizi([1,2,3,4])
- dizi2 = np.dizi([2,3,4,5])
- np.allclose(arr1, arr2, 0.5): False döndürür
- np.allclose(arr1, arr2, 1): True değerini döndürür
- argmin(), argmax() ve argsort(): Adından da anlaşılacağı gibi, bu işlevler ilgili adların dizinlerini döndürür. A.argmin() minimum eleman indeksini döndürür, A.argmax() tersini ve A.argsort() sıralanmış dizinin indekslerini döndürür. Bu işlevler, sonucun dizine bağlı olduğu durumlarda kullanışlı olabilir.
- np.clip(): Belirli bir aralıktaki değerleri dönüştürmek için kullanılır. Örneğin, bir dizi 1'den 30'a kadar değerlere sahipse ve diğer değerleri kaybetmeden 14 ile 27 arasındaki değerleri istiyorsanız, bu fonksiyon 19'dan küçük değerleri büyütecek ve 27'den 27'ye kadar olan değerleri küçültecektir.
Çözüm
Numpy dizileri üzerinde çalışırken daha pek çok işlev vardır, ancak bunlar en çok kullanılan işlevlerdir. Panda sütunları veya serileri üzerinde uygulanan işlemler, seri tek boyutlu ndarray olduğu için aslında ndarray üzerindedir.
Numpy, belirli algoritmaları test etmek veya bir senaryoyu simüle etmek için sahte Veri oluşturmak için harika bir araçtır. Görüntünün gerekli işlemleri gerçekleştirmek için çok boyutlu matrislere dönüştürüldüğü bilgisayarlı görü uygulamalarında veya sinir ağı ağırlıklarının bu diziler tarafından tutulduğu derin öğrenmede yaygın olarak kullanılmaktadır.
Veri bilimi hakkında bilgi edinmek istiyorsanız, çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk sunan IIIT-B & upGrad'ın Veri Biliminde PG Diplomasına göz atın, 1- endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.