Jump to content
Üyelik kaydınızı yaparak son yazılan içeriklerden haberdar olun! ×
  • entries
    7
  • comments
    0
  • views
    81,440

Eğitim Verileri (Training Data) ve Test Verileri (Testing Data) Seçimi


Doğuhan ELMA

203 views

Eğitim Verileri (Training Data):

Eğitim verileri, makine öğrenme modelinin eğitildiği ve öğrenme sürecinin gerçekleştiği veri kümesidir.

Bu veri kümesi, modelin görevini anlamasına ve verilerdeki desenleri tanımasına yardımcı olur.

Eğitim verileri, girdi verileri (özellikler) ile bu girdilere karşılık gelen hedef çıktılar (etiketler) içerir. Model, bu eğitim verilerini kullanarak etiketleri tahmin etmeyi öğrenir.

Eğitim verilerinin kalitesi, modelin performansını önemli ölçüde etkiler. Kaliteli, temsilci ve çeşitli eğitim verileri, daha iyi sonuçlar elde etmeye yardımcı olur.

627d12514852e122009eb71d_616b66004c27f02e81330769_data-training-needs-cover%20(1).png

Test Verileri (Testing Data):

Test verileri, eğitilen makine öğrenme modelinin performansını değerlendirmek ve genelleme yeteneğini test etmek için kullanılan veri kümesidir.

Bu veri kümesi, modelin daha önce görmediği verileri içerir ve bu nedenle modelin gerçek dünya verileri üzerinde nasıl çalıştığını gösterir.

Test verileri, ayrı bir veri kümesi olarak kullanılır ve model, bu verileri kullanarak tahminlerde bulunur. Ardından, tahminler gerçek etiketlerle karşılaştırılır ve modelin performansı hesaplanır.

Test verileri aynı zamanda modelin aşırı uydurmasını (overfitting) değerlendirmek için de kullanılır. Model, eğitim verilerine çok iyi uysa da, test verilerinde iyi bir performans sergilemediğinde aşırı uydurmanın belirtileri olabilir.

Eğitim verileri ve test verileri arasındaki bu ayrım, makine öğrenme modelinin eğitilmesi, değerlendirilmesi ve sonuçlarının güvenilir bir şekilde anlaşılması için önemlidir. Ayrıca, bu veri kümesi ayrımı, modelin gerçek dünya verileri üzerinde başarılı bir şekilde genelleme yapma yeteneğini gözlemlememizi sağlar. Eğitim ve test verilerinin dikkatli bir şekilde seçilmesi ve hazırlanması, makine öğrenme projelerinin başarılı bir şekilde tamamlanması için kritik bir adımdır.

 

Validation data (doğrulama verisi):

Makine öğrenme modelinin geliştirilmesi ve ayarlarının yapılması sırasında kullanılan veri kümesidir. Bu veri kümesi, modelin performansını ölçmek, hiperparametre ayarlaması yapmak ve aşırı uymayı kontrol etmek amacıyla kullanılır. Validation data, training data (eğitim verisi) ve test data (test verisi) ile birlikte, veri bilimi projelerinin önemli bir parçasıdır.

İşte validation data'nın önemi ve kullanımı:

Model Ayarlaması (Hyperparameter Tuning): Bir makine öğrenme modelinin hiperparametrelerini (örneğin, öğrenme hızı veya ağ yapısı) ayarlarken validation data kullanılır. Farklı hiperparametre kombinasyonlarını deneyerek modelin performansını doğrulama verisi üzerinde ölçeriz. Bu sayede modelin en iyi hiperparametreleri seçebiliriz.

Aşırı Uyum Kontrolü (Overfitting Control): Validation data, modelin aşırı uymasını (overfitting) kontrol etmek için kullanılır. Model eğitildiğinde, eğitim verisine mükemmel uyum sağlayabilir, ancak bu, gerçek dünya verilerine kötü genelleme yapmasına neden olabilir. Validation data, modelin aşırı uymadan kaçınmasına yardımcı olur.

