USD 0,0000
EUR 0,0000
USD/EUR 0,00
ALTIN 000,00
BİST 0.000

VERİ BİLİMİ

05-01-2025

Anlatılmaz yaşanır diyebileceğimiz şeylerden birisi hiç şüphesiz veri kavramı. Her birimiz her gün tonlarca veri oluşturur ama veri kavramını çok da anlaşılır şekilde tarif edemeyiz veya anlatamayız. Anlatmaya başladığımızda da gözü kapalı insanların fili tarif etmeye çalıştığı gibi dokunabildiğimiz ve hissedebildiğimiz kadarını anlatabiliriz. Ve eğer bütüne hâkim değilsek bir de inat ederiz kıt tanımlamalarımız konusunda. O nedenle bu yazımda veri nedir diye bir soru sorup da ona eksik tanım yapmak istemedim onun yerine yaşayan veri ya da hayatımızdaki veri üzerinden yazımı derinleştirmek istedim.

Sabah uyandığımız andan akşam yatağa girdiğimiz ana kadar hepimiz çeşitli işler yapar ve olaylar yaşarız. Okula gideriz, işe gideriz, çarşıya gideriz, çalışırız ya da gezeriz, ya da evimizde oturur bir şeyler yapar ya da yapmadan vakit öldürürüz. Bütün bunlar içerisinden kaydetmeye değer bulduğumuz şeyleri kaydettiğimiz andan itibaren onlar veriye dönüşür. O zaman veri olmanın şartlarından birisi her ne olursa olsun kaydedilmiş olmasıdır. Her gün okula ya da işe gidiş ve işten dönüş saatlerimiz bir veridir. İş yerinde yaptıklarımız ya da yapamadıklarımız veridir. Hava durumunu ifade eden sıcaklık, nem, rüzgâr ve yağış bir veridir. Bir çiftlikte bulunan çiftlik hayvanlarına ait künye ve davranış bilgileri bir veridir. Bir öğrencinin dönem boyu gösterdiği performans bir veridir, bir sporcunun fiziksel aktiviteleri, özellikleri ve oyunlarda gösterdiği başarı bir veridir. Hemen her gün sosyal medyada paylaştığımız yorum ve hikâyeler bir veridir. Veriyi örneklerken görüleceği üzere veri her yerde ve çok çeşitlidir.

Veriyi kaydetmek başka bir sanat onu analiz etmek başka bir sanat olduğu için, veriyi kaydedenler onun bir gün analiz edilebileceğini öngörmedikleri için sıklıkla kaydedilen veri analiz anlamında sorunlar çıkarır. Bazen bize tam da lazım olan veriyi kaydetmez ama işimize yaramayacak verileri kaydederiz. Bazen verinin bir kısmını kaydeder bir kısmını boş geçeriz. Bazen de veri toplarız ama topladığımız veri bir işimize yaramaz. Dolayısıyla veriyi kaydetmekle iş bitmez. Başta analize uygun bir veri toplama tasarımı yapılmamasından sonra da henüz tam beceremediğimiz dijital dönüşüm nedeniyle veri sorunları yaşar dururuz. Peki, sorunlu şekilde toplanan veriden değer çıkar mı? Maalesef hayır.

Veri toplama gibi zahmetli bir işin beklenen çıktıyı verebilmesi için yapılması gereken ilk iş analize uygun veri tabanı tasarımlarını en başta yapmaktır. Ben buna analize dayalı veri modelleme diyorum. Peki analize dayalı veri modelleme yapmadık elimizdeki veriyi nasıl faydalı hale çevireceğiz. İşte o zaman veri üzerinde adına önişlem dediğimiz faaliyetleri yapmamıza gerekecek. Bu faaliyetler önemsiz verinin silinmesi (data cleaning), önemli olup da toplanmamış verinin tahmin edilmesi (data imputation), tek başına anlam ifade etmeyen verilerin bir araya getirilmesi (data aggregation), verinin daha güvenilir hale gelmesi için birleştirilmesi (data merge), bazı anlamsız veri parçalarının veri içerisinden ayıklanması ve analize katkısı olmayan kısımların veriden atılması (feature selection) … bunların hepsi daha başarılı bir veri bilimi çalışması yapmak için elzemdir.

Bin bir zorluk ve alan uzmanlarının katkısı ile veriyi hazırladıktan sonra iş yeni başlıyor. Elimizde veri var, hatta temiz ve ön işlemden geçirilmiş veri, şimdi ne yapacağız. Veriye bakacağız. Eğer sınıf dağılımları dengeli ise bir sonraki adıma geçebiliriz fakat değilse yani dengesiz bir veri seti (imbalance dataset) varsa önce onu dengeleyeceğiz. Ya kayıt sayısı az olanı çok olana benzeteceğiz, sentetik veri üretimi ile. Ya da kayıt sayısı fazla olanı azaltacağız. 

