Veri kümeleri: Veri özellikleri

Veri kümesi, örneklerden oluşan bir koleksiyondur.

Birçok veri kümesi, verileri tablolarda (ızgaralar) depolar. Örneğin, virgülle ayrılmış değerler (CSV) olarak veya doğrudan e-tablolardan ya da veritabanı tablolarından. Tablolar, makine öğrenimi modelleri için sezgisel bir giriş biçimidir. Tablonun her satırını bir örnek, her sütunu ise potansiyel bir özellik veya etiket olarak düşünebilirsiniz. Bununla birlikte, günlük dosyaları ve protokol arabellekleri gibi diğer biçimlerden de veri kümeleri oluşturulabilir.

Biçim ne olursa olsun makine öğrenimi modelinizin performansı, eğitildiği verilere bağlıdır. Bu bölümde temel veri özellikleri incelenmektedir.

Veri türleri

Veri kümeleri aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere birçok veri türü içerebilir:

  • Ayrı bir birimde ele alınan sayısal veriler
  • Ayrı bir birimde kapsanan kategorik veriler
  • Tek kelimeler ve cümleler de dahil olmak üzere insan dili, metin dokümanlarının tamamına kadar
  • multimedya (ör. resimler, videolar ve ses dosyaları)
  • diğer makine öğrenimi sistemlerinin çıktıları
  • yerleştirme vektörleri (daha sonraki bir birimde ele alınacaktır)

Veri miktarı

Kabaca bir kural olarak, modeliniz eğitilebilir parametrelerden en az bir kat daha fazla (veya iki kat) örnekle eğitilmelidir. Ancak iyi modeller genellikle bundan çok daha fazla örnekle eğitilir.

Az sayıda özellik içeren büyük veri kümeleriyle eğitilen modeller, genellikle çok sayıda özellik içeren küçük veri kümeleriyle eğitilen modellerden daha iyi performans gösterir. Google, geçmişte büyük veri kümelerinde basit modelleri eğitme konusunda büyük başarılar elde etmiştir.

Farklı makine öğrenimi programları için farklı veri kümeleri, yararlı bir model oluşturmak amacıyla çok farklı miktarlarda örnek gerektirebilir. Nispeten basit bazı sorunlar için birkaç düzine örnek yeterli olabilir. Diğer sorunlar için bir trilyon örnek bile yeterli olmayabilir.

Aynı şemadan büyük miktarda veri üzerinde eğitilmiş mevcut bir modeli uyarlıyorsanız küçük bir veri kümesinden iyi sonuçlar elde edebilirsiniz.

Verilerin kalitesi ve güvenilirliği

Herkes düşük kalite yerine yüksek kaliteyi tercih eder ancak kalite o kadar belirsiz bir kavramdır ki birçok farklı şekilde tanımlanabilir. Bu kursta kalite, gerçekçi bir şekilde tanımlanır:

Yüksek kaliteli bir veri kümesi, modelinizin hedefine ulaşmasına yardımcı olur. Düşük kaliteli bir veri kümesi, modelinizin hedefine ulaşmasını engeller.

Yüksek kaliteli veri kümeleri genellikle güvenilirdir. Güvenilirlik, verilerinize ne kadar güvenebileceğinizi ifade eder. Güvenilir bir veri kümesinde eğitilmiş bir modelin, güvenilir olmayan verilerle eğitilmiş bir modele kıyasla yararlı tahminler verme olasılığı daha yüksektir.

Güvenilirliği ölçerken aşağıdakileri belirlemeniz gerekir:

  • Etiket hataları ne sıklıkta görülür? Örneğin, verileriniz gerçek kişiler tarafından etiketlendiyse gerçek kişi puanlayıcılarınız ne sıklıkla hata yaptı?
  • Özellikleriniz gürültülü mu? Yani, özelliklerinizdeki değerler hata içeriyor mu? Gerçekçi olun. Veri kümenizdeki tüm gürültüleri temizleyemezsiniz. Bazı dalgalanmalar normaldir. Örneğin, herhangi bir konumun GPS ölçümleri haftadan haftaya her zaman biraz dalgalanır.
  • Veriler, sorununuzla ilgili olarak doğru şekilde filtrelendi mi? Örneğin, veri kümeniz botlardan gelen arama sorgularını içermeli mi? Spam algılama sistemi geliştiriyorsanız muhtemelen cevabınız evet olacaktır. Ancak arama sonuçlarını kullanıcılar için iyileştirmeye çalışıyorsanız bu doğru değildir.

Veri kümelerinde güvenilir olmayan verilerin yaygın nedenleri şunlardır:

  • Atlanan değerler. Örneğin, bir kullanıcı bir evin yaşı için değer girmeyi unutur.
  • Yinelenen örnekler. Örneğin, bir sunucu yanlışlıkla aynı günlük girişlerini iki kez yükledi.
  • Kötü özellik değerleri. Örneğin, birisi fazladan bir basamak yazdıysa veya bir termometre güneşte bırakıldıysa.
  • Kötü etiketler. Örneğin, bir kullanıcı meşe ağacının resmini yanlışlıkla akçaağaç ağacı olarak etiketledi.
  • Hatalı veri bölümleri. Örneğin, belirli bir özellik, ağın sürekli kilitlendiği o gün hariç çok güvenilirdir.