Model Seçimi (Model Selection): Farklı makine öğrenme modellerini karşılaştırırken validation data kullanılır. Farklı modelleri eğitip validation data üzerinde performanslarını değerlendirerek en iyi modeli seçebiliriz.

Sonuçların Değerlendirilmesi: Validation data, modelin performansını nesnel bir şekilde değerlendirmemizi sağlar. Modelin eğitim verisine çok iyi uymasına rağmen validation data üzerinde düşük performans sergiliyorsa, bu bir uyarı işareti olabilir.

Validation data, genellikle eğitim verisi ile birlikte kullanılır ve test verisinden ayrılır. Bu üç veri kümesi (eğitim, validation ve test) model geliştirme sürecinin farklı aşamalarında kullanılır ve modelin başarısını ölçmek ve iyileştirmek için önemlidir. Validation data'nın kullanılması, modelin güvenilir ve etkili bir şekilde çalışmasına yardımcı olur.

 

Training data (eğitim verileri) seçimi, bir makine öğrenme projesinin başarısı için son derece kritik bir adımdır. Veri kümesinin kalitesi, temsiliyeti ve çeşitliliği, modelin performansını doğrudan etkiler. İşte training data seçimi aşamaları ve yöntemleri:

Veri Toplama:

İlk adım, projenizin amacına uygun verileri toplamaktır. Bu veriler, modelinizin öğrenme süreci için kullanılacaktır.

Verileri çeşitli kaynaklardan toplamak, mevcut veritabanlarından, açık kaynak verilerden veya özel veri toplama süreçlerinden olabilir.

Veri Temizliği:

Verilerinizi temizlemek, anlamlı sonuçlar elde etmeniz için önemlidir. Bu aşamada şunları yapabilirsiniz:

Eksik veya bozuk verileri düzeltme veya doldurma.

Aykırı verileri tanımlama ve işleme.

Düşük kaliteli veya tekrarlayan verileri kaldırma.

Veri Keşfi ve Analizi:

Verileri daha iyi anlamak için keşif analizi yapın. Verilerin özelliklerini, dağılımını, korelasyonlarını ve desenlerini inceleyin.

Bu aşamada verilerinize daha fazla bilgi eklemek için özellik mühendisliği yapabilirsiniz.

Veri Bölümü:

Veri kümenizi eğitim ve test verileri olarak bölmek, modelin performansını değerlendirmek için önemlidir. Tipik olarak, verinin çoğu eğitim verilerinde kullanılırken, bir küçük kısmı test verileri olarak ayrılır.

Veri Dengeleme:

Sınıflandırma problemlerinde, farklı sınıflar arasında dengesizlik olabilir. Bu nedenle, sınıflar arasındaki dengesizliği ele almak için örnekleme teknikleri kullanabilirsiniz.

Çapraz Doğrulama:

Modelinizi değerlendirmek için çapraz doğrulama (cross-validation) kullanabilirsiniz. Bu, verileri rastgele alt veri kümelerine böler ve modeli her alt küme üzerinde eğitip test eder.

Daha Fazla Veri Toplama:

İhtiyaç duyulan durumlarda, daha fazla veri toplamak veya varolan veri kümesini genişletmek modelinizi daha güçlü hale getirebilir.

Veri Ölçeklendirme ve Normalizasyon:

Verileri aynı ölçek üzerinde tutmak, modelin performansını artırabilir. Özellikle sayısal verileri standartlaştırmak veya normalleştirmek yaygın bir uygulamadır.

Veri Gizliliği ve Güvenlik:

Veri mahremiyeti ve güvenliği, hassas verilerle çalışırken önemlidir. Bu tür verileri korumak ve gizliliğe dikkat etmek gereklidir.

Birlikte Eğitim (Ensemble Learning):

Farklı veri kaynaklarından gelen verileri birleştirerek daha güçlü bir model oluşturabilirsiniz.

Etik Veri Kullanımı:

Verilerinizi yasal ve etik bir şekilde kullanmak önemlidir. Veri kullanımıyla ilgili tüm yasal gereksinimlere uyun.