Veri setinde dengeyi bulduktan sonra bu sefer veriden elde etmeyi planladığımız çıktıya karar vermemiz gerekiyor. Bu veriler yardımıyla bir sınıf tahmini, bir hastalık teşhisi ya da verilerin benzer topluluklarını mı bulacağız? Bu sorunun cevabı bizim veri analizinde kullanacağımız analiz modelini belirlemede bize rehberlik edecektir. Amacımız bir tahmin ya da çıkarım yapmaksa oturup tahminsel model oluşturmaya başlayacağız. Maksadımız veriler arasındaki benzerliklere dayalı olarak onları öbeklemekse ya da veri elemanları arasındaki birlikteliklere göre kurallar bulmaksa o zaman da açıklamalı modeller üzerinde kafa yoracağız.

Modele karar verince iş bitiyor mu? Cevabımız yine hayır. Varsayalım ki tahminsel modelleri kullanacağımıza karar verdik detayda kendimize şu soruyu sormamız gerekecek. Örneğin emlak konusunda veri kullanacaksak ve amacımız bir emlağın değerini tahmin etmek ise o zaman regresyon, emlak alıp almama kararını tahmin edeceksek sınıflandırma yapmamız gerekecek. Dolayısıyla modellerin detayında tekniklere karar vermemiz gerekiyor. Amacımız emlağın fiyatı değil de emlağın alım kararı ise, yani problemimiz sınıflandırma ise bu sefer çantamızdaki sınıflandırma algoritmalarına bakacağız. Karar ağacı mı kullanacağız, destek vektör makinesi mi yoksa k en yakın komşu algoritması mı? Sınıflandırma sonucu için elbette bunların hepsi de kullanılabilir ama özellikle hangisi problem için daha uygun. Başta verinin karmaşıklık seviyesine sonra da eldeki veride hangi modelin daha yüksek performans verdiğine göre bir karar vermemiz gerekecek. Peki sınıflandırma performansını nasıl bulacağız?

Veri önce iki parçaya ayrılacak: ilk parçası eğitim ikinci parçası test olacak. Eğitim verileri ve veriler içerisindeki etiket bilgisi yardımıyla model eğitimi gerçekleştirecek ve eğitilmiş modeller elde edeceğiz. Örneğin karar ağacı tabanlı emlak alım modeli veya destek vektör makinesi tabanlı emlak alım modeli. Sonra eğitilmiş modeli test verisi üzerinde deneyerek yüzde kaç doğru sınıflandırma yaptığını bulacağız. Üç model için doğruluk (accuracy) değerlerini alarak bu veride hangi algoritmanın daha uygun olduğunu bulacağız.

Sınıflandırma işlemlerinin doğasında eğitim ve test verileri olduğu gibi her bir veri satırının kendi içerisinde hedef değişkenleri ve tahminci değişkenler olarak da ayrılması gerekiyor. Örneğin emlak alım modelinde hedef değişkeni AL ya da ALMA gibi bir değer içeren bir değişken olurken tahmin değişkenleri ‘Evin oda sayısı’, ‘Binanın yaşı’, ‘Binanın merkeze uzaklığı’, ‘Evin brüt alanı’, ‘Evin net alanı’ vs. olabilir. Dolayısıyla bir model oluştururken veriyi tanıyarak hangi verilerin tahminde kullanılabileceği netleştirilmelidir.

Veri ile işimiz hala bitmedi. Tahminci değişkenler ve hedef değişkenin değişken türü de önemli. Bu değişkenlerin türü kullanılacak algoritmaya da etki ettiği için mutlaka veri ile uyumlu algoritmalar seçilmelidir. Eğer bir algoritma çok iyi ama veri o algoritmaya uygun değilse mutlaka veri algoritmanın istediği veriye dönüştürülmelidir.

Yazılanlar karmaşık gelmiş olabilir ama inanın bunun da bir patikası var ve o patika alanda çalışan birçok kişi tarafından biliniyor. Elde veri varsa ve problem tanımı varsa bu patika ve farklı alternatifleri ile sonuca ulaşmak mümkün olacaktır.

Bugün makine öğrenmesi ve derin öğrenme algoritmaları çok başarılı sonuçlar vermeye başlamış olabilir. Bununla birlikte elde edilen başarıyı yakalayabilmenin yolu veriyi tanımak ve veriyi ustaca hazırlamak ve yorumlamaktan geçiyor. İşte o nedenle diyoruz ki ‘Veri değerdir’ ve ‘Veriyi tanımadan, ona iyi davranmadan iyi sonuçlar alamazsınız’. Ha bu arada şunu da ifade edeyim. Veri bilimciler veriler üzerinde birçok iş yapabilir ama veriyi üreten ve bilgiyi kullanacak olan alan uzmanları olmadan tam anlamıyla başarılı bir proje ortaya koymak mümkün değildir. Bu yönüyle veri bilimi çalışmaları disiplinler arası çalışmaya oldukça uygun alanlardır. 

Verinin kıymetinin bilindiği ve değere dönüştüğü günlerde buluşabilmek dileğiyle...

Saygılarımla,

SİZİN DÜŞÜNCELERİNİZ?