Python, Veri Bilimi / 11 Ekim 2020 / Miraç ÖZTÜRK
Merhaba iyi günler.
Günümüzde birçok çeşitli ölçeklerdeki firma,kurum-kuruluş sürekli değişen zorlu koşullar altında çağın rekabet koşullarına karşı adaptasyon sürecinde problemler yaşamaktadır.
Operasyonel ve yönetimsel faaliyetler için bünyelerinde farklı platformlar altında kullandıkları özellikli uygulamalar-programlar tarafından oluşturulmuş çeşitli veri kümeleri barındırmaktadırlar.Bu veri kümeleri geniş zaman aralıklarına ait periyodik olarak gerçekleşen bazı süreçlerin değerlerini-çıktılarını içermektedir.
Çeşitli tahminleme ve çıkarım modelleri ile barındırdıkları bu verileri işleyerek rekabet koşulları altındaki adaptasyon süreçlerini hızlandırabilir ve geleceğe yönelik tutarlı kararlar almaları kolaylaşabilir.
Bu tahminleme ve çıkarım modelleri günümüzde makinalar (Bilgisayarlar) üzerinden çeşitli yazılım ve yazılımlarla eş güdümde kullanılan algoritmalar ile sağlanmaktadır.
*Veri Bilimi; yapılandırılmış-işlenmiş ve yapılandırılmamış-işlenmemiş verilerden bilgi ve öngörü elde etmek için bilimsel yöntemleri, süreçleri, algoritmaları ve sistemleri kullanan çok disiplinli bir alandır.
Veri Bilimi ışığında hayatta karşımıza çıkan problemlerde mantıksal çıkarımlarda bulunup çeşitli ilişkilerin varlığından emin olduğumuz fakat matematiksel olarak herhangi bir çıkarımda net olarak sonuca ulaşamadığımız durumlarda da devreye Makine (Bilgisayar) Öğrenmesi girmektedir.
Bu doğrultuda popülaritesine gün geçtikçe sunduğu çeşitli çözümlemeler ve geniş bir kitleye sahip destek gruplarının (Topluluklar-Community) sağladığı destekler ile ön plana çıkan Python ile bu modelleri gelecek yazıda inceleyecek ve uygulayacağımız algoritmaların analizlerine ait sonuç çıktılarını Microsoft’un lisanslı iş zekası ve raporlama aracı olan Power BI ile görselleştirmeye çalışacağız.
Öncesinde Python diline ait bazı hatırlatmaları incelmek isterseniz ilgili link üzerinden ulaşabilirsiniz.
Bilgisayarlar-Makinalar üzerinde kullanılan öğrenme modelleri genel olarak (Farklı kategori belirtilebilir) dört ana grupta incelenmektedir.
Bunlardan Denetimli-Gözetimli,Denetimsiz-Gözetimsiz ve Yarı Denetimli-Gözetimli modeller firma ve kurum-kuruluşlar altında çeşitli sayısal analiz ve tahminleme kaynakları baz alınan modeller olarak kullanılmaktadır.
Pekiştirmeli-Destekli Öğrenme modeli ise ağırlıklı olarak robotik alanlarda kullanılan bir öğrenme modelidir.
Bu modeller altında, modellere uygun çeşitli çözümlemeler sağlayan algoritmalar-teoremler bulunmaktadır.
Makalede Neler Var ?
1-Denetimli/Gözetimli Öğrenme - Supervised Learning
Denetimli-Gözetimli Makine Öğrenimi; belirsizlik durumunda ispata-kanıta dayalı tahminler yapan bir model yapısı kurgulayıp, oluşturulması baz alınılan makine öğrenmesi modelidir.
Denetimli bir öğrenme algoritması bilinen bir girdi veri seti (Bilinen yanıtları-cevapları) alır, ardından yeni verilere (Tahminlenecek modeldeki) yanıt için makul tahminler oluşturmak üzere bir modeli eğitir.
*Kısacası mevcut öğrenme modelinde amaç; belirli bir değere sahip X için Y değerini öğrenmeye-bulmaya çalışmaktır.
Eğer kurguladığınız yapıda giriş (X) ve çıkış (Y) değeri bulunuyorsa ve girişten çıkışa kadar eşleştirme işlevini öğrenmek için algoritma kullanıyorsak bu denetimli öğrenmedir.
Denetimli Öğrenme modelinde baskın olarak kullanılan başlıca algoritmalar-teknikler-teoriler şunlardır;
- Karar Ağaçları (Decision Trees),
- Sınıflandırma (Classification),
- Yapay Sinir Ağları (Artificial Neural Networks),
- Genetik Algoritmalar (Genetic Algorithms),
- K-En Yakın Komşu (K-Nearest Neighbor),
- Çok Değişkenli Uyarlamalı Regresyon Analizi (Multivariate Adaptive Regression Splines),
- Naive-Bayes Teorisi (Naive-Bayes Theory),
- Kaba Kümeler (Rough Clusters),
- Rastgele Orman Topluluğu (Random Forest),
- Benzerlik Öğretimi (Similarity Learning)
2-Denetimsiz/Gözetimsiz Öğrenme - Unsupervised Learning
Denetimsiz-Gözetimsiz Makine Öğrenimi; herhangi bir bilgi verilmeden sadece giriş verileri baz alınarak bu verilerden çeşitli sonuçların çıkarılmasını için model kurgulayıp, oluşturulması baz alınılan makine öğrenmesi modelidir.
Yapısal olarak sadece giriş verilerini baz alıp çeşitli işlemler gerçekleştirir.
*Kısacası mevcut öğrenme modelinde amaç; yalnızca giriş (X) verilerini içeren bir yapıda öğrenme-bulma işlemi gerçekleştirmektir.
Denetimsiz öğrenme modelinde amaç, sonuç-hedef veriler altında yatan yapı veya dağılımı modellemektir.Burada farklı girdi kümeleri oluşturarak uygun kümeye yeni girdi değerleri eklemek alt amaç olarak görülmektedir.
Denetimsiz Öğrenme modelinde baskın olarak kullanılan başlıca teknikler şunlardır;
- Gizli Değişken Öğrenmesi (Approaches for Learning Latent Variable)
- Kümeleme (Clustering),
- Anomali Tespiti (Anomaly Detection),
- Yapay Sinir Ağları (Artificial Neural Networks) – Denetimli/Denetimsiz
3-Yarı Denetimli/Gözetimli Öğrenme - Semi Supervised Learning
Yarı Denetimli-Gözetimli Makine Öğrenimi; denetimli öğrenme ve denetimsiz öğrenme arasında olan makine öğrenmesi modelidir.
Kısacası mevcut öğrenme modelinde amaç; etiketlenmemiş verilerin kullanımını sağlamak ve denetimli-denetimsiz öğrenme seçimine destek sağlayıcı ek veriler elde etmek.
4-Destekli/Pekiştirmeli Öğrenme - Reinforcement Learning
Pekiştirmeli-Destekli-Takviyeli Makine Öğrenimi; sonucu-ödülü en üst seviyeye-düzeye çıkaracak eğilimleri ve çıkarımları belirleyerek, analizin mevcut durumuna dayalı sıradaki en etkili yöntemi-işlemi belirlemesini sağlayan bir makine öğrenmesi modelidir.
Destekli öğrenme modelinde genellikle deneme yanılma yoluyla en iyi eylemleri öğrenirler.
Ağırlıklı olarak hareketli mekanik sistemlerin pozitif-negatif durum analizinde kullanılır.
Diğer öğrenim modellerinde baskın olarak soyut sonuçlar ile soyut aksiyonlar alınırken destekli öğrenim modelinde sonuçlar somut yanıtlar olarak ele alınıp analiz-gözlem çıktılarında işlenmektedir.
Örneğin; robotik alanında bir robotun engele çarptıktan sonra aldığı negatif geri bildirim ile yeni engeller ile karşı karşıya geldiğinde farklı eğilimler ve çözümlerle engelden etkilenmemek için kaçmaya çalışması. EK-1 EK-2
Destekli-Pekiştirmeli Öğrenme modelinde kullanılan başlıca teknikler şunlardır;
Yaygın-Popüler Algoritmalara Dair Kısa Notlar
1-Sınıflandırma - Classification
Sınıflandırmada (Classification); bir veriyi-veri grubunu-veri kümesini (data-data group-data set) birbirinden farklı ve önceden çeşitli özellikler doğrultusunda ayrılmış-belirlenmiş sınıflardan birine atanması metodudur.
*Kısacası elimizdeki veriyi belirli özelliklere göre grupladığımız gruplara dağıtmak.
Temsili;
İş dünyası içerisinde çeşitli faaliyet alanlarında popülerliği yüksek bir algoritmadır.
Özellikle satış yoğunluğu yüksek olan kurum ve kuruluşlarda Müşteri Segmentasyonları
(RFM Analizi doğrultusunda), Ürün ve Müşteri Bağlılığı vb. sınıflandırma için ortak parametre barındıran analizler için çokça tercih edilmektedir.
Genel sınıflandırma yöntemi, klasik yaklaşımı ile Frederick Suppe‘ye göre Kavramsal ve Sistematik olarak ikiye ayrılmaktadır.
2-Regresyon - Regression
Regresyon (Regresyon Analizi-Regression); bağımlı bir değişken ile bağımsız bir değişken arasındaki ilişkinin ortadan kaldırılması için kullanılan istatistiksel bir metoddur.
*Kısacası iki ya da daha çok değişken arasındaki ilişkiyi ölçmek için kullanılan analiz metodudur.
Temsili;
Regresyon 1805 yılında Adrien Marie Legendre tarafından ortaya konulmuş olan bir analiz türüdür. En küçük kareler prensibine dayanmaktadır. Regresyon terimi ise ilk kez Francis Galton biyolojik bir inceleme sırasında kullanılmıştır.
Gerçekleştirmek istediğimiz regresyon analizinde tek bir değişken kullanılarak analiz yapılacaksa-yapılıyorsa buna tek değişkenli regresyon, birden çok değişken kullanılıyorsa çok değişkenli regresyon olarak analizimizi ifadelendirebiliriz.
3-Anomali Tespiti - Anomaly Detection
Anomali Tespiti (Anormal Tespiti-Anomaly Detection); beklenen bir duruma-akışa uymayan bir anlık/periyodik zaman dahilindeki değer-durumu ifade eden farklılıkları saptama metodudur.
*Kısacası belirli bir süreç dahilindeki süreç dışı durumları analiz etme metodudur.
Düzensizlik ya da süren kaotik süreçler ile anormallik tamamen farklı kavramlardır.
Sürekliliği olan düzensiz veri akışı ya da çıktılar anomali tespiti için ifadelendirilebilir bir mana vermemektedir.
Temsili;
4-Clustering - Kümeleme
Kümeleme (Clustering); K ( K ∈ Ν) adet veri nesnesinden oluşan bir veri kümesini giriş parametresi olarak verilen K adet kümeye bölümlemektir.Gerçekleştirilen bölümleme işlemi sonunda elde edilen kümelerin, küme içi benzerliklerinin maksimum ve kümeler arası benzerliklerin ise minimum olmasını hedeflenen istatistiksel bir metoddur.
*Kısacası ilgili koşullardaki maksimum benzerlik seviyesinde elemanları birbirileri ile gruplamak için kullanılan analiz metodudur.
Temsili;
Belirli alt koşullarda birçok çalışma içerisinde Kümeleme ve Sınıflandırma birbirileriyle karıştırılmaktadır.
Aralarındaki en bariz farklılık ise Sınıflandırma denetimli bir öğrenme tekniğidir, öte yandan Kümelenme denetimsiz öğrenmedir.
Yani; Kümelemenin amaç olarak, aralarında herhangi bir ilişki olup olmadığını bulmak için bir dizi nesneyi gruplamaktır, oysa ki Sınıflandırma, önceden tanımlanmış sınıflar kümesinden hangi nesneye ait olduğunu bulmayı amaçlamaktadır.
5-Rastgele Orman Topluluğu - Random Forest
Rassal-Rastgele Orman (Random Forest); hiper parametre* kestirimi yapılmadan hem regresyon hem de sınıflandırma problemlerine uygulanabilir olan istatistiksel bir metoddur.
*Parametre değeri ne-nasıl olacağı modeli kurgulayan-tasarlayan-modelleyen kişiye bırakılmış, problem ya da veri setine göre değişiklik gösteren parametreler hiper parametre (hyperparameters) olarak ifadelendirilmektedir.
*Kısacası; sınıflandırma işlemi esnasında birden fazla karar ağacı üreterek sınıflandırma değerini yükseltmeyi hedefleyen bir analiz metodudur.
Temsili;
Kısa bir zaman dilimi içinde bir model geliştirmesi gereken analiz personelleri için bu algoritma çokça tercih edilen-popüler bir seçim olarak ifadelendirilmektedir.
6-En Yakın Komşu - K-Nearest Neighbours (KNN)
En Yakın Komşu (KNN-K Nearest Neighbours); sınıflandırılmak istenen bir veriyi daha önceki verilerle olan yakınlık ilişkisine göre sınıflandıran bir statistiksel bir metoddur.
*Kısacası merkezi bir nokta-değer baz alınarak diğer noktalardan-değerlerden merkezi hedefe olan öklit uzaklıkları hesaplanarak en yakın noktanın-değerin hesaplanması ve tespit edilmesini hedefleyen bir analiz metodudur.
Temsili;
Kısaca mini kesitler dahilinde, ele aldığımız problemlere yönelik özelleşmiş birçok algoritmadan-teoremden sadece birkaçını hatırlatmaya çalıştım.
Genel manada problemlere ait bazı çözüm dengeleri mevcuttur.
Bunlar;
- Uygun çözüm (algoritma-teorem) yöntemlerini ele almak,
- Veri kümesini, makine-bilgisayar için eğitim ve test veri kümelerine bölmek,
- İlgili modelimiz için uygun parametreler belirlemek,
- Uygun sınırlar dahilinde performans ölçütlerini test etmek ve kullanmak,
- Model için en uygun ve etkili hiperparametre değer ayarlarını sağlamak,
- Model ve yöntem doğrulama sistemleri oluşturmak.
Bir sonraki yazılarımda ilgili algoritmaları hazır veri setlerinde Python ile detaylı bir şekilde inceleyip-analiz edip Power BI ile çeşitli varyasyonlarda görselleştirmeye çalışacağım.
Gelecek yazılarda görüşmek üzere.
İyi çalışmalar…