Python ile Veri Bilimine Giriş (Introduction to Data Science with Python)

watch_later 3/23/2016
comment 2 Comments
Python Sürümler (Versions)
Python’un 3.0 ve üzeri versiyonunda geçmişteki versiyonlarda bulunan bazı hatalar giderildi. Dilin kullanımı büyük ölçüde aynı kalsa da, farklılıklar geriye doğru uyumluluğu etkileyecek kadar köklü oldu. Eski versiyon Python’un gelişimi 2.7 versiyonunda durduruldu. Artık sadece Python 3 üzerinde geliştirmeler yapılıyor.

Bilimsel programlama ihtiyaçları açısından iki versiyon arasındaki fazla bir fark bulunmuyor. Hatta Python 2 ve Python 3 yorumlayıcıları sisteminizde birlikte bulunabilir. Bu yorumlayıcıların kendilerine ait sistem klasörleri olacak ve ilgili kütüphanelerin 2.7 ve 3.x versiyonlarını ayrıca kurmak gerekir. Python 3 ileri yönlü oluşturulacak projeler açısından daha uygun ama bazı bilimsel kütüphaneler ve Spyder, Enthought gibi araçları Python 3'e dahil edilmedi. Python 2.7 sürümü, Python 3 çıktıktan sonra tamamlandığı için Python 3 yeniliklerinin bazıları 2.7’ye de eklendi ve otomatik aktarmaları kolaylaştıracak özellikler de eklendi. Yapılacak projeler açısından Python 2.7 ve 3.x arasında çok az fark bulunuyor. Hangi Python versiyonun kullanılacağı tamamen geliştiricinin tercihidir.





Python'un günümüzdeki popülerliğinin en önemli sebeplerinden biri de hesaplama gerektiren bilimlerdeki işlevselliğidir. Üst seviye bir programlama dili olan Python bu işlevselliği sayesinde alt seviye programa dillerinde (C, C++, Fortran) yapılabilen karmaşık büyük çaptaki hesaplamaları kıyaslanabilir bir performansta, kullanıcıya büyük kolaylıklar sağlayarak gerçekleştirebilmektedir. Python fonksiyonelliğini modül, paket veya kütüphane olarak adlandırılan eklentilerle sağlar. Bu paketlerden en önemlileri Numpy, Matplotlib, Pandas ve Scipy kütüphaneleridir.

Numpy
Numpy genel olarak dizi, vektör ve matris hesaplamaları için özelleşmiş bir kütüphane olup, büyük çaptaki veri kümeleri üzerinden işlem yapmayı kolaylaştırır. NumPy, Numerical Python yani Sayısal Python‘un kısaltılmış halidir. En önemli işlevleri:
1. Hızlı çalışan çok boyutlu diziler 
2. Diziler ve dizi ile çalışan matematiksel işlemler
3. Dizi tabanlı veri setleri oluşturma, okuma ve yazma işlemleri
4. Lineer cebir işlemleri, Fourier dönüşümleri, rastgele sayı üreteci gibi işlemler

Matplotlib
Matplotlib, grafik işlemleri ve iki boyutlu görselleştirme işlemleri için en çok kullanılan Python kütüphanesidir. İlk olarak John D. Hunter tarafından geliştirilmiş olup, şimdi ise geniş bir geliştirici ekibi tarafından geliştirilmektedir. Özellikle IPython gibi etkileşimli ve görsel alanlarda kullanım için uygundur. 

Pandas
Pandas, veri yapıları için çok uygun bir kütüphanedir. En çok kullanılan nesnesi DataFrame’dir. NumPy’daki veri yapısı ile Excel ve SQL gibi ilişkisel veri yapılarını işleyebilir ve index oluşturabilir. Ayrıca finansal işlemler yapan kullanıcılar için çok sayıda zaman serisi fonksiyonu içerisinde barındırır. Finansal işlemler için gerekli birçok işlemi çok iyi bir performansla gerçekleştirebilir. 

Scipy
Scipy ise bünyesinde, sık kullanılan matematiksel fonksiyonları ve fiziksel problemlerinin ifade edilmesine yönelik fonksiyonları barındırmaktadır. En önemli işlevleri:
1. İntegral ve diferansiyel denklem çözümleri
2. Lineer cebir işlemleri
3. Optimizasyon problemleri
4. Sinyal işleme problemleri
5. Çeşitli istatistik fonksiyonları ve testleri



Anaconda
Anaconda (ticari kullanım ve yeniden dağıtım içinde dahil) tamamen ücretsiz Python dağıtımıdır. Bu dağıtım bilim, matematik, mühendislik ve veri analizi için en popüler Python paketlerinden birisidir.

Download Anaconda Windows (Python 3.5)

Anaconda kurulumu ile birlikte gelen Jupyter Notebook sunucu yoluyla bağlanılır. Bağlantıyla eş zamanlı olarak tarayıcıda Jupyter Notebook sayfası açılacaktır. examples.ipynb uzantılı dosyaları Upload ile sunucuya yükleyerek daha kullanışlı ve gerçek zamanlı çalıştırılabilir kod blokları oluşturulabilir. Yazının sonunda Python Programlama ile ilgili Jupyter Notebook sayfaları eklenecektir.  
 

Jupyter Notebook Sunucu Sayfası

Jupyter (IPython)
IPython kullanımı iligili birçok özellik içeriyor:

1. IPython Python kullanarak en iyi şekilde yardımcı olmak için zengin bir araç seti sağlar.
2. Güçlü bir Python kabuğu (terminal ve Qt-tabanlı).
3. Sihirli işlevleri, takma adlar ve UNIX kabuk gibi IPython tamamlama özelliklerini barındırır.
4. Etkileşimli veri görselleştirme için GUI araç desteği bulunuyor.
       5. Kullanımı kolay, paralel hesaplama, yüksek performanslı araçlar sunuyor.

Python'un kendi kabuğundan biraz daha gelişmiş bir alternatif. Qt tabanlı versiyonunu kullanıldığında sayfa içerisinde grafik çizebiliyor olması(matplotlib) iyi özelliklerinden birisidir. IPython programı etkileşimli hesaplamalar için kolaylık sağlamak üzere tasarlanmış. Basit Python yorumlayıcısında bulunmayan dökümantasyon, komut tamamlama, işletim sistemiyle kolay etkileşim, önceki oturumlardaki komut tarihini saklama, komutların çıktılarını önbelleğe alma ve daha nice kolaylıklar içeriyor. En sade haliyle komut satırında (terminalde) çalıştırılabilir. Ayrıca grafik arayüzlü “Qt Console” versiyonu gömülü grafikler gösterebiliyor.


Aşağıdaki Mastering Python of Data Science.ipynb adlı dosya ve klasörleri kullanıcı (C:\Users\Burak Tahtacıoğlu) dizin altına kopyalayarak veya Jupyter sunucu sayfasından Upload ile çalıştırılabilir.





avatar
Adsız

Devami olacak mi?

delete 29 Mart 2016 14:27
avatar

İnş. olacak deneyimlerimi paylaşacağım..

delete 29 Mart 2016 21:11



sentiment_satisfied Emoticon