VERİ BİLİMİ
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,
Prof.
Dr. Hidayet Takcı
Sivas, Ocak 2025
İletişim: htakci@cumhuriyet.edu.tr
Yorumlar
Yorum Gönder