Python ile Makine Öğrenimi - Ekosistem
Python'a Giriş
Python, üst düzey programlama dili yeteneklerine sahip popüler bir nesne yönelimli programlama dilidir. Öğrenmesi kolay sözdizimi ve taşınabilirlik özelliği, bu günlerde popüler olmasını sağlıyor. Aşağıdaki gerçekler bize Python'a giriş sağlar -
Python, Guido van Rossum tarafından Hollanda'daki Stichting Mathematisch Centrum'da geliştirildi.
'ABC' adlı programlama dilinin halefi olarak yazılmıştır.
İlk versiyonu 1991'de yayınlandı.
Python adı, Guido van Rossum tarafından Monty Python's Flying Circus adlı bir TV programından seçildi.
Açık kaynak kodlu bir programlama dilidir, yani onu özgürce indirebilir ve programları geliştirmek için kullanabiliriz. Www.python.org adresinden indirilebilir .
Python programlama dili hem Java hem de C özelliklerine sahiptir. Zarif 'C' koduna sahip ve diğer yandan nesneye yönelik programlama için Java gibi sınıflara ve nesnelere sahip.
Yorumlanmış bir dildir, yani Python programının kaynak kodu önce bayt koduna dönüştürülür ve ardından Python sanal makine tarafından çalıştırılır.
Python'un Güçlü ve Zayıf Yönleri
Her programlama dilinin bazı güçlü yönleri ve zayıf yönleri vardır, Python da öyle.
Güçlü
Araştırmalara ve anketlere göre Python, makine öğrenimi ve veri bilimi için en önemli beşinci dilin yanı sıra en popüler dildir. Python'un sahip olduğu şu güçlü yönlerden kaynaklanmaktadır:
Easy to learn and understand- Python'un sözdizimi daha basittir; dolayısıyla yeni başlayanlar için bile dili öğrenmek ve anlamak nispeten kolaydır.
Multi-purpose language - Python çok amaçlı bir programlama dilidir çünkü yapısal programlamayı, nesne yönelimli programlamayı ve işlevsel programlamayı destekler.
Huge number of modules- Python, programlamanın her yönünü kapsayan çok sayıda modüle sahiptir. Bu modüller kolayca kullanılabilir, dolayısıyla Python'u genişletilebilir bir dil yapar.
Support of open source community- Açık kaynak programlama dili olarak Python, çok geniş bir geliştirici topluluğu tarafından desteklenmektedir. Bu nedenle, hatalar Python topluluğu tarafından kolayca düzeltilebilir. Bu özellik Python'u çok sağlam ve uyarlanabilir kılar.
Scalability - Python ölçeklenebilir bir programlama dilidir çünkü büyük programları desteklemek için kabuk komut dosyalarından daha gelişmiş bir yapı sağlar.
Zayıflık
Python, popüler ve güçlü bir programlama dili olmasına rağmen, yavaş yürütme hızı konusunda kendi zayıflığına sahiptir.
Python'un yürütme hızı, derlenmiş dillere kıyasla yavaştır çünkü Python yorumlanmış bir dildir. Bu, Python topluluğu için ana iyileştirme alanı olabilir.
Python'u Yükleme
Python'da çalışmak için önce onu yüklemeliyiz. Python kurulumunu aşağıdaki iki yoldan biriyle gerçekleştirebilirsiniz -
Python'u ayrı ayrı kurmak
Önceden paketlenmiş Python dağıtımını kullanma - Anaconda
Bunları ayrıntılı olarak tartışalım.
Python'u Ayrı Ayrı Kurmak
Python'u bilgisayarınıza kurmak istiyorsanız, o zaman sadece platformunuz için geçerli olan ikili kodu indirmeniz gerekir. Python dağıtımı Windows, Linux ve Mac platformları için mevcuttur.
Aşağıda, yukarıda belirtilen platformlara Python kurulumuna hızlı bir genel bakış sunulmaktadır -
On Unix and Linux platform
Aşağıdaki adımların yardımıyla Python'u Unix ve Linux platformuna kurabiliriz -
Öncelikle www.python.org/downloads/ adresine gidin .
Ardından, Unix / Linux için mevcut olan sıkıştırılmış kaynak kodunu indirmek için bağlantıya tıklayın.
Şimdi, dosyaları indirin ve çıkarın.
Ardından, bazı seçenekleri özelleştirmek istiyorsak Modules / Setup dosyasını düzenleyebiliriz.
Ardından komutu yazın run ./configure script
make
kurmak yap
On Windows platform
Aşağıdaki adımların yardımıyla Python'u Windows platformuna kurabiliriz -
Öncelikle www.python.org/downloads/ adresine gidin .
Ardından, Windows yükleyici python-XYZ.msi dosyası için bağlantıya tıklayın. Burada XYZ, kurmak istediğimiz versiyondur.
Şimdi indirilen dosyayı çalıştırmalıyız. Bizi kullanımı kolay Python kurulum sihirbazına götürecektir. Şimdi varsayılan ayarları kabul edin ve kurulum bitene kadar bekleyin.
On Macintosh platform
Mac OS X, Homebrew için, Python 3'ü yüklemek için harika ve kullanımı kolay bir paket yükleyici önerilir. Homebrew'iniz yoksa, aşağıdaki komutun yardımıyla kurabilirsiniz -
$ ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
Aşağıdaki komutla güncellenebilir -
$ brew update
Şimdi, Python3'ü sisteminize kurmak için aşağıdaki komutu çalıştırmamız gerekiyor -
$ brew install python3
Önceden Paketlenmiş Python Dağıtımını Kullanma: Anaconda
Anaconda, Veri biliminde yaygın olarak kullanılan tüm kitaplıklara sahip Python'un paketlenmiş bir derlemesidir. Anaconda kullanarak Python ortamını kurmak için aşağıdaki adımları takip edebiliriz -
Step 1- Öncelikle gerekli kurulum paketini Anaconda dağıtımından indirmemiz gerekiyor. Aynısı için bağlantı www.anaconda.com/distribution/ . Gereksiniminize göre Windows, Mac ve Linux işletim sistemi arasından seçim yapabilirsiniz.
Step 2- Ardından, makinenize kurmak istediğiniz Python sürümünü seçin. En son Python sürümü 3.7'dir. Orada hem 64-bit hem de 32-bit Grafik yükleyici seçeneklerine sahip olacaksınız.
Step 3- İşletim sistemi ve Python sürümünü seçtikten sonra, Anaconda yükleyicisini bilgisayarınıza indirecektir. Şimdi, dosyaya çift tıklayın ve yükleyici Anaconda paketini kuracaktır.
Step 4 - Yüklü olup olmadığını kontrol etmek için bir komut istemi açın ve aşağıdaki gibi Python yazın -
Bunu ayrıca www.tutorialspoint.com/python_essentials_online_training/getting_started_with_anaconda.asp adresindeki ayrıntılı video dersinde de kontrol edebilirsiniz .
Neden Veri Bilimi için Python?
Python, Makine öğrenimi ve veri bilimi için en önemli beşinci dilin yanı sıra en popüler dildir. Aşağıdakiler, Python'u veri bilimi için tercih edilen dil seçimi yapan özelliklerdir -
Kapsamlı paket seti
Python, çeşitli etki alanlarında kullanılmaya hazır, kapsamlı ve güçlü bir paket setine sahiptir. Ayrıca aşağıdaki gibi paketler varnumpy, scipy, pandas, scikit-learn makine öğrenimi ve veri bilimi için gerekli olan vb.
Kolay prototipleme
Python'un onu veri bilimi için dil seçimi yapan bir diğer önemli özelliği, kolay ve hızlı prototiplemedir. Bu özellik, yeni algoritma geliştirmek için kullanışlıdır.
İşbirliği özelliği
Veri bilimi alanı temelde iyi bir işbirliğine ihtiyaç duyar ve Python, bunu olağanüstü hale getiren birçok yararlı araç sağlar.
Birçok alan için tek dil
Tipik bir veri bilimi projesi, veri çıkarma, veri işleme, veri analizi, özellik çıkarma, modelleme, değerlendirme, dağıtım ve çözümü güncelleme gibi çeşitli alanları içerir. Python çok amaçlı bir dil olduğundan, veri bilimcinin tüm bu alanları ortak bir platformdan ele almasını sağlar.
Python ML Ekosisteminin Bileşenleri
Bu bölümde, Python Makine öğrenimi ekosisteminin bileşenlerini oluşturan bazı temel Veri Bilimi kitaplıklarını tartışalım. Bu kullanışlı bileşenler Python'u Veri Bilimi için önemli bir dil yapar. Bu tür birçok bileşen olmasına rağmen, burada Python ekosisteminin bazı önemli bileşenlerini tartışalım -
Jupyter Defter
Jupyter dizüstü bilgisayarlar, temel olarak Python tabanlı Veri Bilimi uygulamaları geliştirmek için etkileşimli bir hesaplama ortamı sağlar. Eskiden ipython not defterleri olarak biliniyorlardı. Aşağıdakiler, Jupyter dizüstü bilgisayarların Python ML ekosisteminin en iyi bileşenlerinden biri olmasını sağlayan özelliklerinden bazılarıdır -
Jupyter not defterleri, kod, resim, metin, çıktı vb. Öğeleri adım adım düzenleyerek analiz sürecini adım adım gösterebilir.
Bir veri bilimcinin analiz sürecini geliştirirken düşünce sürecini belgelemesine yardımcı olur.
Sonuç not defterinin bir parçası olarak da yakalanabilir.
Jupyter defterlerin yardımıyla çalışmalarımızı bir arkadaşımızla da paylaşabiliyoruz.
Kurulum ve Yürütme
Anaconda dağıtımını kullanıyorsanız, jupyter dizüstü bilgisayarı zaten yüklü olduğu için ayrı olarak kurmanıza gerek yoktur. Sadece Anaconda İstemine gitmeniz ve aşağıdaki komutu yazmanız yeterlidir -
C:\>jupyter notebook
Enter tuşuna bastıktan sonra, bilgisayarınızın localhost: 8888 adresinde bir dizüstü bilgisayar sunucusu başlatacaktır. Aşağıdaki ekran görüntüsünde gösterilmektedir -
Şimdi, Yeni sekmesine tıkladıktan sonra, bir seçenek listesi alacaksınız. Python 3'ü seçin ve üzerinde çalışmaya başlamak için sizi yeni not defterine götürecektir. Aşağıdaki ekran görüntülerinde buna bir göz atacaksınız -
Öte yandan, standart Python dağıtımını kullanıyorsanız, jupyter dizüstü bilgisayarı popüler python paketi yükleyicisi pip kullanılarak yüklenebilir.
pip install jupyter
Jupyter Defterindeki Hücre Türleri
Aşağıdakiler, bir jupyter not defterindeki üç hücre tipidir -
Code cells- Adından da anlaşılacağı gibi bu hücreleri kod yazmak için kullanabiliriz. Kodu / içeriği yazdıktan sonra, onu not defteriyle ilişkilendirilmiş çekirdeğe gönderecektir.
Markdown cells- Bu hücreleri hesaplama sürecini not etmek için kullanabiliriz. Metin, resimler, Lateks denklemleri, HTML etiketleri vb. Gibi şeyleri içerebilirler.
Raw cells- İçlerine yazılan metin olduğu gibi görüntülenir. Bu hücreler temelde jupyter not defterinin otomatik dönüştürme mekanizması ile dönüştürülmesini istemediğimiz metni eklemek için kullanılır.
Jupyter not defteri hakkında daha ayrıntılı çalışma için www.tutorialspoint.com/jupyter/index.htm bağlantısına gidebilirsiniz .
Dizi
Python'u Veri Bilimi için favori dillerden biri yapan başka bir kullanışlı bileşendir. Temelde Sayısal Python anlamına gelir ve çok boyutlu dizi nesnelerinden oluşur. NumPy kullanarak aşağıdaki önemli işlemleri gerçekleştirebiliriz -
Diziler üzerinde matematiksel ve mantıksal işlemler.
Fourier dönüşümü
Doğrusal cebir ile ilgili işlemler.
NumPy'yi MatLab'ın yerini alan olarak da görebiliriz çünkü NumPy çoğunlukla Scipy (Scientific Python) ve Mat-plotlib (çizim kitaplığı) ile birlikte kullanılır.
Installation and Execution
Anaconda dağıtımını kullanıyorsanız, NumPy zaten yüklü olduğu için ayrı olarak kurmanıza gerek yoktur. Sadece aşağıdakilerin yardımıyla paketi Python betiğinize aktarmanız gerekir -
import numpy as np
Öte yandan, standart Python dağıtımını kullanıyorsanız NumPy, popüler python paket yükleyicisi pip kullanılarak yüklenebilir.
pip install NumPy
NumPy hakkında daha ayrıntılı çalışma için www.tutorialspoint.com/numpy/index.htm bağlantısına gidebilirsiniz .
Pandalar
Python'u Veri Bilimi için en sevilen dillerden biri yapan başka bir kullanışlı Python kitaplığıdır. Pandalar, temelde veri işleme, tartışma ve analiz için kullanılır. Wes McKinney tarafından 2008'de geliştirildi. Pandaların yardımıyla veri işlemede aşağıdaki beş adımı gerçekleştirebiliriz -
- Load
- Prepare
- Manipulate
- Model
- Analyze
Pandalarda veri gösterimi
Pandalar'daki verilerin tüm temsili, aşağıdaki üç veri yapısının yardımıyla yapılır -
Series- Temelde eksen etiketli tek boyutlu bir ndarray, yani homojen verilere sahip basit bir dizi gibi. Örneğin, aşağıdaki seri 1,5,10,15,24,25 ... tam sayılarından oluşan bir koleksiyondur.
1 | 5 | 10 | 15 | 24 | 25 | 28 | 36 | 40 | 89 |
Data frame- En kullanışlı veri yapısıdır ve pandalarda hemen hemen her türlü veri gösterimi ve manipülasyonu için kullanılır. Temelde heterojen verileri içerebilen iki boyutlu bir veri yapısıdır. Genel olarak, tablo verileri, veri çerçeveleri kullanılarak temsil edilir. Örneğin, aşağıdaki tablo, adlarını ve rulo numaralarını, yaşlarını ve cinsiyetlerini belirten öğrencilerin verilerini göstermektedir -
İsim | Rulo numarası | Yaş | Cinsiyet |
---|---|---|---|
Aarav | 1 | 15 | Erkek |
Harshit | 2 | 14 | Erkek |
Kanika | 3 | 16 | Kadın |
Mayank | 4 | 15 | Erkek |
Panel- Heterojen verileri içeren 3 boyutlu bir veri yapısıdır. Paneli grafik olarak göstermek çok zordur, ancak bir DataFrame kabı olarak gösterilebilir.
Aşağıdaki tablo, Pandalarda kullanılan yukarıda belirtilen veri yapıları hakkında bize boyut ve açıklama verir -
Veri yapısı | Boyut | Açıklama |
---|---|---|
Dizi | 1-D | Değişmez boyut, 1-D homojen veriler |
Veri Çerçeveleri | 2 boyutlu | Boyut Değişken, Heterojen veriler tablo biçiminde |
Panel | 3 BOYUTLU | Boyut değiştirilebilir dizi, DataFrame kapsayıcısı. |
Bu veri yapılarını, daha yüksek boyutlu veri yapısı, daha düşük boyutlu veri yapısının konteyneri olduğu için anlayabiliriz.
Kurulum ve Yürütme
Anaconda dağıtımını kullanıyorsanız, zaten yüklü olduğu için Pandas'ı ayrı olarak kurmanıza gerek yoktur. Sadece aşağıdakilerin yardımıyla paketi Python betiğinize aktarmanız gerekir -
import pandas as pd
Öte yandan, standart Python dağıtımını kullanıyorsanız Pandalar, popüler python paketi yükleyicisi pip kullanılarak yüklenebilir.
pip install Pandas
Pandaları kurduktan sonra, yukarıda yaptığınız gibi Python betiğinize aktarabilirsiniz.
Misal
Aşağıda Pandas kullanarak ndarray'den bir dizi oluşturmanın bir örneği verilmiştir -
In [1]: import pandas as pd
In [2]: import numpy as np
In [3]: data = np.array(['g','a','u','r','a','v'])
In [4]: s = pd.Series(data)
In [5]: print (s)
0 g
1 a
2 u
3 r
4 a
5 v
dtype: object
Pandalar hakkında daha ayrıntılı çalışma için www.tutorialspoint.com/python_pandas/index.htm bağlantısına gidebilirsiniz .
Scikit-öğrenme
Python'da Veri Bilimi ve makine öğrenimi için bir başka kullanışlı ve en önemli python kitaplığı Scikit-learn'dur. Aşağıdakiler, Scikit-learn'ün onu bu kadar kullanışlı kılan bazı özellikleridir -
NumPy, SciPy ve Matplotlib üzerine inşa edilmiştir.
Açık kaynaktır ve BSD lisansı altında yeniden kullanılabilir.
Herkes tarafından erişilebilir ve çeşitli bağlamlarda yeniden kullanılabilir.
ML'nin sınıflandırma, kümeleme, regresyon, boyut azaltma, model seçimi gibi ana alanlarını kapsayan çok çeşitli makine öğrenimi algoritmaları bunun yardımıyla uygulanabilir.
Kurulum ve Yürütme
Anaconda dağıtımını kullanıyorsanız, zaten yüklü olduğu için Scikit-learn'ü ayrıca kurmanıza gerek yoktur. Paketi Python betiğinizde kullanmanız yeterlidir. Örneğin, aşağıdaki komut dosyası satırıyla meme kanseri hastalarının veri setiniScikit-learn -
from sklearn.datasets import load_breast_cancer
Öte yandan, standart Python dağıtımını kullanıyorsanız ve NumPy ve SciPy'ye sahipseniz, Scikit-learn popüler python paket yükleyicisi pip kullanılarak yüklenebilir.
pip install -U scikit-learn
Scikit-learn'ü kurduktan sonra, yukarıda yaptığınız gibi Python betiğinizde kullanabilirsiniz.