Python için yeni bir makine kurmak basit görünebilir, ancak doğru araçları seçmek verimlilik ve kullanım kolaylığı açısından büyük fark yaratır. Bir program ve kütüphane paketi, geliştiricilere başlangıçta herhangi bir engelle karşılaşmadan yazma, deneme yapma, projeleri yönetme ve verileri analiz etme için hazır bir ortam sağlar. İlk kurulum sırasında bu araçları kullanmak, önemli ölçüde zaman kazandırır ve planladığınız proje türü ne olursa olsun, sorunsuz çalışma için sağlam bir temel sağlar. Python programlama için her yeni makine kurulumunda güvenebileceğiniz pratik bir kontrol listesi oluşturulur.

Herkesin yeni bir makine aldığında kurduğu favori bir araç seti vardır. Python ile çalışarak kendi temel setimi oluşturdum. Yeni bir makine aldığımda kullandığım kütüphaneler ve programlar şunlardır:
Jüpyter/IPython

Jupyter, metin, grafik ve kodu bir araya getiren etkileşimli not defterleri oluşturmak için bir yöntemdir. Bilimsel programlama dünyasında devrim yaratan benzersiz bir programlama yaklaşımıdır. Kod bölümlerini çalıştırmak ve yeniden çalıştırmak çok kolaydır.
Python'a özel bir araç olmasa da, diğer dilleri de destekleyen bir araç olan Python, istatistik de dahil olmak üzere bilimsel hesaplamalar için tercih edilen bir açık kaynaklı programlama dilidir. Jupyter not defterleri başlangıçta IPython'un bir parçasıydı ve etkileşimli Python ortamını geliştiriyordu. Ben öncelikle deneyler için IPython'u, sonuçlarımı kaydetmek için ise Jupyter not defterlerini kullanıyorum.
Mamba
Bu belirli bir Python aracı değil, ancak mamba Yeni bir makinede çalışma ortamı kurmak için kullanışlıdır. Python birçok sisteme dahil olsa da, Linux öncelikle işletim sistemi içindeki komut dosyaları ve diğer işlevler için kullanılır, programlama projeleri için değil. Paket yüklemek isteseydim, bir paket yöneticisi kullanmam veya sanal bir ortam kurmam gerekirdi.
Mamba, istediğim paketleri kullanarak özel ortamları kolayca kurmama ve bunlar arasında geçiş yapmama olanak tanıyor. Bu, sistemimin Python ortamının bozulma olasılığını büyük ölçüde azaltıyor.

Dizi

Dizi Python kullanılarak geliştirilen bilimsel hesaplamanın temelini oluşturur. İşlevselliği, bilim ve mühendislikte yaygın olarak kullanılan MATLAB ile karşılaştırılabilir olmasını sağlar. Sayısal matrislerle çalışmayı kolaylaştırır. Doğrusal denklem sistemlerini kolayca çözmek için vektörler ve matrisler tanımlayabilirsiniz.
En ilgi çekici bulduğum şey, aritmetik ortalama ve medyan da dahil olmak üzere birçok temel istatistiksel hesaplamanın mevcut olması. NumPy ayrıca, daha sonra bahsedeceğim diğer birkaç kütüphaneyle de uyumlu çalışıyor.
scipy

scipy Birçok bilimsel fonksiyon açısından zengin. Ve yine, beni cezbeden şey istatistiksel hesaplama. Standart NumPy'de bazı sebeplerden dolayı mevcut olmayan fonksiyonları hesaplayabiliyorum. Örneğin, istatistiksel modu, yani bir veri kümesinde en sık görülen sayıyı hesaplayabiliyorum.
Diyelim ki "a" adında bir dizim var. Modu bulmak için şu kodu çalıştıracağım:
from scipy import stats
stats.mode(a)
SciPy ayrıca normal dağılım, ikili dağılım ve öğrenci t-dağılımı gibi birçok yaygın istatistiksel dağılımı da içerir. Artık tablolar arasında arama yapmama gerek yok.
SymPy

