İçindekiler[Saklamak][Göstermek]
Bir Python programcısıysanız veya makine öğrenimini bir üretim sistemine dahil etmek için kullanmak üzere güçlü bir araç seti arıyorsanız, Scikit-learn, kontrol etmeniz gereken bir kitaplıktır.
Scikit-learn, makine öğreniminde yeniyseniz, hızlı bir şekilde çalışmaya başlamak veya en güncel ML araştırma aracını kullanmak istiyorsanız, iyi belgelenmiştir ve kullanımı kolaydır.
Yalnızca birkaç kod satırında tahmine dayalı bir veri modeli oluşturmanıza olanak tanır ve ardından bu modeli yüksek düzeyli bir kitaplık olarak verilerinize uyacak şekilde kullanır. Esnektir ve diğerleriyle iyi çalışır Python kitaplıkları grafik için Matplotlib, dizi vektörleştirme için NumPy ve veri görselleştirme için pandalar gibi.
Bu kılavuzda, artıları ve eksileri ile birlikte ne olduğu, nasıl kullanabileceği hakkında her şeyi öğreneceksiniz.
Nedir Scikit-öğrenme?
Scikit-learn (sklearn olarak da bilinir), çeşitli istatistiksel modeller ve makine öğrenimi sunar. Çoğu modülün aksine, sklearn C yerine Python'da geliştirilmiştir. Python'da geliştirilmiş olmasına rağmen, sklearn'in verimliliği, yüksek performanslı lineer cebir ve dizi işlemleri için NumPy kullanımına atfedilir.
Scikit-Learn, Google'ın Summer of Code projesinin bir parçası olarak oluşturuldu ve o zamandan beri dünya çapında milyonlarca Python merkezli veri bilimcisinin hayatını kolaylaştırdı. Serinin bu bölümü, kütüphaneyi sunmaya ve bir öğeye odaklanmaya odaklanır - bir tahmin modeli geliştirmeden önce atılması gereken önemli ve hayati bir adım olan veri kümesi dönüşümleri.
Kitaplık, scikit-learn'i kullanmadan önce kurulması gereken SciPy'ye (Scientific Python) dayanmaktadır. Bu yığın aşağıdaki öğeleri içerir:
- NumPy: Python'un standart n-boyutlu dizi paketi
- SciPy: Bilimsel hesaplama için temel bir pakettir
- Pandalar: Veri yapıları ve analizi
- Matplotlib: Güçlü bir 2D/3D çizim kitaplığıdır
- Sympy: Sembolik matematik
- IPython: Geliştirilmiş etkileşimli konsol
Scikit-learn kitaplığının uygulamaları
Scikit-learn, gelişmiş veri analizi ve madencilik özelliklerine sahip açık kaynaklı bir Python paketidir. Veri bilimi projelerinizden en iyi şekilde yararlanmanıza yardımcı olacak çok sayıda yerleşik algoritma ile birlikte gelir. Scikit-learn kitaplığı aşağıdaki şekillerde kullanılır.
1. Regresyon
Regresyon analizi, iki veya daha fazla değişken arasındaki bağlantıyı analiz etmek ve anlamak için istatistiksel bir tekniktir. Regresyon analizi yapmak için kullanılan yöntem, hangi öğelerin ilgili olduğunu, hangilerinin göz ardı edilebileceğini ve nasıl etkileşime girdiklerini belirlemeye yardımcı olur. Örneğin regresyon teknikleri, hisse senedi fiyatlarının davranışını daha iyi anlamak için kullanılabilir.
Regresyon algoritmaları şunları içerir:
- Doğrusal regresyon
- Ridge Regresyon
- Kement Regresyonu
- Karar Ağacı Regresyonu
- Rastgele Orman
- Destek Vektör Makineleri (SVM)
2. Sınıflandırma
Sınıflandırma yöntemi, yeni gözlemlerin kategorisini belirlemek için eğitim verilerini kullanan bir Denetimli Öğrenme yaklaşımıdır. Sınıflandırmadaki bir algoritma, verilen bir veri kümesi veya gözlemler ve daha sonra ek gözlemleri birçok sınıf veya gruplandırmadan birine sınıflandırır. Örneğin, e-posta iletişimlerini spam olarak sınıflandırmak için kullanılabilirler.
Sınıflandırma algoritmaları şunları içerir:
- Lojistik regresyon
- K-En Yakın Komşular
- Destek Vektör Makinesi
- Karar ağacı
- Rastgele Orman
3. Kümeleme
Scikit-learn'deki kümeleme algoritmaları, benzer özelliklere sahip verileri otomatik olarak kümeler halinde düzenlemek için kullanılır. Kümeleme, aynı gruptakilerin diğer gruplardakilere daha çok benzemesi için bir dizi öğeyi gruplandırma sürecidir. Örneğin müşteri verileri, konumlarına göre ayrılabilir.
Kümeleme algoritmaları şunları içerir:
- DB-TARAMA
- K-anlamına gelir
- Mini Toplu K-Means
- Spektral Kümeleme
4. Model Seçimi
Model seçim algoritmaları, veri bilimi girişimlerinde kullanılmak üzere en uygun parametreleri ve modelleri karşılaştırmak, doğrulamak ve seçmek için yöntemler sağlar. Verilen veriler, model seçimi, bir grup aday modelden istatistiksel bir model seçme problemidir. En temel koşullarda, önceden var olan bir veri koleksiyonu dikkate alınır. Ancak görev, elde edilen verilerin model seçim problemine çok uygun olması için deneylerin tasarımını da içerebilir.
Parametreleri ayarlayarak doğruluğu artırabilen model seçim modülleri şunları içerir:
- Çapraz doğrulama
- Izgara Arama
- Metrikleri
5. Boyut Azaltma
Düşük boyutlu gösterimin orijinal verinin bazı önemli yönlerini, ideal olarak kendi içsel boyutuna yakın olarak muhafaza etmesi için yüksek boyutlu bir uzaydan düşük boyutlu bir alana veri aktarımı, boyutsallık indirgemesi olarak bilinir. Boyut azaltıldığında analiz için rastgele değişkenlerin sayısı azalır. Örneğin, dışarıdaki veriler, görselleştirmelerin verimliliğini artırmak için düşünülmeyebilir.
Boyutsallık Azaltma algoritması şunları içerir:
- Özellik seçimi
- Temel Bileşen Analizi (PCA)
Scikit-learn'i yükleme
Scikit-learn'i kullanmadan önce NumPy, SciPy, Matplotlib, IPython, Sympy ve Panda'ların yüklenmesi gerekir. Konsoldan pip kullanarak bunları yükleyelim (yalnızca Windows için çalışır).
Gerekli kitaplıkları yüklediğimize göre şimdi Scikit-learn'i yükleyelim.
Özellikler
Bazen sklearn olarak da bilinen Scikit-learn, makine öğrenimi modellerini ve istatistiksel modellemeyi uygulamak için bir Python araç takımıdır. Regresyon, sınıflandırma ve kümeleme için çoklu makine öğrenimi modelleri ve bu modelleri değerlendirmek için istatistiksel araçlar oluşturmak için kullanabiliriz. Ayrıca boyut azaltma, özellik seçimi, özellik çıkarma, topluluk yaklaşımları ve yerleşik veri kümelerini içerir. Bu niteliklerin her birini teker teker inceleyeceğiz.
1. Veri Kümelerini İçe Aktarma
Scikit-learn, iris veri kümesi, ev fiyatı veri kümesi, titanik veri kümesi vb. gibi önceden oluşturulmuş bir dizi veri kümesi içerir. Bu veri kümelerinin temel avantajları, kavranmasının kolay olması ve hemen makine öğrenimi modellerini geliştirmek için kullanılabilmeleridir. Bu veri kümeleri acemiler için uygundur. Benzer şekilde, ek veri kümelerini içe aktarmak için sklearn'ü kullanabilirsiniz. Benzer şekilde, ek veri kümelerini içe aktarmak için kullanabilirsiniz.
2. Eğitim ve Test için Veri Kümesini Bölme
Sklearn, veri kümesini eğitim ve test bölümlerine ayırma yeteneğini içeriyordu. Tahmin performansının tarafsız bir değerlendirmesi için veri kümesini bölmek gerekir. Verilerimizin ne kadarının tren ve test veri setlerine dahil edilmesi gerektiğini belirtebiliriz. Veri kümesini, tren kümesi verilerin %80'ini ve test kümesinin %20'sini oluşturacak şekilde tren test bölmesini kullanarak böldük. Veri kümesi aşağıdaki gibi bölünebilir:
3. Doğrusal Regresyon
Doğrusal Regresyon, denetimli öğrenme tabanlı bir makine öğrenimi tekniğidir. Bir regresyon işi gerçekleştirir. Bağımsız değişkenlere dayalı olarak, regresyon bir hedef tahmin değeri modellemektedir. Çoğunlukla değişkenler ve tahmin arasındaki bağlantıyı belirlemek için kullanılır. Farklı regresyon modelleri, bağımlı ve bağımsız değişkenler arasında değerlendirdikleri bağlantı türü ve kullanılan bağımsız değişken sayısı açısından farklılık gösterir. Aşağıdaki gibi sklearn kullanarak Lineer Regresyon modelini basitçe oluşturabiliriz:
4. Lojistik Regresyon
Yaygın bir kategorizasyon yaklaşımı lojistik regresyondur. Polinom ve lineer regresyon ile aynı ailedendir ve lineer sınıflandırıcı ailesine aittir. Lojistik regresyon bulgularının anlaşılması kolaydır ve hesaplanması hızlıdır. Doğrusal regresyonla aynı şekilde, lojistik regresyon da denetimli bir regresyon tekniğidir. Çıktı değişkeni kategoriktir, yani tek fark budur. Bir hastanın kalp hastalığı olup olmadığını belirleyebilir.
İstenmeyen posta algılama gibi çeşitli sınıflandırma sorunları, lojistik regresyon kullanılarak çözülebilir. Diyabet tahmini, bir tüketicinin belirli bir ürünü satın alıp almayacağını veya bir rakibe geçip geçmeyeceğini belirleme, bir kullanıcının belirli bir pazarlama bağlantısına tıklayıp tıklamayacağını belirleme ve daha birçok senaryo sadece birkaç örnektir.
5. Karar Ağacı
En güçlü ve yaygın olarak kullanılan sınıflandırma ve tahmin tekniği karar ağacıdır. Karar ağacı, her bir dahili düğümün bir öznitelik üzerindeki bir testi temsil ettiği, her bir dalın testin sonucunu temsil ettiği ve her bir yaprak düğümün (terminal düğüm) bir sınıf etiketi taşıdığı bir akış şemasına benzeyen bir ağaç yapısıdır.
Bağımlı değişkenlerin bağımsız değişkenlerle doğrusal bir ilişkisi olmadığında, yani doğrusal regresyon doğru bulgular üretmediğinde, karar ağaçları faydalıdır. DecisionTreeRegression() nesnesi, regresyon için bir karar ağacını kullanmak için benzer şekilde kullanılabilir.
6. Rastgele Orman
Rastgele bir orman bir makine öğrenme regresyon ve sınıflandırma sorunlarını çözmek için yaklaşım. Karmaşık problemleri çözmek için birden fazla sınıflandırıcıyı birleştiren bir teknik olan topluluk öğrenmeyi kullanır. Rastgele bir orman yöntemi, çok sayıda karar ağacından oluşur. Kredi başvurularını sınıflandırmak, hileli davranışları tespit etmek ve hastalık salgınlarını tahmin etmek için kullanılabilir.
7. Karışıklık Matrisi
Karışıklık matrisi, sınıflandırma modeli performansını tanımlamak için kullanılan bir tablodur. Karışıklık matrisini incelemek için aşağıdaki dört kelime kullanılır:
- Gerçek Olumlu: Modelin olumlu bir sonuç yansıttığını ve doğru olduğunu gösterir.
- Gerçek Negatif: Modelin kötü bir sonuç yansıttığını ve doğru olduğunu gösterir.
- Yanlış Olumlu: Modelin olumlu bir sonuç beklediğini ancak bunun gerçekten olumsuz olduğunu belirtir.
- Yanlış Negatif: Sonuç gerçekten olumluyken modelin olumsuz bir sonuç beklediğini gösterir.
Karışıklık matrisi uygulaması:
Artılar
- Kullanımı basit.
- Scikit-learn paketi son derece uyarlanabilir ve kullanışlıdır, tüketici davranışı tahmini, nörogörüntü geliştirme ve benzeri gibi gerçek dünya hedeflerine hizmet eder.
- Algoritmaları platformlarına bağlamak isteyen kullanıcılar, Scikit-learn web sitesinde ayrıntılı API belgelerini bulabilirler.
- Çok sayıda yazar, ortak çalışan ve dünya çapında büyük bir çevrimiçi topluluk, Scikit-learn'i destekler ve güncel tutar.
Eksiler
- Derinlemesine çalışma için ideal bir seçenek değildir.
Sonuç
Scikit-learn, her veri bilimcisinin güçlü bir kavrayışa ve biraz deneyime sahip olması için kritik bir pakettir. Bu kılavuz, sklearn kullanarak veri işleme konusunda size yardımcı olacaktır. Scikit-learn'in veri bilimi maceranızda ilerlerken keşfedeceğiniz daha birçok özelliği var. Düşüncelerinizi yorumlarda paylaşın.
Yorum bırak