Ana içeriğe atla

Kayıtlar

Mayıs, 2020 tarihine ait yayınlar gösteriliyor

See You Soon

Bir süreliğine dükkanı kapatıyorum. See you soon..

Python - Temel Bileşen Analizi (PCA)

Temel bileşen analizi (PCA), yüz tanıma ve görüntü sıkıştırma gibi alanlarda uygulama alanı bulmuş, yüksek boyuttaki verilerde örüntü bulmak için yaygın olarak kullanılan bir istatistiksel tekniktir. Temel Bileşenler Analizi; -Boyut indirgeme -Verileri korelasyondan arındırma -Yüksek boyutlu verilerin görselleştirilmesi -Gürültü filtreleme gibi çalışmalar için oldukça yararlıdır. Değişken seçiminde veri setindeki değişken korunur ya da tamamen kaldırılır. Boyut indirgemede ise mevcut değişkenlerin kombinasyonundan oluşan yeni değişkenler yaratılarak değişken sayısı azaltılır. Böylece veri setindeki tüm özellikler bir şekilde hala mevcut ancak değişken sayısı azaltılmış olur. Temel Bileşenler Analizi uygulamadan önce mutlaka standardizasyon yapılmalıdır. Farklı ölçeklerdeki veriler yanıltıcı bileşenlere sebep olacaktır. Ayrıca analiz aykırı gözlemlerden(outlier) fazlaca etkilenir. USArrest veri seti üzerinden devam ediyorum. Analize başlamadan önce değişkenler için standartlaştır

Python - Hiyerarşik Kümeleme

Hiyerarşik kümeleme adındanda anlaşılacağı üzere bir kümeleme algoritmasıdır. Agglomerative ( Parçadan bütüne ) ve Divisive ( Bütünden parçaya ) olarak iki farklı varyasyonu vardır. Agglomerative varyasyonunu anlatmaya çalışırsak ilk önce tüm veriler bir küme haline getirilir yani N tane eleman varsa N tane küme oluşur. Daha sonra birbirine mesafe olarak yakın olan kümeler birleşerek yeni bir küme oluşturur. Bu durum sistem kararlı oluncaya kadar devam eder. Divisive ise Agglomerative’ in tam tersidir. İlk başta tüm veriler tek bir küme oluşturulur. Daha sonra bu küme parçalanarak kümeleme işlemi yapılır. Aşağıdaki grafikte eyaletlerin 4 ana kümeye ayrıldığını ve bunların da kendi içinde ayrıldığını görüyoruz.  Birleştirici kümeleme yönetiminin adımları aşağıdaki gibidir. Bölümleyici kümeleme yönetiminin adımları aşağıdaki gibidir. Hiyerarşik yöntemlerle diğer yöntemlerin karşılaştırması aşağıdaki gibidir. Hiyerarşik kümeleme analizinde en önemli husus küme say

Python - K-Means Kümeleme

K-Means’in amacı, farklı kümelerdeki noktalar benzer olmamakla birlikte bir küme içindeki noktalar benzer olacak şekilde veri noktaları grupları oluşturmaktır. K-means kümelemesine ilişkin adımlar şunlardır:  1. K centroid’leri tanımlanır. Bunları rastgele olarak başlar(daha etkili bir şekilde yakınsaklaşan merkezlerin başlatılması için meraklı algoritmalar da vardır).  2. En yakın centroid ve güncelleme kümesi atamalarını bulunur. Her veri noktasını k kümelerinden birine atanır. Her veri noktası en yakın centroid kümesine atanır. Burada, “yakınlık” ölçütü bir hiperparametre, genellikle Öklid mesafesidir.  3. Merkezleri kümelerin ortasına getirilir. Her bir merkezin yeni konumu, kümesindeki tüm noktaların ortalama konumu olarak hesaplanır. Her bir yinelemede(iterasyonda) ağırlık merkezi durana kadar (yani, algoritma yakınsamış oluncaya kadar) 2. ve 3. adımları tekrarlanır. Gözetimsiz öğrenme metodlarında USArrest verisini kullanacağım. Veride Amerika’daki eyaletler bazında

Python - Sınıflandırma Modellerinin Karşılaştırılması

Sınıflandırma problemleri için kullandığım tüm modelleri başarı oranına göre karşılaştırmasını yapacağım. Her bir model test setini tahmin edecek ve accuracy score parametresi yani valide edilmiş doğruluk oranı karşılaştırılacak. Tüm modellerin doğruluk oranını getirdikten sonra çıkan veriyi görselleştiriyorum. En başarılı modelin %75,32 ile Lojistik Regresyon olduğunu teyit etmiş oluyorum.