Bu aşamalar, veri bilimcilerin ve makine öğrenme mühendislerinin projelerinde başarılı sonuçlar elde etmelerine yardımcı olan temel stratejilerdir. Her aşama, modelinizin verilere daha iyi uyum sağlamasını ve gerçek dünya verileri üzerinde daha iyi performans göstermesini sağlar.

 

Örnek Kod:

Iris veri kümesi, popüler bir denetimli öğrenme veri kümesidir ve genellikle sınıflandırma problemleri için kullanılır. Bu örnekte, Iris veri kümesini yükleyip eğitim ve test verilerine bölmek için Python ve Scikit-Learn kullanarak bir örnek sunacağım.

Önce, Iris veri kümesini yüklememiz gerekiyor. Scikit-Learn, bu veri kümesini dahili olarak sunar:

from sklearn import datasets

# Iris veri kümesini yükle
iris = datasets.load_iris()
X = iris.data  # Özellikler
y = iris.target  # Etiketler

Şimdi, veriyi eğitim ve test verilerine bölmek için Scikit-Learn'in train_test_split fonksiyonunu kullanalım:

from sklearn.model_selection import train_test_split

# Veriyi %80 eğitim ve %20 test olarak bölelim
X_egitim, X_test, y_egitim, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Eğitim verisi özellikleri ve etiketleri
print("Eğitim Verisi Özellikleri:")
print(X_egitim)
print("Eğitim Verisi Etiketleri:")
print(y_egitim)

# Test verisi özellikleri ve etiketleri
print("Test Verisi Özellikleri:")
print(X_test)
print("Test Verisi Etiketleri:")
print(y_test)

Bu kod, Iris veri kümesini yükler, veriyi eğitim ve test verilerine böler ve her iki veri kümesini de özellikler ve etiketler olarak ayrı ayrı gösterir. test_size parametresi ile test verisinin yüzdesini belirleyebilirsiniz.

Iris veri kümesi, çiçeklerin dört farklı özelliğini (çiçek boyutları) içerir ve bu özellikler kullanılarak çiçeklerin üç farklı sınıfa (Iris setosa, Iris versicolor, Iris virginica) ait olup olmadığı tahmin edilmeye çalışılır. Bu bölünmüş veriler, sınıflandırma modelleri için eğitim ve test verileri olarak kullanılabilir.

Not:

random_state, veriyi rastgele bölerken veya başka bir rastgele işlem gerçekleştirirken tekrarlanabilirliği sağlamak için kullanılan bir parametredir. Bu parametre, bir rastgele sayı üreteciye başlangıç bir tohum (seed) değeri sağlar. Başlangıç tohumu belirlediğinizde, her zaman aynı tohumu kullanarak aynı rastgele sonuçları elde edebilirsiniz.

Bu, özellikle makine öğrenme projelerinde kullanışlıdır çünkü aynı veri kümesini aynı şekilde bölmek veya modeli aynı başlangıçla eğitmek, sonuçların karşılaştırılabilirliğini ve tekrarlanabilirliği sağlar. Başlangıç tohumunun aynı olması, kodu farklı zamanlarda çalıştırırken veya başkalarıyla paylaşırken aynı sonuçları elde etmenizi sağlar.

Örneğin, yukarıdaki Iris veri kümesini bölerken random_state parametresini kullanarak şu şekilde bir kod kullanabilirsiniz:

X_egitim, X_test, y_egitim, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

random_state=42 burada başlangıç tohumunu temsil eder. Eğer aynı random_state değerini kullanırsanız, her zaman aynı veri bölümünü elde edersiniz. Ancak, farklı bir random_state değeri kullanırsanız, verinin farklı rastgele bölümlerini elde edersiniz.

Bu, modelinizi tekrar tekrar eğitmek ve test etmek, sonuçları paylaşmak veya başkalarının çalışmasını doğrulamak için önemlidir.

 

Çıktı:

