Merhaba, iyi günler.
Bugünkü yazımda; çok çeşitli alanlarda kullanılan güçlü, dinamik altyapısı, anlaşılır sade dili ile oldukça popüler olan Python (birçok ek özelliğe sahip) diline yönelik oluşturulmuş kütüphane (library), çatı (framework) ve programlara göz atacağımız kısa notları aktarıyor olacağım.
İlgili yazı içeriğine ulaşmak için lütfen tıklayınız...
Please click to access the related article content...
Dilerseniz hızlıca göz atmaya başlayalım;
NumPy (Numerical Python – Sayılsal Python) : Veri Bilimi çalışmaları için olmazsa olmaz olarak ifade edilen-gösterilen çok büyük ölçekteki matematiksel-bilimsel hesaplamaları kolay, hızlı ve esnek bir şekilde gerçekleştirmemizi sağlayan çözümleri içeren kütüphanedir.
Ağırlıklı olarak Veri Madenciliği, Makine Öğrenmesi, Veri Analizi, Tek-Çok Boyutlu dizi içeren hesaplama yapılarında kullanılır.
*Kurucu-Geliştirici-Destekçi : Travis Oliphant (Geliştirici-Open Teams)
İlgili dökümantasyon linki.
SciPy (Scientific tools for Python – Python için Bilimsel Araçlar) : Veri Bilimi çalışmaları için bir diğer olmazsa olmaz olarak gösterilen, NumPy‘e göre matematiksel çözümlerden ziyade biraz daha bilimsel çözümlerin ağırlıklı olarak ele alındığı (Tek boyutlu bir Schrödinger Eşitliği‘nin çözümlemesi gibi.) kütüphanedir.
Kullanıcılar-Geliştiriciler arasında NumPy ve SciPy kütüphanelerinin birlikte kullanımı gerçekleştirildiğinde MatLab programının sağladığı çözümlere benzer işlevler sağlayacağı dile getirilmektedir.(Yeterince evet!)
*Kurucu-Geliştirici-Destekçi : Travis Oliphant – Pearu Peterson – Eric Jones (Geliştiriciler)
İlgili dökümantasyon linki.
Matplotlib (Mathematical Plot Library – Matematiksel Çizim Kütüphanesi): Veri Bilimi çalışmaları için sayısal matematik hesaplamalarını 2 ya da 3 boyutlu görsel çıktılar olarak almamızı sağlayan bir çizim (görselleştirme) kütüphanesidir.
Dökümantasyon içeriği zengin, öğrenimi kolay ve uygulaması basit olduğundan çokça tercih edilmektedir.
*Kurucu-Geliştirici-Destekçi : John D. Hunter (Kurucu-Geliştirici-NumFOCUS)
İlgili dökümantasyon linki.
SciKit-Learn (Science Kit/Kits Learn – Bilim Öğrenim Kiti) : Veri Bilimi ve Makine Öğrenmesi çalışmaları için (Veri İşleme, Regresyon,Küme Analizi vb.) kullanılan çok yönlü bir kütüphanedir.
Scikit-learn; NumPy , SciPy ve Matplotlib kütüphaneleri ile ağırlıklı olarak ortak kullanılmaktadır, bu nedenle etkili bir şekilde uygulamada bulunmak için bu üç kütüphanenin en azından temel bilgilerini bilmeniz yapacağınız çalışmalarda kolaylık sağlayacaktır.
*Kurucu-Geliştirici-Destekçi : Cournapeau David (Geliştirici-Mercari)
İlgili dökümantasyon linki.
SymPy (Symbolic Python – Sembolik Python) : Sembolik Matematik analizleri ve uygulamaları için kullanılan oldukça popüler bir kütüphanedir.
Ek kütüphane bağımlılığı çok düşüktür.Gerçek ve kayan noktalı sayılar için hesaplama sağlayan MpMath kütüphanesi dışında bariz gereksinim gereği duyulan bir kütüphane yoktur.
*Kurucu-Geliştirici-Destekçi : SymPy Development Team (Özel Geliştirici Ekibi)
İlgili dökümantasyon linki.
Keras Birçok derin öğrenme modelini tanımlamak, anlamlı hale getirmek ve eğitmek için uygun bir çözüm yolu sağlayan derin öğrenme kütüphanesidir.
Ek olarak; Tensorflow, Theano, PlaidML ve CNTK üzerinde çalışabilen Python ile yazılmış bir üst düzey sinir ağları için API olarak ifade edilmektedir.
*Kurucu-Geliştirici-Destekçi : François Chollet (Geliştirici-Google)
İlgili dökümantasyon linki.
PyTorch (Python Torch – Python Meşalesi) : Torch kütüphanesine dayanan grafik işlem birimlerinin gücünü kullanan bir bilimsel bilgi-doğal dil işleme kütüphanesidir.
Facebook’un yapay zeka laboratuvarında geliştirilen kütüphane TensowFlow alternatifi olarak gösterilmektedir.(Kimilerine göre daha iyisi!)
*Kurucu-Geliştirici-Destekçi : Adam Paszke – Sam Gross – Soumith Chintala Gregory Chanan (Geliştiriciler-Google–Facebook–Facebook–Facebook)
İlgili dökümantasyon linki.
GgPlot2 (Grammer of Graphic Plot – Grafik Çizim Grameri) : İstatistiksel programlama dili R ve Python için bir veri görselleştirme kütüphanesidir .
Kullanıcılar arasında popüler olan bu kütüphane ağırlıklı olarak karmaşık sonuç çıktılarını görselleştirmek için kullanılır.
*Kurucu-Geliştirici-Destekçi : Hadley Wickham – Winston Chang (Geliştirici-RStudio-RStudio)
İlgili dökümantasyon linki.
TensorFlow (Tensor Flow – Tensör* Akışı) : Bir dizi görev arasında veri akışı ve türevlenebilir programlama için kullanılan ücretsiz ve açık kaynaklı bir kütüphanedir.
Ağırlıklı olarak sembolik matematik işlemleri ve sinir ağları gibi makine öğrenimi uygulamaları için kullanılır. Google’da hem araştırma hem de üretim için önemli bir yeri vardır.
*Tensör : Vektörler ya da skalerler büyüklükler arasındaki doğrusal ilişkileri tanımlayan geometrik nesnelerdir. Kısacası; vektörler ya da skalerler arasındaki bağlantıyı sağlayan operatördür.
*Kurucu-Geliştirici-Destekçi : Google Brain Team (Geliştiriciler)
İlgili dökümantasyon linki.
Pandas Veri işlemesi ve analizi için Python programlama dilinde yazılmış olan bir kütüphanedir.
Temel olarak zaman etiketli serileri ve sayısal tabloları işlemek için bir veri yapısı oluşturur ve yapıyı çeşitli işlemler ile işler-analiz eder.
*Kurucu-Geliştirici-Destekçi : Wes McKinney (Geliştirici-Ursa Labs)
İlgili dökümantasyon linki.
GnuPlot Fonksiyon ya da verilere uygun iki veya üç boyutlu grafik çizme, veri görselleştirme programı- ek kütüphanesidir.
Çizilen grafikler kalitesinden dolayı ağırlıklı olarak akademik çalışmalarda çokça tercih edilmektedir.
*Kurucu-Geliştirici-Destekçi : Thomas Williams – Colin Kelley (Geliştirici-?-Invoca)
İlgili dökümantasyon linki.
Theano Matematiksel ifadeleri, özellikle matris değerli yapıları-ifadeleri işlemek ve değerlendirmek için optimize eden bir kütüphanedir.
İleri düzey matematiksel araştırma ve çalışmalar (Etkili sembolik türev alma, Hız ve kararlılık optimizasyonları vb.) için sıkça kullanılmaktadır.
*Kurucu-Geliştirici-Destekçi : MILA–Montreal Institute for Learning Algorithms (Geliştiriciler)
İlgili dökümantasyon linki.
Caffe Uygulamalar oluşturmak için tasarlanmış ve geliştirilmiş bir derin öğrenme çatısı – çerçevesi (framework) – kütüphanesidir.
Sinir ağlarını metin ve kod yazmadan soruna hızlı bir şekilde uygulamanızı sağlar.
*Kurucu-Geliştirici-Destekçi : Yangqing Jia – Berkeley Vision and Learning Center (Geliştirici-AliBaba-Geliştirici Ekip)
İlgili dökümantasyon linki.
PyMC3 İleri düzey Markov Zinciri, Monte Carlo ve Varyasyonel Uydurma algoritmalarına odaklanan, istatistiksel modelleme ve olasılıklı makine öğrenimi için kullanılan bir analiz kütüphanesidir.
Çok çeşitli alanlarda (Moleküler Biyoloji, Kristalografi, Kimya, Ekoloji vb.) oldukça çokça tercih edilen popüler bir kütüphanedir.
*Kurucu-Geliştirici-Destekçi : Thomas Wiecki (Geliştirici-Kurucu-PyCM Lab)
İlgili dökümantasyon linki.
Chainer Python’da NumPy ve CuPy Python kütüphanelerinin üstünde yazılmış açık kaynaklı bir derin öğrenme çerçevesidir-kütüphanesidir.
Geliştirme, IBM, Intel, Microsoft ve Nvidia ile ortaklaşa Japon girişim şirketi Preferred Networks tarafından yönetiliyor.
*Kurucu-Geliştirici-Destekçi : Toru Nishikawa (Geliştirici-CEO-Preferred Infrastructure)
İlgili dökümantasyon linki.
Gensim Modern istatistiksel makine öğrenimi kullanarak denetimsiz konu modelleme ve doğal dil işleme için oluşturulmuş açık kaynaklı bir kütüphanedir.
Gensim ağırlıklı olarak Python ve Cython‘da uygulanmaktadır.
*Kurucu-Geliştirici-Destekçi : Radim Řehůřek (Geliştirici-RaRe Technologies)
İlgili dökümantasyon linki.
Statsmodels (Statistical Models – İstatistiksel Modeller) : İstatistiksel modelleri tahmin etmek ve istatistiksel testler yapmamızı sağlayan bir kütüphanedir.
Farklı veri türleri işlemesi, geniş tanımlayıcı istatistik yapısı, istatistiksel test çözümleri, çizim fonksiyonu ve sonuç istatistikleri listesi gibi çözümlerinden dolayı çokça tercih edilmektedir.
*Kurucu-Geliştirici-Destekçi : Wes McKinney (Geliştirici-Ursa Lab)
İlgili dökümantasyon linki.
SpaCy Gelişmiş doğal dil işleme (NLP) için oluşturulmuş açık kaynaklı bir kütüphanedir.
Uber, AirBnb Microsoft gibi büyük şirketlerin altyapısında kullanılmaktadır.
*Kurucu-Geliştirici-Destekçi : Ines Montani – Matthew Honnibal (Kurucu-Geliştirici-Explosion)
İlgili dökümantasyon linki.
HyperLearn (Hiper Öğrenme) : Statsmodel, Pandas, PyTorch, NoGil, Numba, Numpy, Scipy & Lapack gibi kütüphanelerin ortak çözümlerini-kullanımlarını içeren kompleks bir kütüphanedir.
*Kurucu-Geliştirici-Destekçi : Daniel Han-Chen (Geliştirici) İlgili dökümantasyon linki.
NLTK (Naturel Language Toolkit – Doğal Dil Araç Seti) : Doğal Dil Araç Seti veya daha yaygın olarak ifade edilen NLTK, sembolik matematik ve istatistiksel analizler için doğal dil işleme çözümleri adına kullanılan popüler bir kit-kütüphanedir.
*Kurucu-Geliştirici-Destekçi : Steven Bird – Edward Loper (Geliştirici-Geliştirici – CD University Proof – BBN Technology) İlgili dökümantasyon linki.
Seaborn İstatiksel hesaplamalara yeni bir anlam ve farklı bir bakış açısı kazandırmak için kullanılan oldukça efektif ve bir o kadar popüler olan bir veri görselleştirme kütüphanesidir.
Matplotlib, Numpy, Pandas, Scipy, Statsmodel ve PyData gibi çevik ve çok yönlü kütüphaneler üzerine alt yapısı yapısı oluşturulmuştur.
*Kurucu-Geliştirici-Destekçi : Andy Bax (Geliştirici-DRD Technology) İlgili dökümantasyon linki.
Plotly R, Python ve Javascript dilleri ile uyumu çalışan veri görselleştirme ve dashboard oluşturmaya yarayan çeşitli fonksiyonlar içeren bir kütüphanedir.
*Kurucu-Geliştirici-Destekçi : Alex Johnson (Geliştirici-Kurucu) İlgili dökümantasyon linki.
MpMath (Midle Point Mathematic – Orta Nokta Matematiği) : Gerçek ve kompleks kayan noktalı sayılarla hassas hesaplama yapmayı sağlayan Python kütüphanesidir.
İçerisinde çeşitli matematiksel fonksiyonları da (Sayısal Entegrasyon, Sonsuz Seri Sınırı vb.) barındırmaktadır.
*Kurucu-Geliştirici-Destekçi : Fredrik Johansson (Geliştirici) İlgili dökümantasyon linki.
Scrapy Web üzerindeki verileri-içerikleri taramamızı sağlayan açık kaynaklı bir çerçevedir.
Html ve Xml gibi yapısal içeriklerden verilerin ayıklanmasını sağlamaktadır.
Başlangıçta sadece web kazıma için tasarlanmış olmasına rağmen, API’leri kullanarak genel amaçlı bir web tarayıcısı olarak ya da veri ayıklamak için de kullanılabilir.
*Kurucu-Geliştirici-Destekçi : Shane Evans (Geliştirici-Scrapinghub)
İlgili dökümantasyon linki.
Requests Apache Lisansı 2.0 altında yayınlanan bir Python HTTP kütüphanesidir.
Genel olarak Web üzerindeki isteklerinizi yönetmenizi sağlamaktadır.
*Kurucu-Geliştirici-Destekçi : Kenneth Reitz (Geliştirici-Cloud Reach)
İlgili dökümantasyon linki.
Beautiful Soup HTML ve XML belgelerini işlemek-ayrıştırmak için kullanılan bir pakettir-kütüphanedir.
İlginç ama adını Alice Harikalar Diyarında ki kaplumbağanın söylediği şarkıdan almaktadır.
*Kurucu-Geliştirici-Destekçi : Leonard Richardson (Geliştirici-New York Public Library) İlgili dökümantasyon linki.
Flask Altyapısı Python ile yazılmış-geliştirilmiş bir mikro (minimal) web çerçevesidir.
Mikro yapıda olan bu çerçeve-framework bir o kadar da güçlü ve esnek kullanım kolaylıkları sunmaktadır.
*Kurucu-Geliştirici-Destekçi : Armin Ronacher (Geliştirici-Sentry) İlgili dökümantasyon linki.
Bokeh Temel yapılarda kolay ve hızlı bir şekilde verilerinizi görselleştirmeyi sağlayan kütüphanedir.
Matplotlib, Seaborn vb. veri görselleştirme kütüphanelerinin aksine Bokeh grafikleri Html ve Javascipt kullanarak gösterir.
*Kurucu-Geliştirici-Destekçi : Travis Oliphant (Kurucu-Geliştirici-NumFocus) İlgili dökümantasyon linki.
wxPython Python programlama dili için platformlar arası GUI API – Grafiksel Kullanıcı ara yüzü wxWidgets paketleyicisidir-kütüphanesidir.
Tkinter‘in alternatiflerinden biri olarak belirtilmektedir.Python genişletme modülü olarak uygulanır.
*Kurucu-Geliştirici-Destekçi : Robin Dunn – Harri Pasanen (Geliştirici-Geliştirici-CM University – EU Central Bank) İlgili dökümantasyon linki.
Pillow Python Imaging Library (Python Görsel Kütüphanesi) : Python programlama dili için geliştirilen, açık kaynak kodlu grafik işleme kütüphanesidir.
Kütüphane, içinde barındırdığı hazır fonksiyonlar sayesinde programcıya üstün bir grafik işleme imkânı sunar.
Grafik işlemeden kasıt ise; özelleşmiş çizimler, boyutlandırma-ölçeklendirme işlemleri, renk değerlerini düzenleme vb. görüntü işleme-düzenleme faaliyetleri olarak nitelendirilebilir.
*Kurucu-Geliştirici-Destekçi : Fredrik Lundh (Geliştirici-Google) İlgili dökümantasyon linki.
SQL Alchemy (SQL Simyası) : MIT Lisansı altında yayınlanan Python programlama dili için açık kaynaklı bir SQL araç takımı ve ORM (Object Relational Mapping) – nesne ile ilişkisel eşleştiricisidir-kütüphanesidir.
Kısaca; veritabanı tablolarını Python objeleri ile eşleştirip, objeler üzerinden veritabanı veri işleme işlemleri yapmamızı sağlar.
*Kurucu-Geliştirici-Destekçi : Michael Bayer (Geliştirici-RedHat) İlgili dökümantasyon linki.
Twisted Matrix Lab Python’da yazılmış ve açık kaynak altında lisanslanmış olan olay odaklı bir ağ oluşturma motorudur-kütüphanesidir.
Mail sunucusu-alıcısı, internet üzerinden oynanabilen oyunlar vb. ağ kaynaklı tüm yapıları inşa etmenizi sağlar.
*Kurucu-Geliştirici-Destekçi : Glyph Lefkowitz (Geliştirici-Pilot.com) İlgili dökümantasyon linki.
PyGame Python programlama dilinde etkileşimli oyunlar hazırlamak için SDL (Simple Direct Media Layer) kütüphanesi üstünde kurulmuş bir kütüphanedir.
Pygame’in en önemli özelliklerinden birisi, pek çok platformda çalışmasıdır. Pygame, kullanıcılara birçok medya türünün desteklendiği bir arayüz sunar.
*Kurucu-Geliştirici-Destekçi : Lenard Lindstrom,René Dudfield,Pete Shinners, Nicholas Dudfield,Thomas Kluyver (Geliştiriciler) İlgili dökümantasyon linki.
Pyglet Oyunların ve multimedya uygulamaların oluşturulması için nesne tabanlı bir uygulama-programlama arabirimi sağlayan kütüphanedir.
Pencereleme kurgusunu, OpenGL grafiklerini, resim, video ve müzik derlemeyi (Multimedya öğeleri) destekler.
*Kurucu-Geliştirici-Destekçi : Community -Topluluk (Geliştiriciler) İlgili dökümantasyon linki.
PyQt Python eklentisi olarak uygulanan platformlar arası GUI araç seti Qt’nin bir Python bağlamasıdır-eklentisidir.
*Kurucu-Geliştirici-Destekçi : Riverbank Computing (Supporter-Destekçi) İlgili dökümantasyon linki.
DeepFace Python için hafif bir yüz tanıma ve yüz öznitelik analizi (yaş, cinsiyet, duygu ve ırk) çerçevesidir. VGG-Face, Google FaceNet, OpenFace, Facebook DeepFace, DeepID, ArcFace, Dlib ve SFace gibi son model modelleri kapsayan hibrit bir yüz tanıma çerçevesi olarakta detaylı biçimde ifade edilebilir.
*Kurucu-Geliştirici-Destekçi : Şefik İlkin Serengil (Developer-Geliştirici) İlgili dökümantasyon linki.
NetworkX Python için grafikleri ve ağları Graf Teorisi ile (Graph Theory) incelemeye yönelik geliştirilmiş bir analiz kütüphanesidir. NetworkX; BSD-New Lisansı altında yayınlanan ücretsiz bir yazılımdır.
*Kurucu-Geliştirici-Destekçi : Topluluk (Developer-Geliştirici) İlgili dökümantasyon linki.
Günümüzde popülerliği hızla yükselen ve toplulukların üzerindeki destekleri katlanarak artan Python ile ilgili kütüphanelerin-çatıların-araçların sayısı yüzleri geçebilir.
Kısaca bildiğim ve öğrendiğim kadarıyla aktarmaya çalıştım.
Gelecek yazılarda görüşmek üzere.
İyi çalışmalar…