Scikit Learn - Giriş

Bu bölümde, Scikit-Learn veya Sklearn'ın ne olduğunu, Scikit-Learn'ün kökenini ve Scikit-Learn'ün geliştirilmesi ve bakımından sorumlu topluluklar ve katkıda bulunanlar, ön koşulları, kurulumu ve özellikleri gibi diğer ilgili konuları anlayacağız.

Scikit-Learn (Sklearn) Nedir

Scikit-learn (Sklearn), Python'da makine öğrenimi için en kullanışlı ve sağlam kitaplıktır. Python'daki bir tutarlılık arabirimi aracılığıyla sınıflandırma, regresyon, kümeleme ve boyutsallık azaltma dahil olmak üzere makine öğrenimi ve istatistiksel modelleme için verimli araçlar sunar. Büyük ölçüde Python ile yazılmış olan bu kütüphane,NumPy, SciPy ve Matplotlib.

Scikit-Learn'ün Kökeni

Başlangıçta çağrıldı scikits.learn ve ilk olarak David Cournapeau tarafından 2007'de bir Google yaz kod projesi olarak geliştirildi. Daha sonra, 2010'da FIRCA'dan (Fransız Bilgisayar Bilimi ve Otomasyon Araştırma Enstitüsü) Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort ve Vincent Michel aldı bu proje başka bir seviyede ve ilk genel yayınını (v0.1 beta) 1 Şubat 2010'da yaptı.

Sürüm geçmişine bir göz atalım -

  • Mayıs 2019: scikit-learn 0.21.0

  • Mart 2019: scikit-learn 0.20.3

  • Aralık 2018: scikit-learn 0.20.2

  • Kasım 2018: scikit-learn 0.20.1

  • Eylül 2018: scikit-learn 0.20.0

  • Temmuz 2018: scikit-learn 0.19.2

  • Temmuz 2017: scikit-learn 0.19.0

  • Eylül 2016. scikit-learn 0.18.0

  • Kasım 2015. scikit-learn 0.17.0

  • Mart 2015. scikit-learn 0.16.0

  • Temmuz 2014. scikit-learn 0.15.0

  • Ağustos 2013. scikit-learn 0.14

Topluluk ve katkıda bulunanlar

Scikit-learn bir topluluk çabasıdır ve herkes katkıda bulunabilir. Bu proje şu tarihte barındırılıyor:https://github.com/scikit-learn/scikit-learn. Aşağıdaki kişiler şu anda Sklearn'ın geliştirilmesine ve bakımına temel katkıda bulunanlardır -

  • Joris Van den Bossche (Veri Bilimcisi)

  • Thomas J Fan (Yazılım Geliştirici)

  • Alexandre Gramfort (Makine Öğrenimi Araştırmacısı)

  • Olivier Grisel (Makine Öğrenimi Uzmanı)

  • Nicolas Hug (Yardımcı Araştırma Bilimcisi)

  • Andreas Mueller (Makine Öğrenimi Bilimcisi)

  • Hanmin Qin (Yazılım Mühendisi)

  • Adrin Jalali (Açık Kaynak Geliştirici)

  • Nelle Varoquaux (Veri Bilimi Araştırmacısı)

  • Roman Yurchak (Veri Bilimcisi)

Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify ve çok daha fazlası gibi çeşitli kuruluşlar Sklearn kullanıyor.

Önkoşullar

Scikit-learn en son sürümünü kullanmaya başlamadan önce aşağıdakilere ihtiyacımız var -

  • Python (> = 3.5)

  • NumPy (> = 1.11.0)

  • Scipy (> = 0.17.0) li

  • Joblib (> = 0.11)

  • Sklearn çizim yetenekleri için Matplotlib (> = 1.5.1) gereklidir.

  • Veri yapısı ve analizi kullanan scikit-learn örneklerinden bazıları için pandalar (> = 0.18.0) gereklidir.

Kurulum

Zaten NumPy ve Scipy'yi kurduysanız, scikit-learn'ü kurmanın en kolay iki yolu aşağıdadır:

Pip kullanma

Scikit-learn'ü pip aracılığıyla yüklemek için aşağıdaki komut kullanılabilir -

pip install -U scikit-learn

Conda kullanma

Scikit-learn'ü conda aracılığıyla yüklemek için aşağıdaki komut kullanılabilir -

conda install scikit-learn

Öte yandan, NumPy ve Scipy Python iş istasyonunuza henüz kurulmadıysa, bunları kullanarak da kurabilirsiniz. pip veya conda.

Scikit-learn'ü kullanmanın bir başka seçeneği de Python dağıtımlarını kullanmaktır. Canopy ve Anaconda çünkü ikisi de scikit-learn'ün en son sürümünü gönderiyor.

Özellikleri

Scikit-learn kütüphanesi, verileri yüklemeye, işlemeye ve özetlemeye odaklanmak yerine verileri modellemeye odaklanmıştır. Sklearn tarafından sağlanan en popüler model gruplarından bazıları aşağıdaki gibidir -

Supervised Learning algorithms - Doğrusal Regresyon, Destek Vektör Makinesi (SVM), Karar Ağacı vb. Gibi hemen hemen tüm popüler denetimli öğrenme algoritmaları scikit-learn'ün bir parçasıdır.

Unsupervised Learning algorithms - Öte yandan, kümeleme, faktör analizi, PCA'dan (Ana Bileşen Analizi) denetimsiz sinir ağlarına kadar tüm popüler denetimsiz öğrenme algoritmalarına da sahiptir.

Clustering - Bu model, etiketlenmemiş verileri gruplamak için kullanılır.

Cross Validation - Denetlenen modellerin görünmeyen veriler üzerindeki doğruluğunu kontrol etmek için kullanılır.

Dimensionality Reduction - Daha sonra özetleme, görselleştirme ve özellik seçimi için kullanılabilecek verilerdeki özniteliklerin sayısını azaltmak için kullanılır.

Ensemble methods - Adından da anlaşılacağı gibi, birden fazla denetlenen modelin tahminlerini birleştirmek için kullanılır.

Feature extraction - Görüntü ve metin verilerindeki öznitelikleri tanımlamak için verilerden öznitelikleri çıkarmak için kullanılır.

Feature selection - Denetimli modeller oluşturmak için yararlı öznitelikleri belirlemek için kullanılır.

Open Source - Açık kaynak kitaplığıdır ve ayrıca BSD lisansı altında ticari olarak kullanılabilir.