Eğitim Verisi Özellikleri:
[[4.6 3.6 1.  0.2]
 [5.7 4.4 1.5 0.4]
 [6.7 3.1 4.4 1.4]
 [4.8 3.4 1.6 0.2]
 [4.4 3.2 1.3 0.2]
 [6.3 2.5 5.  1.9]
 [6.4 3.2 4.5 1.5]
 [5.2 3.5 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.2 4.1 1.5 0.1]
 [5.8 2.7 5.1 1.9]
 [6.  3.4 4.5 1.6]
 [6.7 3.1 4.7 1.5]
 [5.4 3.9 1.3 0.4]
 [5.4 3.7 1.5 0.2]
 [5.5 2.4 3.7 1. ]
 [6.3 2.8 5.1 1.5]
 [6.4 3.1 5.5 1.8]
 [6.6 3.  4.4 1.4]
 [7.2 3.6 6.1 2.5]
 [5.7 2.9 4.2 1.3]
 [7.6 3.  6.6 2.1]
 [5.6 3.  4.5 1.5]
 [5.1 3.5 1.4 0.2]
 [7.7 2.8 6.7 2. ]
 [5.8 2.7 4.1 1. ]
 [5.2 3.4 1.4 0.2]
 [5.  3.5 1.3 0.3]
 [5.1 3.8 1.9 0.4]
 [5.  2.  3.5 1. ]
 [6.3 2.7 4.9 1.8]
 [4.8 3.4 1.9 0.2]
 [5.  3.  1.6 0.2]
 [5.1 3.3 1.7 0.5]
 [5.6 2.7 4.2 1.3]
 [5.1 3.4 1.5 0.2]
 [5.7 3.  4.2 1.2]
 [7.7 3.8 6.7 2.2]
 [4.6 3.2 1.4 0.2]
 [6.2 2.9 4.3 1.3]
 [5.7 2.5 5.  2. ]
 [5.5 4.2 1.4 0.2]
 [6.  3.  4.8 1.8]
 [5.8 2.7 5.1 1.9]
 [6.  2.2 4.  1. ]
 [5.4 3.  4.5 1.5]
 [6.2 3.4 5.4 2.3]
 [5.5 2.3 4.  1.3]
 [5.4 3.9 1.7 0.4]
 [5.  2.3 3.3 1. ]
 [6.4 2.7 5.3 1.9]
 [5.  3.3 1.4 0.2]
 [5.  3.2 1.2 0.2]
 [5.5 2.4 3.8 1.1]
 [6.7 3.  5.  1.7]
 [4.9 3.1 1.5 0.2]
 [5.8 2.8 5.1 2.4]
 [5.  3.4 1.5 0.2]
 [5.  3.5 1.6 0.6]
 [5.9 3.2 4.8 1.8]
 [5.1 2.5 3.  1.1]
 [6.9 3.2 5.7 2.3]
 [6.  2.7 5.1 1.6]
 [6.1 2.6 5.6 1.4]
 [7.7 3.  6.1 2.3]
 [5.5 2.5 4.  1.3]
 [4.4 2.9 1.4 0.2]
 [4.3 3.  1.1 0.1]
 [6.  2.2 5.  1.5]
 [7.2 3.2 6.  1.8]
 [4.6 3.1 1.5 0.2]
 [5.1 3.5 1.4 0.3]
 [4.4 3.  1.3 0.2]
 [6.3 2.5 4.9 1.5]
 [6.3 3.4 5.6 2.4]
 [4.6 3.4 1.4 0.3]
 [6.8 3.  5.5 2.1]
 [6.3 3.3 6.  2.5]
 [4.7 3.2 1.3 0.2]
 [6.1 2.9 4.7 1.4]
 [6.5 2.8 4.6 1.5]
 [6.2 2.8 4.8 1.8]
 [7.  3.2 4.7 1.4]
 [6.4 3.2 5.3 2.3]
 [5.1 3.8 1.6 0.2]
 [6.9 3.1 5.4 2.1]
 [5.9 3.  4.2 1.5]
 [6.5 3.  5.2 2. ]
 [5.7 2.6 3.5 1. ]
 [5.2 2.7 3.9 1.4]
 [6.1 3.  4.6 1.4]
 [4.5 2.3 1.3 0.3]
 [6.6 2.9 4.6 1.3]
 [5.5 2.6 4.4 1.2]
 [5.3 3.7 1.5 0.2]
 [5.6 3.  4.1 1.3]
 [7.3 2.9 6.3 1.8]
 [6.7 3.3 5.7 2.1]
 [5.1 3.7 1.5 0.4]
 [4.9 2.4 3.3 1. ]
 [6.7 3.3 5.7 2.5]
 [7.2 3.  5.8 1.6]
 [4.9 3.6 1.4 0.1]
 [6.7 3.1 5.6 2.4]
 [4.9 3.  1.4 0.2]
 [6.9 3.1 4.9 1.5]
 [7.4 2.8 6.1 1.9]
 [6.3 2.9 5.6 1.8]
 [5.7 2.8 4.1 1.3]
 [6.5 3.  5.5 1.8]
 [6.3 2.3 4.4 1.3]
 [6.4 2.9 4.3 1.3]
 [5.6 2.8 4.9 2. ]
 [5.9 3.  5.1 1.8]
 [5.4 3.4 1.7 0.2]
 [6.1 2.8 4.  1.3]
 [4.9 2.5 4.5 1.7]
 [5.8 4.  1.2 0.2]
 [5.8 2.6 4.  1.2]
 [7.1 3.  5.9 2.1]]