NumPy ve SciPy sayısal aritmetik işlemleri kapsarken, SymPy tamamen farklı bir şey sunar. Python'u bir hesaplamalı cebir sistemine dönüştüren bir kütüphanedir. Bu, sembolik değişkenleri bir hesap makinesinin sayıları işlemesine benzer şekilde işlemesini sağlar. Bu işlevsellik genellikle Wolfram Mathematica gibi pahalı paketlerde bulunur.
Bu, Python'da polinomları genişletme ve çarpanlarına ayırma, denklem çözme ve hatta kalkülüs gibi cebirsel işlemler yapmamı sağlıyor. Günlük işlerimin küçük bir kısmını oluştursa da, istatistiksel kavramları daha derinlemesine anlamak için paha biçilmez. Doğrusal regresyon formülünü hesaplamak için kullanabilirim, diğer kütüphaneler ise hesaplamaları halleder. Ayrıca, bu daha gelişmiş işlemleri kullanan betikler üzerinde çalışmak için de kullanıyorum. Kendi kendime öğrendiğim matematik için paha biçilmez bir araç olduğunu gördüm.
pandalar

İstatistiksel hesaplamalar için bu program, NumPy'den daha verimlidir. Pandas, dikdörtgen veriler için veri çerçeveleri tanımlamayı kolaylaştırır. Bu, elektronik tablolarda ve ilişkisel veritabanlarında gördüğünüz veri düzenlemesine benzer. Ayrıca, Excel ve CSV elektronik tablolarından veri aktarımını da kolaylaştırır.
Sadece verileri görüntülemekle kalmıyor, aynı zamanda tanımlayıcı istatistikler gibi hesaplamalar yapmak için çeşitli yerleşik işlevler de içeriyor. Ayrıca verileri Pandas kullanarak çizebiliyorum.
Seaborn

Seaborn'dan daha önce bahsetmiştim. Yaygın istatistiksel grafikler oluşturmayı kolaylaştırmasını seviyorum. Esasen popüler Matplotlib kütüphanesi için bir ön uç. Matplotlib kullanışlı olsa da, istenen grafiği oluşturmak zahmetli olabilir. Seaborn'da ise asıl mesele grafik türünü seçmek ve x ve y eksenlerini ayarlamak.
Örneğin, bahşişin toplam hesabı temsil ettiği entegre bir restoran bahşiş veritabanı için bir dağılım grafiği kullanarak bir regresyon elde etmek için:
import seaborn as sns
sns.set_theme()
tips = sns.load_dataset('tips')
sns.regplot(x='total_bill',y='tip',data=tips)
pinguin

pinguin İstatistiksel test sonuçlarını kullanımı kolay bir şekilde elde etmek için kullanışlı bir kütüphane. Önceki regresyon grafiğinin ardındaki gerçek rakamları görmek için doğrusal regresyon yöntemini kullanabilirim. linear_regression Pinguin dilinde:
import pingouin as pg
pg.linear_regression(tips['total_bill'],tips['tip'])
Diğer yaygın testler arasında öğrenci t-testi ve ki-kare testi yer alır.
istatistik modelleri

istatistik modelleri Adından da anlaşılacağı gibi, esas olarak istatistiksel testlere adanmış eski bir kütüphane. Başlıca özelliği doğrusal regresyondur. Ayrıca sonuçlarını R gibi diğer istatistiksel yazılımlarla karşılaştırır. Bu, sonuçlarınızın doğruluğunu doğrulamak istediğinizde kullanışlıdır. R'den bahsetmişken, R benzeri formülleri de destekler. Bunu, Tips veri kümesi için regresyon analizinin başka bir versiyonuyla göstereceğim:
import statsmodels.formula.api as smf
results = smf.ols('tip ~ total_bill',data=tips).fit()
results.summary()
Bu kütüphaneler ve araçlar veri analizini daha kolay ve keyifli hale getiriyor. Muhtemelen bir sonraki makinemde bunları kullanacağım.