Güvenilir olmayan verileri işaretlemek için otomasyonu kullanmanızı öneririz. Örneğin, harici bir resmi veri şemasını tanımlayan veya kullanan birim testleri, tanımlanan aralığın dışında kalan değerleri işaretleyebilir.

Tam ve eksik örnekler

İdeal bir durumda her örnek tam olmalıdır. Yani her örnek, her özellik için bir değer içermelidir.

Şekil 1. Beş özelliğinin tümünün değerlerini içeren bir örnek.
Şekil 1. Eksiksiz bir örnek.

 

Gerçek dünyadaki örnekler maalesef genellikle eksiktir. Yani en az bir özellik değeri eksiktir.

Şekil 2. Beş özelliğinden dördünün değerlerini içeren bir örnek. Bir özellik eksik olarak işaretlendi.
Şekil 2. Eksik bir örnek.

 

Modeli eksik örneklerle eğitmeyin. Bunun yerine, aşağıdakilerden birini yaparak eksik örnekleri düzeltin veya kaldırın:

  • Tamamlanmamış örnekleri silin.
  • Eksik değerleri Impute. Yani eksik değerler için mantıklı tahminler sağlayarak eksik örneği eksiksiz bir örneğe dönüştürün.
Şekil 3. İkisi eksik olmak üzere üç örnek içeren bir veri kümesi. Birisi, veri kümesinden bu iki eksik örneği sildi.
Şekil 3. Eksik örnekleri veri kümesinden silme.

 

Şekil 4. İkisi eksik veri içeren üç örnek içeren bir veri kümesi. Bir öğe (insan veya tamamlama yazılımı), eksik verilerin yerini alan değerler girmiştir.
Şekil 4. Eksik örnekler için eksik değerleri tahmin etme.

 

Veri kümesi, yararlı bir model eğitmek için yeterli sayıda eksiksiz örnek içeriyorsa eksik örnekleri silebilirsiniz. Benzer şekilde, yalnızca bir özellikte önemli miktarda veri eksikse ve bu özellik muhtemelen modele fazla yardımcı olamıyorsa bu özelliği model girişlerinden silebilir ve kaldırılmasıyla ne kadar kalite kaybı yaşandığını görebilirsiniz. Model bu olmadan da aynı veya neredeyse aynı şekilde çalışıyorsa bu harika bir durumdur. Buna karşılık, yararlı bir model eğitmek için yeterli sayıda tam örnek yoksa eksik değerleri doldurmayı düşünebilirsiniz.

Gereksiz veya yinelenen örnekleri silebilirsiniz ancak önemli örnekleri silmeniz önerilmez. Maalesef faydalı ve faydasız örnekleri birbirinden ayırt etmek zor olabilir. Silme veya doldurma arasında karar veremiyorsanız eksik örnekleri silerek oluşturulan bir veri kümesi ve doldurma işlemiyle oluşturulan bir veri kümesi oluşturabilirsiniz. Ardından, hangi veri kümesinin daha iyi bir model eğittiğini belirleyin.


Yaygın bir algoritma, doldurulan değer olarak ortalama veya ortanca değerin kullanılmasıdır. Sonuç olarak, sayısal bir özelliği Z puanlarıyla temsil ettiğinizde, doldurulan değer genellikle 0 olur (çünkü 0 genellikle ortalama Z puanıdır).

Alıştırma: Anladığınızdan emin olun

Aşağıda, Timestamp değerine göre sıralanmış bir veri kümesinin iki sütunu gösterilmektedir.

Zaman damgası Sıcaklık
8 Haziran 2023 09:00 12
8 Haziran 2023 10:00 18
8 Haziran 2023 11:00 eksik
8 Haziran 2023 12:00 24
8 Haziran 2023 13:00 38

Sıcaklık değerinin eksik olması durumunda aşağıdakilerden hangisi makul bir değer olur?

23
Muhtemelen. 23, bitişik değerlerin (12, 18, 24 ve 38) ortalamasıdır. Ancak veri kümesinin geri kalanını göremiyoruz. Bu nedenle, 23 değerinin diğer günlerdeki 11:00 için bir aykırı değer olması mümkündür.
31
Muhtemel değildir. Veri kümesinin görebildiğimiz sınırlı kısmı, 11:00 Sıcaklık için 31 değerinin çok yüksek olduğunu gösteriyor. Ancak, tamamlamayı daha fazla sayıda örneğe dayandırmadan emin olamayız.
51
Çok düşük bir ihtimal. 51, görüntülenen değerlerden çok daha yüksektir (ve dolayısıyla ortalamadan çok daha yüksektir).