Yapay Zeka ve Makine Öğrenimi

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.

🎯 Bu Derste Öğrenecekleriniz
  • 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.
📌 Bu Konuda Bilmeniz Gerekenler
  • 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.
💡 İpucu: Yapay zeka modelinizi bir öğrenci gibi düşünün. Veri seti, öğrencinin ders kitabıdır. Ders kitabı ne kadar kaliteli, düzenli ve eksiksiz olursa, öğrenci de konuyu o kadar iyi anlar ve sınavlarda (gerçek dünya problemlerinde) başarılı olur.
📖 Örnek: Basit Bir Veri Seti

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.

  • 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.
⚠️ Dikkat: Veri toplarken her zaman veri gizliliği, telif hakları ve yasal düzenlemeleri göz önünde bulundurun. Özellikle kişisel verilerle çalışırken GDPR, KVKK gibi yasalara uyum sağlamak zorunludur. Etik olmayan veya yasa dışı yollarla toplanan veriler, projenizin tamamını tehlikeye atabilir.

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.
  • Gürültülü Veri Yönetimi (Noisy Data Handling): Gürültülü veri, verideki rastgele hataları veya varyansları ifade eder. Aykırı değerler (outliers) bu kategoriye girer.
    • 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.
  • Tekrarlanan Veri Silme (Duplicate Data Removal): Veri setinde aynı örneğe ait birden fazla kaydın bulunmasıdır. Bu durum, modelin aynı bilgiyi tekrar tekrar öğrenmesine ve yanlı olmasına neden olabilir. Tekrarlanan kayıtların tespit edilip silinmesi gereklidir.
  • ℹ️ Bilgi: Veri temizleme adımları, projenizin doğasına ve veri setinizin özelliklerine göre değişiklik gösterebilir. Tek bir ‘en iyi’ yöntem yoktur; genellikle farklı yaklaşımların denenmesi ve sonuçlarının karşılaştırılması gerekir.

    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.
    📖 Örnek: Kategorik Veri Kodlama

    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_MaviRenk_Yeşil
    100
    010
    100
    001

    Ö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.
    Normalizasyon ve Standardizasyon Karşılaştırması
    ÖzellikNormalizasyon (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 EtkisiAykı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.

    ✏️ Kendinizi Test Edin
    1. Yapay zeka modelleri için veri setlerinin neden bu kadar kritik bir öneme sahip olduğunu kendi cümlelerinizle açıklayın.
    2. 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.
    3. Normalizasyon ve standardizasyon arasındaki temel farklar nelerdir ve hangi durumlarda hangi yöntem tercih edilmelidir? Bir örnekle açıklayın.
    4. 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?
    5. Eğitim, doğrulama ve test setlerinin yapay zeka modelinin geliştirme sürecindeki rollerini açıklayın. Neden üç ayrı set kullanmak önemlidir?
    📝 Konu Özeti
    • 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.

    Deniz Karay

    DersMerkezi.net.tr’nin yazarı, eğitim alanında yıllara dayanan deneyime sahip bir uzmandır ve öğrencilerin öğrenme sürecini desteklemeyi hedefler. Matematik, fen bilimleri, tarih, dil ve edebiyat başta olmak üzere birçok ders alanında içerik üretir ve konuları sade, anlaşılır ve adım adım rehberler halinde sunar.

    İlgili Makaleler

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Başa dön tuşu