Veri bilimi, dünyanın dört bir yanında yüzlerce sektörde kullanılan ve her biri kendi dinamiklerine sahip çok geniş bir alan. Dolayısıyla bu yazıda ele alacağımız akış döngüleri, tüm veri bilimi projelerini kapsamayacak; daha çok makine öğrenmesi temelli tahminleme uygulamalarına odaklanacak. Yani bir sağlık verisi analizi de olabilir, finansal bir tahmin modeli de… Özetle burada bahsedeceğimiz DS proje döngüsü, özellikle makine öğrenmesi çıktısı üreten projeler için rehber niteliğinde olacaktır.
Microsoft’un dökümanlarında yer alan bir görsel:
Microsoft’un resmi döngü görseli, sürecin kurumsal bakış açısını özetliyor.
Hadley Wickham’ın R for Data Science kitabında yayınlanan görsel:
Hadley Wickham’ın görseli ise R ekosisteminde tidy data yaklaşımını sade bir şekilde anlatıyor.
Yukarıdaki döngülerin hangi araçla yapılabileceği(R için):
DS ekibi tarafından ML çıktısı odaklı geliştirilen iş planı formu:
Proje Ana Başlıkları | Alt Görev Başlıkları | |
A. Business Understanding | A1. Çözülmek İstenen Problemin ya da İhtiyaçların Tanımlanması | |
A2. İlgili İş Birimleriyle Konunun Tartışılması ve Beklentilerin Belirlenmesi | ||
A3. Çıktıların, Çözüm Yönteminin ve Başarı Ölçüm Yaklaşımlarının Belirlenmesi | ||
B. Literature and Best Practice Search | B1. Teknik Literatür Taraması ve İlgili Algoritmaların (gerekli ise) Öğrenilmesi | |
B2. İlgili problem sektörde uygulanmış mı? Nasıl uygulanmış? Nasıl sonuçlar elde edilmiş? | ||
C. Data Understanding | C1. Projenin dokunacağı olası tüm tabloların incelenmesi ve proje için uygunluğunun araştırılması | |
C2. Veriye ulaşım için hangi alt yapıların kullanılacağının ve gerekirse veri taşıma işlemlerinin yapılması | ||
D1. Tidy Süreci | D1. Tidy Süreci | D1_1. Proje için gerekli olan değişkenlerin tablolardan toplanması |
D1_2. Satır sütun kesişiminde gözlemsel dönüşümün sağlanması | ||
D2. Keşifçi Veri Analizi | D2_1. Veri setinin ruhuna ulaşma: Değişim, dağılım ve korelasyonların kavranması | |
D2_2. Veri seti için öngörülen durumların sınanması ve bulguların kaydedilmesi | ||
D2_3. Tek, çift ve çok değişkenli değişkenlerin yapısının kavranması | ||
D2_4. Pattern Detection ve Veri Görselleştirme | ||
D3. Veri Manipülasyonu | D3_1. Çok değişkenli aykırı gözlem ve eksik gözlem incelenmesi ve bu problemlerin giderilmesi | |
D3_2. Kavranan değişim, dağılım ve korelasyonlara göre değişken seçimi yapılması | ||
D3_3. Modelleme için kullanılacak algoritmalara karar verilmesi ve gerekliliklerinin incelenmesi | ||
E. Modelling | E1. Validasyon Yönteminin Seçilmesi ve Verinin Bölünmesi | |
E2. Aday algoritmaların ve uygun değişkenlerin seçilmesi | ||
E3. Tüm aday modellerin kurulması ve varsayımlarının incelenmesi | ||
F. Model Evaluation | F1. Model Çıktılarının Yorumlanması | |
F2. Test hatalarının karşılaştırılması, parametre optimizasyonu ve uygun modelin seçilmesi | ||
F3. Canlı veri ile modelin test edilmesi | ||
G. Running in Production | G1. Production tarafında çalışacak job’lara ve periyotlarına karar verilmesi | |
G2. Job’ların kodlanması ve scheduler yardımıyla planlanması | ||
G3. Modelin canlıdaki performansının test edilmesi | ||
G4. Modelin gelir odaklı test edilmesi |
Bu bölümdeki tüm adımlar kurumsal firmalarda yapılan veri bilimi projeleri için en önem arz eden adımlardır.
Bir problemi çözmek için 1 saatim varsa 55 dakikayı problemi anlamaya 5 dakikayı da çözüme ayırırım. - Albert Einstein
Bir problemi anlamak, tam anlamıyla çözümünü bilmek ve adımlara ayırabilmek çözümün kendisini göstermesini sağlayacaktır.
Problemi net bir şekilde ortaya koyduktan sonra, bence DS projelerinde en kritik adımlardan biri ilgili birimlerin beklentilerinin doğru yönetilmesi. Eminim çoğunuz deneyimlemişsinizdir; projeye başlarken konuşulanlarla, proje bittiğinde ortaya çıkan sonuçlar her zaman birebir örtüşmeyebiliyor. Bunun temel sebebi, aslında herkesin projeden aynı çıktıyı beklediğini varsaymamız ama gerçekte bunun çoğu zaman böyle olmaması.
Bu yüzden, konuya az ya da çok hâkim olan herkesle fikir alışverişi yapmak gerçekten çok değerli. Çünkü sadece veriye bakarak karar vermek çoğu zaman yetmiyor. Doğru yaklaşım, veriyi iş bilgisiyle birleştirerek karar vermek. Yani işin püf noktası, “data-driven” olmanın yanında “business-driven” olabilmekte yatıyor diyebilirim.
Bir projede başarıyı nasıl tanımladığımız gerçekten çok kritik. Yani şunu sormamız gerekiyor: Başarı, sadece kullandığımız ML modelinin tahmin performansıyla mı ölçülecek? Yoksa modeli canlıya aldıktan sonra sistemden elde edeceğimiz geri dönüşlerle mi değerlendirilecek? Belki de her ikisi birden başarı kriteri olacak. İşte bu soruların cevabını, projeye katkı sağlayacak herkesin en baştan net olarak bilmesi şart. Çünkü bu konu, projenin yönünü belirleyen en önemli maddelerden biri.
Kısacası; problemi doğru şekilde tanımladıktan, proje paydaşlarının beklentilerini netleştirdikten ve başarı ölçüm kriterlerini belirledikten sonra sıra geliyor literatür taramasına ve best practice araştırmasına. Bu aşama, projeye sağlam bir temel kazandırmak için olmazsa olmaz.
Sonuçta, dünyayı yeniden keşfetmeye gerek yok. O yüzden ilk adımlardan biri, dünyada bu konularda nasıl çözümler geliştirildiğini araştırmak olmalı. Eğer daha önce başarıyla uygulanmış yöntemler varsa, bunların bizim projemiz için de uygun olup olmadığını görmek çok kıymetli. Çünkü globaldeki yaklaşımları bilmek, bize projeye başlarken güçlü bir yol haritası sunuyor.
Tabii ki her problemin dünyada hazır bir karşılığı olmayabilir. İşte tam da burada devreye veri bilimcinin en değerli becerisi giriyor: yaklaşım geliştirme. Yani analitik düşünmek, doğru soruları sormak, gerekli olduğunda istatistiksel (SL) ve makine öğrenmesi (ML) yöntemlerini kullanarak çözümler üretmek… Bu süreç, varsayımlar yapmayı, bunları test etmeyi ve elde edilen sonuçlara göre ilerlemeyi gerektiriyor. İşin matematiğini bilmek ve problemi gerektiğinde farklı açılardan yeniden kurgulayabilmek de bu işin olmazsa olmazı.
Bu aşamada “veriyi anlamak” derken aslında kastettiğimiz şey, şirket içindeki veri yapısını doğru kavramak. Eğer elimizde çok büyük miktarda veri yoksa, bu adım bazen o kadar da kritik olmayabilir. Ama yine de, teorik ön inceleme ve araştırma sonrasında şirketin mevcut verilerinin proje için gerçekten uygun olup olmadığını görmek gerekiyor.
Bu noktada yapılacak işler arasında, projenin dokunacağı tabloları belirlemek, gerekiyorsa bunları özet (aggregate) tablolar haline getirmek ve veri farklı platformlarda dağınık duruyorsa, ihtiyaç duyulan verileri doğru şekilde aktarmak var. Yani kısacası, proje başlamadan önce “elimdeki veri bu iş için gerçekten uygun mu?” sorusunun net bir cevabını almış olmamız gerekiyor.
ML odaklı bir proje geliştirdiğimiz için, tidy süreci, keşifçi veri analizi (EDA) ve veri manipülasyonu adımlarını tek bir çatı altında toplayabiliriz. Her biri aslında başlı başına önemli ve projenin gidişatını doğrudan etkileyen aşamalar. Bu adımların yanı sıra, modelleme sürecinde kritik rol oynayan feature engineering kısmı da ayrıca ele alınmalı.
Bu yüzden hem bu basamaklar hem de feature engineering konusunda detaylı yazılar paylaşacağım. Böylece sürecin her adımının neden önemli olduğunu ve gerçek bir projede nasıl uygulanabileceğini daha net görebileceğiz.
Analitik bir çalışmaya başlamadan önce yapılması gereken ilk adımlardan biri tidy sürecidir. Peki tidy süreci nedir? Kısaca, veriyi yapısal olarak düzenli hale getirme aşamasıdır.
Burada “düzenli” derken şunu kastediyoruz:
Bu basit gibi görünen kural, aslında analitik süreçlerin temelini oluşturur. Eğer veri tidy formatında değilse, ne istatistiksel analizler ne de makine öğrenmesi modelleri sağlıklı sonuç verir.
Kısacası tidy data = güçlü analizlerin yapı taşıdır.
Veri bilimi projelerinde tidy hale getirilmiş ve keşifçi veri analizi (EDA) ile yapısı anlaşılmış bir veri setiyle başlarız. İşte bu noktadan sonra devreye veri manipülasyonu girer. Bu aşamada:
gibi çok değişkenli istatistiksel yaklaşımlar uygulanır. Yani veriyi, modelleme sürecine uygun hale getirmek için adeta ince ince işliyoruz.
Bu basamaktaki en kritik noktalardan biri de feature engineering yani özellik mühendisliği. Veri bilimcisinin yaratıcılığını ortaya koyduğu alan tam olarak burasıdır. Burada amaç, fiziki olarak var olmayan ama problemi açıklamada faydalı olabilecek yeni değişkenler oluşturmaktır. Tabii bunu yaparken nedensellik bağlamını asla unutmamak gerekir.
Bir örnekle daha netleştireyim: Uçak gecikmelerini tahmin etmek için fok balıklarının ölüm oranlarını modele dahil etmiyoruz. ☻ Aynı şekilde, sadece yüksek korelasyon gördüğümüz bir değişkeni de nedensellikten bağımsız şekilde modele koyamayız. Çünkü biliyoruz ki korelasyon her zaman nedensellik anlamına gelmez (istatistik 101).
Veri manipülasyonu ve feature engineering adımları, bir veri bilimi projesinin başarısını doğrudan etkiler. Eksik veriler ya da aykırı gözlemler doğru yönetilmezse, model yanlış sonuçlar üretebilir. Yaratıcı ama mantıklı bir feature engineering yaklaşımı ise modelin performansını bambaşka bir seviyeye çıkarabilir.
Artık elimizde temizlenmiş, düzenlenmiş, her türlü gürültüden arındırılmış bir veri seti var. Sıra geldi işin en heyecanlı kısmına: kahinlik yapmaya, yani tahminsel model kurmaya!
Şöyle bir soru çok sık duyuyorum:
“Elimde bir sürü algoritma var ama Kaggle’da bir yarışmada kullanılan şu çok havalı algoritmayı gördüm. Ben de modelimi onunla kursam olmaz mı?”
Benim cevabım ise hep şu oluyor: Akşam dışarı çıkacaksın, arkadaşlarınla rock konserine gideceksin. Dolapta bir sürü kıyafet var ama en havalısı smokin. Onu giyer misin? ☻ İşte algoritma seçimi de biraz böyle. Havalı olan değil, probleme en uygun olan seçilmeli.
Veri bilimi süreçlerinde en kritik basamaklardan biri, istatistiksel öğrenme (SL) ve makine öğrenmesi (ML) yöntemlerini kullanarak iş problemini çözecek doğru yaklaşımı geliştirebilmektir.
Gözlemlerimden ve işe alım süreçlerinden gördüğüm en yaygın problemlerden bazılarını paylaşayım:
Teoriyi görmezden gelmek: İktisat teorisi ne diyor? Davranış bilimleri bu konuda nasıl bir açıklama yapıyor? Bu sorulara bakmadan sadece ML ile ilerlemek büyük hata.
Makine öğrenmesi takıntısı: Her problemde aynı algoritmayı kullanma eğilimi. Halbuki yüzlerce model var ve performans karşılaştırması yapılmadan doğru seçim yapılamaz.
Yanlış algoritma seçimi:
Nedensellik farkındalığı eksikliği: Makine öğrenmesi her zaman nedenselliği açıklamaz. Özellikle iş dünyasında bu konudaki farkındalık hâlâ oldukça düşük.
Varsayımları göz ardı etmek: Gerektiğinde teorik varsayımları incelemeden model kurmaya başlamak.
Burada kritik olan, performans değerlendirmesini doğru yapmaktır. Yani sadece yüksek doğruluk oranı değil, iş problemini gerçekten çözüp çözmediğine bakılmalı. Bu yüzden model seçerken hem teoriyi hem de performans metriklerini dikkate almak gerekir.
Her veri bilimi projesi mutlaka canlı sistemlere entegre edilmek zorunda değildir. Bu durum, projeden projeye değişiklik gösterir. Örneğin:
Canlıya alınan sistemlerde job planlaması ihtiyaca göre farklılık gösterebilir. Bazı projelerde planlama yapmak gerekmezken, bazı projelerde belirli periyotlarla job çalıştırılması gerekebilir.
Burada en kritik konu şudur:
Model çıktılarının kullanıcı davranışlarını etkilemesi ve bu davranışlardan oluşan yeni verilerin tekrar aynı modele beslenmesi ciddi yanlılıklara yol açabilir.
Yani, canlı sistemde çalışan modellerin yönlendirdiği kullanıcı hareketlerinden doğan veriler, tekrar aynı job’lar üzerinden modele beslenmemelidir. Bu durum modelleri kısır döngülere sokar ve sonuçların güvenilirliğini bozar. Bu nokta, DS-ML süreçlerinde hayati öneme sahiptir.
Canlıya alınan sistemlerde sadece entegrasyon yeterli değildir. Modellerin mutlaka canlı testlerinin yapılması ve sürecin döngüsel olarak devam etmesi gerekir. Yani entegrasyon tek seferlik değil, sürekli gelişen bir süreçtir.
Peki siz hangi iş problemini veri bilimiyle çözmek isterdiniz?
Motivasyon, SL & ML, Programlama Araçları var, ne duruyorsun?
Elimizde bir DS projesinin aşağı yukarı nasıl ele alınması gerektiği var olduğuna göre şimdi yapacak bir proje bulmak lazım!
Veri bilimi alanında daha derinleşmek ve bu süreçleri adım adım, doğru bir kaynaktan öğrenmek ister misiniz?
O halde Miuul Data Scientist Bootcamp tam size göre!
Başlangıç tarihi: 24 Eylül 2025
Eğitim sonunda portfolyonuzda gerçek projeler olacak, ML modellerini canlıya alma deneyimi kazanacaksınız.
Detaylı bilgi almak ve kayıt olmak için: https://miuul.com/data-scientist-bootcamp/iletisim-formu