Yapay Zeka’da Veri Seti Oluşturma ve Ön İşleme Teknikleri

Yapay zeka ve makine öğrenimi dünyasında, geliştirilen her modelin temelini oluşturan en kritik unsurlardan biri, şüphesiz ki veri setleridir. Bu veri setlerinin doğru bir şekilde oluşturulması ve ardından titizlikle ön işleme tabi tutulması, yapay zeka modellerinin başarısını, doğruluğunu ve genellenebilirliğini doğrudan etkileyen hayati adımlardır. Günlük hayatımızda kullandığımız akıllı telefonlardaki yüz tanımadan, çeviri uygulamalarına, sağlık sektöründeki hastalık teşhislerinden, otonom araçlara kadar pek çok alanda yapay zeka uygulamalarıyla karşılaşıyoruz ve bu uygulamaların tamamı, arkasındaki güçlü ve kaliteli veri setleri sayesinde işlevsellik kazanıyor.
- Yapay zeka veri seti nedir: Temel bileşenleri ve önemini kavrayacaksınız.
- Veri seti oluşturma yöntemleri: Farklı veri kaynaklarını ve toplama stratejilerini öğreneceksiniz.
- Veri ön işleme teknikleri: Eksik, gürültülü ve tekrarlanan verilerle başa çıkma yöntemlerini anlayacaksınız.
- Veri dönüşümü ve ölçeklendirme: Normalizasyon, standardizasyon ve kategorik veri kodlama gibi kavramları tanıyacaksınız.
- Özellik mühendisliği ve boyut azaltma: Veri setlerini modellemeye hazırlama stratejilerini keşfedeceksiniz.
- Veri seti bölme ve doğrulama: Eğitim, doğrulama ve test setlerinin önemini öğreneceksiniz.
- Veri Seti: Yapay zeka modelini eğitmek için kullanılan düzenli bilgi koleksiyonudur.
- Veri Ön İşleme: Ham veriyi temizleme, dönüştürme ve formatlama sürecidir.
- Eksik Veri: Boşlukların doldurulması veya ilgili örneklerin silinmesiyle yönetilir.
- Gürültülü Veri: Aykırı değerlerin tespiti ve düzeltilmesiyle ele alınır.
- Ölçeklendirme: Veri özelliklerinin aynı aralığa getirilmesidir (Normalizasyon, Standardizasyon).
- Özellik Mühendisliği: Mevcut veriden yeni, daha anlamlı özellikler oluşturma sanatıdır.
- Veri Bölme: Modelin genellenebilirliğini test etmek için veri setini eğitim, doğrulama ve test kümelerine ayırmadır.
Veri Seti Nedir ve Neden Hayati Önem Taşır?
Yapay zeka ve makine öğrenimi bağlamında veri seti, bir algoritmanın öğrenmesi için kullanılan düzenli bir bilgi koleksiyonudur. Bu koleksiyon, genellikle satırlar (örnekler veya gözlemler) ve sütunlar (özellikler veya nitelikler) halinde düzenlenmiş verilerden oluşur. Veri setleri, bir yapay zeka modelinin dünyayı anlaması, örüntüleri tanıması ve kararlar alması için beslendiği temel kaynaktır.
Bir yapay zeka modelinin zekası, doğrudan beslendiği verinin kalitesiyle ilişkilidir. Kötü, eksik veya hatalı verilerle eğitilmiş bir model, doğru tahminler yapamaz veya genelleştirme yeteneği zayıf olur. Bu yüzden, veri setinin doğru bir şekilde oluşturulması ve temizlenmesi, projenin başarısı için kritik bir adımdır.
Veri Setlerinin Temel Bileşenleri
Her veri seti, içerdiği bilgilere göre farklı bileşenlere sahip olabilir. Ancak genel olarak üç temel bileşen öne çıkar:
- Özellikler (Features): Bir veri örneğini tanımlayan niteliklerdir. Örneğin, bir ev fiyatı tahmin modelinde evin metrekaresi, oda sayısı, yaşı gibi bilgiler özelliklerdir. Bu özellikler, modelin öğrenmesini sağlayan girdi değişkenleridir.
- Etiketler (Labels) / Hedef Değişken (Target Variable): Modelin tahmin etmeye çalıştığı çıktıdır. Yukarıdaki örnekte evin fiyatı, etiket veya hedef değişkendir. Denetimli öğrenme algoritmaları bu etiketli verilerle eğitilir.
- Örnekler (Samples) / Gözlemler: Veri setindeki her bir satır, bir örneği temsil eder. Her örnek, ilgili özellik değerleri ve etiketi (varsa) ile birlikte gelir. Örneğin, belirli bir evin tüm özellikleri ve fiyatı bir örnek oluşturur.
Bir e-ticaret sitesindeki müşteri yorumlarını olumlu veya olumsuz olarak sınıflandıran bir model için veri seti:
| Yorum Metni (Özellik) | Duygu (Etiket) |
|---|---|
| Bu ürün harika, çok beğendim! | Olumlu |
| Kargo çok geç geldi, hayal kırıklığı. | Olumsuz |
| Fiyatına göre performansı süper. | Olumlu |
| Beklediğim gibi çıkmadı, iade ettim. | Olumsuz |
Bu örnekte ‘Yorum Metni’ özellik, ‘Duygu’ ise etikettir. Her satır bir müşterinin yorumunu ve o yorumun duygu durumunu içeren bir örnektir.
Veri Seti Oluşturma Yöntemleri: Nereden Başlamalıyız?
Yapay zeka projenizin ilk ve belki de en zorlu adımlarından biri, doğru ve yeterli veri setini oluşturmaktır. Veri setleri, projenizin türüne ve hedefine göre farklı yöntemlerle elde edilebilir.
Mevcut Veri Kaynakları
Veri seti oluşturmaya başlamanın en kolay yollarından biri, zaten var olan veri kaynaklarını kullanmaktır. Bu kaynaklar genellikle güvenilir ve büyük hacimli veriler sunar.
📚 Devamını öğrenin: Yapay Zeka Kariyer Fırsatları: Geleceğin Meslekleri
- Genel Veri Setleri: Kaggle, UCI Machine Learning Repository, Google Dataset Search gibi platformlar, çeşitli alanlarda halka açık büyük veri setleri sunar. Bu setler, özellikle başlangıç seviyesindeki projeler ve akademik araştırmalar için idealdir.
- Kurumsal Veriler: Şirketlerin kendi bünyelerinde topladığı müşteri verileri, satış kayıtları, log dosyaları gibi veriler. Bu veriler genellikle çok spesifik ve değerlidir ancak erişimi kısıtlı olabilir.
- Açık Kaynak Veriler: Devlet kurumları, araştırma enstitüleri veya sivil toplum kuruluşları tarafından kamuya açık hale getirilen verilerdir (örn: hava durumu verileri, nüfus sayımı istatistikleri).
Veri Toplama Stratejileri
Mevcut veri setleri yeterli olmadığında veya çok spesifik bir ihtiyacınız olduğunda, kendi veri setinizi oluşturmanız gerekebilir.
- Manuel Toplama: Anketler, deneyler veya doğrudan gözlem yoluyla veri toplama. Bu yöntem, küçük ve yüksek kaliteli veri setleri için uygundur ancak zaman alıcı ve maliyetli olabilir.
- Web Kazıma (Web Scraping): Web sitelerinden programatik olarak veri çekme işlemidir. Özellikle metin, resim veya ürün bilgileri gibi yapılandırılmamış verileri toplamak için kullanılır. Bu yöntemi kullanırken yasal ve etik kurallara dikkat etmek önemlidir.
- API’ler (Uygulama Programlama Arayüzleri): Bazı web servisleri (Twitter, Google Maps, açık veri portalları vb.) programatik erişime izin veren API’ler sunar. Bu API’ler sayesinde belirli kriterlere göre veri çekmek mümkündür.
- Sensör Verileri: IoT (Nesnelerin İnterneti) cihazları, akıllı sensörler veya kameralar aracılığıyla toplanan gerçek zamanlı verilerdir. Bu tür veriler genellikle zaman serisi analizleri için kullanılır.
Veri Ön İşleme Neden Gereklidir? Kirli Veriden Temiz Bilgiye Yolculuk
Ham veriler, genellikle doğrudan yapay zeka modellerine beslenecek durumda değildir. Gerçek dünya verileri; eksik değerler, hatalar, tutarsızlıklar, aykırı değerler ve farklı formatlar içerebilir. Veri ön işleme, bu ham veriyi temiz, düzenli ve modelin anlayabileceği bir formata dönüştürme sürecidir. Veri ön işleme, modelin performansını doğrudan artıran, hatta bazı durumlarda modelin hiç çalışmasını sağlayan kritik bir adımdır.
Veri ön işlemenin temel amaçları şunlardır:
- Veri Kalitesini Artırmak: Hataları ve tutarsızlıkları gidererek verinin doğruluğunu ve güvenilirliğini yükseltmek.
- Model Performansını Artırmak: Temiz ve düzenli veri, algoritmaların daha iyi öğrenmesini ve daha doğru tahminler yapmasını sağlar.
- Hesaplama Maliyetini Azaltmak: İlgisiz veya tekrarlanan verileri kaldırarak işlem süresini ve kaynak kullanımını optimize etmek.
- Anlaşılırlığı Artırmak: Veriyi insan ve makine tarafından daha kolay anlaşılır hale getirmek.
Veri Temizleme Teknikleri
Veri temizleme, ön işlemenin en önemli aşamalarından biridir ve verideki hataları, eksiklikleri ve tutarsızlıkları gidermeyi amaçlar.
- Eksik Veri Yönetimi (Missing Data Handling): Birçok veri setinde bazı özellik değerleri eksik olabilir (NaN – Not a Number). Bu durum, modelin sağlıklı çalışmasını engeller. Eksik verileri yönetmek için birkaç yöntem bulunur:
- Silme: Eksik değere sahip satırları veya sütunları tamamen kaldırmak. Ancak bu, değerli bilgi kaybına yol açabilir, özellikle çok sayıda eksik veri varsa.
- Doldurma (Imputation): Eksik değerleri tahmin edilen veya hesaplanan değerlerle doldurmak.
- Ortalama/Medyan/Mod ile Doldurma: Sayısal veriler için sütunun ortalama veya medyan değeri, kategorik veriler için ise mod (en sık geçen değer) ile doldurmak yaygın bir yöntemdir.
- Tahmini Değerlerle Doldurma: Regresyon veya diğer makine öğrenimi modelleri kullanarak eksik değerleri tahmin etmek. Bu daha karmaşık ama daha doğru sonuçlar verebilir.
- Binning (Gruplama): Verileri küçük gruplara ayırarak ve her gruptaki değerleri o grubun ortalama veya medyanı ile değiştirerek pürüzsüzleştirmek.
- Regresyon: Veri noktaları arasında bir regresyon fonksiyonu bularak gürültüyü azaltmak.
- Kümeleme (Clustering): Verileri benzerliklerine göre gruplandırmak ve aykırı değerleri diğer gruplara uymayan noktalar olarak tanımlamak.
Veri Dönüşümü ve Ölçeklendirme: Modeller İçin Optimal Hazırlık
Veri temizliğinden sonra, modellerin daha iyi performans göstermesi için verilerin belirli bir formata dönüştürülmesi ve ölçeklendirilmesi gerekebilir.
Veri Dönüşümü
Veri dönüşümü, verinin dağılımını veya yapısını değiştirerek model için daha uygun hale getirmeyi amaçlar.
- Normalizasyon (Min-Max Ölçeklendirme): Veri özelliklerini belirli bir aralığa (genellikle 0 ile 1 arasına) dönüştürür. Bu, özelliklerin farklı büyüklüklerde olmasından kaynaklanan sorunları giderir ve modelin tüm özelliklere eşit ağırlık vermesini sağlar. Özellikle sinir ağları ve SVM gibi mesafe tabanlı algoritmalar için önemlidir.
Formülü: X_normalize = (X – X_min) / (X_max – X_min) - Standardizasyon (Z-Skor Ölçeklendirme): Verileri ortalaması 0 ve standart sapması 1 olacak şekilde dönüştürür. Bu, verilerin normal bir dağılıma sahip olmasını sağlar ve aykırı değerlere karşı daha az hassastır. Lineer regresyon, lojistik regresyon gibi modellerde sıklıkla kullanılır.
Formülü: X_standardize = (X – μ) / σ (μ: ortalama, σ: standart sapma) - Kategorik Veri Kodlama (Categorical Data Encoding): Yapay zeka modelleri genellikle sayısal verilerle çalışır. Bu nedenle, ‘Kırmızı’, ‘Mavi’, ‘Yeşil’ gibi kategorik verilerin sayısal bir formata dönüştürülmesi gerekir.
- Label Encoding: Her kategoriyi benzersiz bir sayısal değerle eşleştirir (örn: Kırmızı=0, Mavi=1, Yeşil=2). Ancak bu, kategoriler arasında yapay bir sıralama ilişkisi yaratabilir ve bazı modeller için yanıltıcı olabilir.
- One-Hot Encoding: Her kategori için yeni bir ikili (0 veya 1) özellik (sütun) oluşturur. Örneğin, ‘Kırmızı’ için [1,0,0], ‘Mavi’ için [0,1,0], ‘Yeşil’ için [0,0,1]. Bu, kategoriler arasındaki sıralama sorununu giderir ve birçok model için daha uygundur.
Bir ‘Renk’ sütununu düşünelim: [‘Kırmızı’, ‘Mavi’, ‘Kırmızı’, ‘Yeşil’].
Label Encoding ile:
| Renk (Kodlanmış) |
|---|
| 0 |
| 1 |
| 0 |
| 2 |
One-Hot Encoding ile:
| Renk_Kırmızı | Renk_Mavi | Renk_Yeşil |
|---|---|---|
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 0 | 0 | 1 |
📚 Ders rehberi: Derin Öğrenme Nedir? Temel Kavramlar ve Uygulama Örnekleri
Özellik Mühendisliği (Feature Engineering)
Özellik mühendisliği, mevcut ham veriden yeni ve daha anlamlı özellikler oluşturma sanatıdır. Bu süreç, modelin öğrenme yeteneğini önemli ölçüde artırabilir çünkü modele, ham veride doğrudan bulunmayan ancak problem çözümü için kritik olan bilgileri sunar. Örneğin, bir satış veri setinde ‘satış tarihi’nden ‘haftanın günü’ veya ‘aylık ortalama satış’ gibi yeni özellikler türetilebilir.
- Boyut Azaltma (Dimensionality Reduction): Özellikle yüksek boyutlu veri setlerinde (çok fazla özellik içeren) modelin karmaşıklığını ve aşırı öğrenme (overfitting) riskini azaltmak için boyut azaltma teknikleri kullanılır. Temel Bileşen Analizi (PCA) en yaygın kullanılan yöntemlerden biridir. PCA, orijinal özelliklerin doğrusal kombinasyonlarından oluşan yeni, daha az sayıda özellik (bileşen) oluşturur ve bu bileşenler, orijinal verideki varyansın çoğunu korur.
| Özellik | Normalizasyon (Min-Max) | Standardizasyon (Z-Skor) |
|---|---|---|
| Amaç | Verileri belirli bir aralığa (genellikle 0-1) sıkıştırmak. | Verileri ortalama 0, standart sapma 1 olacak şekilde dönüştürmek. |
| Aykırı Değerlere Etkisi | Aykırı değerlerden büyük ölçüde etkilenir. | Aykırı değerlerden daha az etkilenir. |
| Kullanım Alanları | Sinir ağları, SVM, K-En Yakın Komşu (KNN) gibi mesafe tabanlı algoritmalar. | Lineer regresyon, lojistik regresyon, PCA gibi normal dağılım varsayan algoritmalar. |
| Formül | (X - X_min) / (X_max - X_min) | (X - μ) / σ |
Veri Seti Bölme ve Doğrulama: Modelin Gerçek Performansını Anlamak
Bir yapay zeka modelinin gerçek dünyadaki performansı hakkında bilgi edinmek için, veri setini farklı parçalara ayırmak ve bu parçaları farklı amaçlar için kullanmak esastır. Bu süreç, modelin öğrenme sürecini ve öğrendiklerini test etme yeteneğini sağlar.
- Eğitim Seti (Training Set): Modelin öğrenmesi için kullanılan en büyük veri parçasıdır. Algoritma, bu set üzerindeki örüntüleri ve ilişkileri analiz ederek kendini eğitir.
- Doğrulama Seti (Validation Set): Modelin performansını eğitim sırasında değerlendirmek ve hiperparametreleri ayarlamak için kullanılır. Bu set, modelin eğitim setinde öğrendiklerini ne kadar genelleştirebildiğini gösterir. Doğrulama seti, modelin aşırı öğrenmesini (overfitting) engellemeye yardımcı olur.
- Test Seti (Test Set): Modelin nihai performansını değerlendirmek için kullanılan, eğitim ve doğrulama süreçlerinde hiç görmediği bağımsız bir veri parçasıdır. Bu set üzerindeki performans, modelin gerçek dünya verileri üzerindeki başarısının en iyi göstergesidir.
Genel bir kural olarak, veri setinin %60-80’i eğitim için, %10-20’si doğrulama için ve %10-20’si test için ayrılır. Ancak bu oranlar projenin büyüklüğüne ve veri setinin hacmine göre değişebilir.
Çapraz Doğrulama (Cross-Validation)
Çapraz doğrulama, özellikle küçük veri setlerinde modelin genellenebilirliğini daha güvenilir bir şekilde değerlendirmek için kullanılan gelişmiş bir tekniktir. En yaygın türü olan K-Fold Çapraz Doğrulama’da, veri seti ‘k’ eşit parçaya bölünür. Her iterasyonda, ‘k-1’ parça eğitim için, kalan 1 parça ise doğrulama için kullanılır. Bu işlem ‘k’ kez tekrarlanır ve modelin ortalama performansı alınır. Bu yöntem, verinin tamamının hem eğitim hem de doğrulama için kullanılmasını sağlayarak modelin daha sağlam bir değerlendirmesini sunar.
- Yapay zeka modelleri için veri setlerinin neden bu kadar kritik bir öneme sahip olduğunu kendi cümlelerinizle açıklayın.
- Eksik verilerle başa çıkmak için hangi temel yöntemler kullanılır? Her bir yöntemin avantajlarını ve dezavantajlarını tartışın.
- Normalizasyon ve standardizasyon arasındaki temel farklar nelerdir ve hangi durumlarda hangi yöntem tercih edilmelidir? Bir örnekle açıklayın.
- Kategorik verileri sayısal formata dönüştürmek için kullanılan Label Encoding ve One-Hot Encoding tekniklerini karşılaştırın. Hangi durumda Label Encoding kullanımı riskli olabilir?
- Eğitim, doğrulama ve test setlerinin yapay zeka modelinin geliştirme sürecindeki rollerini açıklayın. Neden üç ayrı set kullanmak önemlidir?
- Veri Seti Temeli: Yapay zeka modellerinin başarısı, kaliteli veri setlerine dayanır.
- Veri Toplama: Mevcut kaynaklardan veya web kazıma gibi yöntemlerle veri elde edilebilir.
- Veri Temizleme: Eksik, gürültülü ve tekrarlanan veriler model performansını olumsuz etkiler, bu yüzden temizlenmeleri şarttır.
- Veri Dönüşümü: Sayısal (normalizasyon, standardizasyon) ve kategorik (one-hot encoding) veriler modeller için uygun hale getirilir.
- Özellik Mühendisliği: Mevcut veriden yeni ve daha anlamlı özellikler oluşturmak, model performansını artırır.
- Veri Bölme: Eğitim, doğrulama ve test setlerine ayırma, modelin genellenebilirliğini ve gerçek dünya performansını değerlendirmek için hayati öneme sahiptir.
Öğrendiklerinizi Pekiştirin: Yapay Zeka Yolculuğunuzda Bir Sonraki Adım
Yapay zeka ve makine öğrenimi alanında başarılı olmanın anahtarlarından biri, veri setlerinin nasıl oluşturulduğunu ve ön işlendiğini derinlemesine anlamaktır. Bu makalede ele aldığımız teknikler, yapay zeka projelerinizin temelini oluşturacak ve modellerinizin sağlam bir zemin üzerine inşa edilmesini sağlayacaktır. Unutmayın ki, ‘çöp içeri, çöp dışarı’ (garbage in, garbage out) prensibi veri bilimi için fazlasıyla geçerlidir. Kaliteli veriye harcanan her çaba, projenizin nihai başarısına doğrudan katkıda bulunur.
Bu bilgiler ışığında, şimdi farklı veri setleri üzerinde pratik yapmaya başlayabilirsiniz. Kaggle gibi platformlarda bulunan halka açık veri setlerini indirip, öğrendiğiniz ön işleme tekniklerini uygulayarak kendi yapay zeka modellerinizi geliştirmeye adım atın. Bu pratik deneyimler, teorik bilginizi pekiştirerek sizi yapay zeka dünyasında bir adım öne taşıyacaktır.


