microsoft power bi python general library

Python Kütüphaneleri ve Özellikleri

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.

Kısaca Python’a yönelik derlenmiş bir ek paket-araç tanıtım fihristi olarak nitelendirilebilir.

Ağırlıklı olarak veri işlemesi ve raporlama alanı üzerinde faaliyet gösteren kurum-kuruluşlarda Python vazgeçilmez olarak nitelendirilmektedir.(Python Ek Bilgiler)

Raporlama ve Veri Görselleştirme hizmetleri üzerine Microsoft’un popüler iş zekası ve raporlama aracı Power BI üzerindeki kullanabilen veri konnektör ve derleyicileri arasında Python oldukça fazla tercih edilmekte-kullanılmaktadır.

Kullanım seçenekleri-yöntemleri olarak; Power BI Desktop uygulaması içerisinden veri kaynağı erişimi ile Python Script seçeneğini seçerek uygulamamıza işlenmiş-işlenecek veri aktarabilir,  

microsoft power bi python script
microsoft power bi python script editor

ya da Visualizations (Görselleştirme) içerisinden Python Visual öğesi ile mevcut verilerinizi baz alarak yüklü Python kütüphaneleri desteği ile ilgili verilerinizi anlık işleyerek raporlarınızda kullanabilirsiniz.

microsoft power bi python script visual

Raporlamalarımızdan anlamlı sonuçlar çıkartabilmek ya da çeşitli aksiyonlar alabilmek için aralıklı olarak verilerimizi işlemek ya da çeşitli algoritmik süreçlerden geçirmemiz gerekebilir. 

Çoğu zaman ilgili bu süreçler çok zorlayıcı (İstatiksel hesaplamalar vb. kompleks işlemler) ve hataya açık olabilir.Bu hatalardan kaçınmak ya da minimize etmek adına ağırlıklı olarak dış veri kaynaklarında-işleyicilerinde (Pyhton – R vb. dillerde) hazır algoritmalar içeren kütüphaneler kullanmak çözüm olarak gösterilebilir.  

Bu yazı içeriğinde Python üzerinde çokça kullandığım ve yazımı hazırlarken araştırarak öğrendiğim paket-program içeriklerini ele almaya çalıştım.

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-GoogleFacebookFacebookFacebook)

İ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 WickhamWinston 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 : MILAMontreal 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 Cythonda 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 BirdEdward Loper (Geliştirici-Geliştirici – CD University ProofBBN 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.

SQLAlchemy (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 – 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 Game : 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.

İ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.

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…

, , , , , ,

İlgili Yazılar