Python - CatBoost (Sınıflandırma)

CatBoost teori kısmını CatBoost regresyon analizinde ele aldığım için bu kısmı geçip analize başlıyorum. Analizimde yine diabets verisini kullanacağım. Bunun için veri setimi çağırdıktan sonra modelimi kuruyorum ve model parametrelerimi inceliyorum. Tahmin aşamasına geçince test setimi tahmin et dedikten sonra ilkel test doğruluk oranını hesaplıyorum. Şimdi model tuning aşamasına geçebilirim. Model için önemli olan parametre değerlerini girdikten sonra 10 katlı cross validation yaptırıyorum. En optimum değerleri bul dedikten sonra bu değerlere göre modeli tune ediyorum ve doğrulanmış accuracy oranını hesapladıktan sonra analizi bitiriyorum.  

Python - Light GBM (Sınıflandırma)

Light GBM teori kısmını Light GBM regresyon analizinde ele aldığım için bu kısmı geçip analize başlıyorum. Analizimde yine diabets verisini kullanacağım. Bunun için veri setimi çağırdıktan sonra modelimi kuruyorum ve model parametrelerimi inceliyorum. Tahmin aşamasına geçince test setimi tahmin et dedikten sonra ilkel test doğruluk oranını hesaplıyorum. Şimdi model tuning aşamasına geçebilirim. Model için önemli olan parametre değerlerini girdikten sonra 10 katlı cross validation yaptırıyorum. En optimum değerleri bul dedikten sonra bu değerlere göre modeli tune ediyorum ve doğrulanmış accuracy oranını hesapladıktan sonra analizi bitiriyorum.

Python - XGBOOST (Sınıflandırma)

XGBOOST teori kısmını XGBOOST regresyon analizinde ele aldığım için bu kısmı geçip analize başlıyorum. Analizimde yine diabets verisini kullanacağım. Bunun için veri setimi çağırdıktan sonra modelimi kuruyorum ve model parametrelerimi inceliyorum.  Tahmin aşamasına geçince test setimi tahmin et dedikten sonra ilkel test doğruluk oranını hesaplıyorum.  Şimdi model tuning aşamasına geçebilirim. Model için önemli olan parametre değerlerini girdikten sonra 10 katlı cross validation yaptırıyorum.  En optimum değerleri bul dedikten sonra bu değerlere göre modeli tune ediyorum ve doğrulanmış accuracy oranını hesapladıktan sonra analizi bitiriyorum.   

Python - GBM (Sınıflandırma)

GBM teori kısmını GBM regresyon analizinde ele aldığım için bu kısmı geçip analize başlıyorum. Analizimde yine diabets verisini kullanacağım. Bunun için veri setimi çağırdıktan sonra modelimi kuruyorum ve model parametrelerimi inceliyorum. Tahmin aşamasına geçince test setimi tahmin et dedikten sonra ilkel test doğruluk oranını hesaplıyorum. Şimdi model tuning aşamasına geçebilirim. Model için önemli olan parametre değerlerini girdikten sonra 10 katlı cross validation yaptırıyorum. En optimum değerleri bul dedikten sonra bu değerlere göre modeli tune ediyorum ve doğrulanmış accuracy oranını hesapladıktan sonra analizi bitiriyorum.

Python - Random Forests (Sınıflandırma)

Rassal orman (Random Forest), hiper parametre kestirimi yapılmadan da iyi sonuçlar vermesi hem regresyon hem de sınıflandırma problemlerine uygulanabilir olmasından dolayı çokça tercih edilen denetimli bir öğrenme algoritmasıdır. Rastgele orman, birden fazla karar ağacını oluşturur ve daha doğru ve istikrarlı bir tahmin elde etmek için onları birleştirir. Karar ağacının her düğümünde en iyi dallara ayırıcı değişken, tüm değişkenler arasından seçilen daha az sayıdaki değişken arasından seçilir. Ağaç oluşturmada veri setinin 2/3’ü kullanılır. Dışarıda kalan veri, ağaçların performansının değerlendirilmesi ve değişkenlerin öneminin belirlenmesi için kullanılır. Nihai tahmin için ağaçlardan tahmin değerleri talep edilirken her bir ağacın daha önce hesaplanan hata oranları göz önüne alınarak ağaçlara ağırlık verilir. Analizimde yine diabets verisini kullanacağım. Bunun için veri setimi çağırdıktan sonra modelimi kuruyorum ve model parametrelerimi inceliyorum. Tahmin aşamasına