Eğitim Verisi Etiketleri:
[0 0 1 0 0 2 1 0 0 0 2 1 1 0 0 1 2 2 1 2 1 2 1 0 2 1 0 0 0 1 2 0 0 0 1 0 1
 2 0 1 2 0 2 2 1 1 2 1 0 1 2 0 0 1 1 0 2 0 0 1 1 2 1 2 2 1 0 0 2 2 0 0 0 1
 2 0 2 2 0 1 1 2 1 2 0 2 1 2 1 1 1 0 1 1 0 1 2 2 0 1 2 2 0 2 0 1 2 2 1 2 1
 1 2 2 0 1 2 0 1 2]
Test Verisi Özellikleri:
[[6.1 2.8 4.7 1.2]
 [5.7 3.8 1.7 0.3]
 [7.7 2.6 6.9 2.3]
 [6.  2.9 4.5 1.5]
 [6.8 2.8 4.8 1.4]
 [5.4 3.4 1.5 0.4]
 [5.6 2.9 3.6 1.3]
 [6.9 3.1 5.1 2.3]
 [6.2 2.2 4.5 1.5]
 [5.8 2.7 3.9 1.2]
 [6.5 3.2 5.1 2. ]
 [4.8 3.  1.4 0.1]
 [5.5 3.5 1.3 0.2]
 [4.9 3.1 1.5 0.1]
 [5.1 3.8 1.5 0.3]
 [6.3 3.3 4.7 1.6]
 [6.5 3.  5.8 2.2]
 [5.6 2.5 3.9 1.1]
 [5.7 2.8 4.5 1.3]
 [6.4 2.8 5.6 2.2]
 [4.7 3.2 1.6 0.2]
 [6.1 3.  4.9 1.8]
 [5.  3.4 1.6 0.4]
 [6.4 2.8 5.6 2.1]
 [7.9 3.8 6.4 2. ]
 [6.7 3.  5.2 2.3]
 [6.7 2.5 5.8 1.8]
 [6.8 3.2 5.9 2.3]
 [4.8 3.  1.4 0.3]
 [4.8 3.1 1.6 0.2]]
Test Verisi Etiketleri:
[1 0 2 1 1 0 1 2 1 1 2 0 0 0 0 1 2 1 1 2 0 2 0 2 2 2 2 2 0 0]

 

61fbec562cf81f62a255f192_61eeb99a54a67e18ce19d47c_0_nyBFE8lLgr8ePAJ_ (1).jpeg

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...