Veri Madenciliğinde Veri Ön İşleme: Adımlar, Eksik Değer Tahmini, Veri Standardizasyonu

Yayınlanan: 2020-12-30

Bir Veri Bilimcisinin işinin en çok zaman alan kısmı, eldeki verileri hazırlamak ve ön işleme tabi tutmaktır. Gerçek hayat senaryolarında elde ettiğimiz veriler temiz ve modellemeye uygun değildir. Verilerin Machine Learning modellerine beslenmeden önce temizlenmesi, belirli bir formata getirilmesi ve dönüştürülmesi gerekir.

Bu eğitimin sonunda, aşağıdakileri bileceksiniz

  • Neden Veri Ön İşleme
  • Veri temizleme
  • Eksik değer yüklemesi
  • Veri standardizasyonu
  • Ayrıştırma

İçindekiler

Neden Veri Ön İşleme?

Veriler, web siteleri hurdaya çıkarılarak ve diğer veri kaynaklarından toplanarak alındığında, genellikle tutarsızlıklarla doludur. Biçimlendirme sorunları, eksik değerler, çöp değerler ve metin ve hatta verilerdeki hatalar olabilir. Modelin öğrenebilmesi ve üzerinde genelleme yapabilmesi için modele beslenen verilerin işarete kadar olduğundan emin olmak için birkaç ön işleme adımının yapılması gerekir.

Veri temizleme

İlk ve en önemli adım, verilerdeki düzensizlikleri temizlemektir. Bu adımı yapmadan, verilerin istatistiklerinden pek bir anlam çıkaramayız. Bunlar, biçimlendirme sorunları, çöp değerleri ve aykırı değerler olabilir.

biçimlendirme sorunları

Verilerin çoğu zaman tablo biçiminde olmasına ihtiyacımız var ama öyle değil. Verilerde eksik veya yanlış sütun adları, boş sütunlar olabilir. Ayrıca, Görüntüler ve Metin gibi yapılandırılmamış verilerle uğraşırken, modelleme için Veri Çerçevelerine 2B veya 3B verilerin yüklenmesi son derece önemli hale gelir.

Çöp Değerleri

Birçok örnek veya tam sütun, gerçek gerekli değere eklenmiş belirli çöp değerlere sahip olabilir. Örneğin, "#1", "#3", "#12", "#2" vb. değerlere sahip bir "rank" sütunu düşünün. Şimdi, önceki tüm "#" işaretlerini kaldırmak önemlidir. sayısal değeri modele besleyebilmek için karakterler.

aykırı değerler

Çoğu zaman belirli sayısal değerler, belirli sütunun ortalama değerinden ya çok büyüktür ya da çok düşüktür. Bunlar aykırı değer olarak kabul edilir. Aykırı değerler özel işleme ihtiyaç duyar ve tedavi edilmesi hassas bir faktördür. Bu aykırı değerler ölçüm hataları olabileceği gibi gerçek değerler de olabilir. Çok sayıda önemli bilgi içerebileceklerinden ya tamamen kaldırılmaları ya da ayrı olarak ele alınmaları gerekir.

Kayıp değerler

Verilerinizin her örnek için tüm değerleri içermesi nadiren olur. Birçok değer eksik veya çöp girişiyle dolu. Bu eksik değerler tedavi edilmelidir. Bu değerlerin eksik olmalarının birden çok nedeni olabilir. Sensör hatası veya diğer faktörler gibi bir nedenden dolayı eksik olabilirler veya rastgele tamamen eksik olabilirler.

Okuyun: Hindistan'da Veri Madenciliği Projeleri

düşürme

En basit ve en kolay yol, değerlerin eksik olduğu satırları bırakmaktır. Bunu yapmanın önemli bilgilerin kaybı gibi birçok dezavantajı vardır. Sahip olduğunuz veri miktarı çok fazla olduğunda eksik değerleri bırakmak iyi bir adım olabilir. Ancak veriler daha azsa ve çok sayıda eksik değer varsa, bu sorunu çözmek için daha iyi yollara ihtiyacınız var.

Ortalama/Medyan/Mod tahmini

Eksik değerleri atamanın en hızlı yolu, basitçe sütunun ortalama değerini uygulamaktır. Ancak verilerin orijinal dağılımını bozduğu için dezavantajları vardır. Ayrıca medyan değeri veya genellikle basit ortalamadan daha iyi olan mod değerini de ekleyebilirsiniz.

Doğrusal enterpolasyon ve KNN

Eksik değerleri hesaplamak için daha akıllı yollar da kullanılabilir. Bunlardan 2'si, sütunu boş değerlerle tahmin edilecek özellik olarak ele alarak birden fazla model kullanan Doğrusal İnterpolasyonlardır. Başka bir yol da KNN ile kümelemeyi kullanmaktır. KNN, belirli bir özellikteki değerlerin kümelerini oluşturur ve ardından kümeye en yakın değeri atar.

Veri Standardizasyonu

Birden çok sayısal özelliğe sahip bir veri setinde, tüm özellikler aynı ölçekte olmayabilir. Örneğin, bir “Mesafe” özelliği 1300, 800, 560 vb. gibi metre cinsinden mesafelere sahiptir. Diğer bir “zaman” özelliği ise 1, 2.5, 3.2, 0.8 vb. gibi saatlere sahiptir. Yani, bu iki özellik ne zaman modele beslenirse, değerleri büyük olduğu için mesafeleri olan özelliği daha fazla ağırlık olarak dikkate alır. Bu senaryodan kaçınmak ve daha hızlı yakınsama sağlamak için tüm özellikleri aynı ölçekte getirmek gerekir.

normalleştirme

Özellikleri ölçeklendirmenin yaygın bir yolu, onları normalleştirmektir. Scikit-learn's Normalizer kullanılarak uygulanabilir. Sütunlarda değil , satırlarda çalışır. Ölçeklendirmeden sonra bir satırdaki değerlerin bir birim normu olması için her gözleme L2 normalizasyonu uygulanır.

Min Maks Ölçeklendirme

Min Max ölçeklendirme, Scikit-learn'in Min MaxScaler sınıfı kullanılarak uygulanabilir. Özelliklerin minimum değerini çıkarır ve ardından aralığa böler; burada aralık, orijinal maksimum ve orijinal minimum arasındaki farktır. 0-1 varsayılan aralığı ile orijinal dağıtımın şeklini korur.

Standart Ölçeklendirme

Standard Scaler, Scikit-learn'in sınıfı kullanılarak da uygulanabilir. Bir özelliği, ortalamayı çıkararak ve ardından birim varyansa ölçeklendirerek standartlaştırır; burada birim varyans, tüm değerleri standart sapmaya bölmek anlamına gelir. 0 dağılımının ortalamasını ve standart sapmayı 1 yapar.

Ayrıştırma

Çoğu zaman veriler kategorik form yerine sayısal formda değildir. Örneğin, "Yüksek", "Düşük", "Orta" değerlerine sahip bir "sıcaklık" özelliğini düşünün. Modelin üzerinde çalışabilmesi için bu metinsel değerlerin sayısal biçimde kodlanması gerekir.

Kategorik Veriler

Kategorik Veriler, sayısal biçimde getirmek için kodlanmış etiketlerdir. Böylece “Yüksek”, “Orta” ve “Düşük” 3,2 ve 1'e Etiket Kodlanabilir. Kategorik özellikler nominal veya sıralı olabilir. Sıralı kategorik özellikler, belirli bir sıraya sahip olanlardır. Örneğin yukarıdaki durumda sıcaklıklar ölçülebildiği/nicelleştirilebildiği için 3>2>1 diyebiliriz.

Ancak “City”nin “Delhi”, “Jammu” ve “Agra” gibi değerleri olan bir özelliğinin ölçülemediği bir örnekte. Yani onları 3, 2, 1 olarak etiketlediğimizde 3>2>1 diyemeyiz çünkü “Delhi” > “Jammu” pek bir anlam ifade etmeyecektir. Bu gibi durumlarda One Hot Encoding kullanıyoruz.

Sürekli Veri

Sürekli değerlere sahip özellikler, değerleri belirli aralıkların bölmelerine bölmek suretiyle de ayrıklaştırılabilir. Binning, sayısal veya sürekli bir özelliği, sürekli değerlerin aralıklarına dayalı olarak ayrı bir değerler kümesine dönüştürmek anlamına gelir. Bu, veri noktasının hangi aralığa düştüğüne bağlı olarak eğilimleri görmek istediğinizde kullanışlı olur.

Örneğin, 0-100 arasında değişen 7 çocuk için puanımız olduğunu varsayalım. Artık her çocuğun işaretlerini belirli bir “kutuya” atayabiliriz. Şimdi sırasıyla 1, 2 ve 3 numaralı kutulara ait 0 ila 50, 51-70 ve 71-100 aralığında 3 kutuya bölebiliriz. Bu nedenle, özellik artık bu 3 değerden yalnızca birini içerecektir. Pandalar, hızlı bir şekilde gruplama elde etmek için 2 işlev sunar: qcut ve cut.

Pandas qcut niceliklerin sayısını alır ve veri dağıtımını temel alarak veri noktalarını her bir kutuya böler.

Pandas cut ise tarafımızca tanımlanan özel aralıkları alır ve bu aralıklardaki veri noktalarını böler.

İlgili okuma: Makine Öğreniminde Veri Ön İşleme

Dünyanın en iyi Üniversitelerinden veri bilimi derslerini öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Veri Ön İşleme, herhangi bir Veri Madenciliği ve Makine Öğrenimi görevinde önemli bir adımdır. Tartıştığımız tüm adımlar kesinlikle hepsi değil, sürecin temel bölümünün çoğunu kapsıyor. Veri ön işleme teknikleri, NLP ve Görüntü verileri için de farklıdır. Yukarıdaki adımların örneklerini denediğinizden ve Veri Madenciliği hattınızda uyguladığınızdan emin olun.

Veri bilimi hakkında bilgi edinmek istiyorsanız, çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk sunan IIIT-B & upGrad'ın Veri Biliminde PG Diplomasına göz atın, 1- endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

Veri ön işleme nedir ve önemi nedir?

Bu, resimler, metinler, videolar biçimindeki ham yapılandırılmamış verileri sağlamak için bir tekniktir. Bu veriler, daha sonra analiz edilebilmesi için tutarsızlıkları, hataları ve fazlalıkları gidermek için önce ön işleme tabi tutulur.

Ham veriler, makinelerin anlayabileceği ilgili verilere dönüştürülür. Verilerin ön işlenmesi, verileri modelleme için dönüştürmek için önemli bir adımdır. İşlenmeden pratik olarak işe yaramaz.

Veri ön işlemede yer alan adımlar nelerdir?

Veri ön işleme, tüm süreci tamamlamak için çeşitli adımları içerir. Veriler önce gürültüleri gidermek ve eksik değerleri doldurmak için temizlenir. Bundan sonra, veriler tek bir veri kümesinde birleştirmek için birden çok kaynaktan entegre edilir. Bu adımları daha sonra dönüşüm, indirgeme ve ayrıklaştırma takip eder.

Ham verilerin dönüştürülmesi, verilerin normalleştirilmesini içerir. İndirgeme ve ayrıklaştırma temel olarak verilerin niteliklerini ve boyutlarını azaltmakla ilgilenir. Bunu, bu büyük veri kümesinin sıkıştırılması izler.

Tek değişkenli ve çok değişkenli yöntemler arasındaki fark nedir?

Tek değişkenli yöntem, bir aykırı değeri işlemenin en basit yöntemidir. Tek bir değişken olduğu için herhangi bir ilişkiyi gözden geçirmez ve asıl amacı verileri analiz etmek ve onunla ilişkili örüntüyü belirlemektir. Ortalama, medyan ve mod, tek değişkenli verilerde bulunan model örnekleridir.

Öte yandan, çok değişkenli yöntem, üç veya daha fazla değişkeni analiz etmek içindir. Tek değişkenli yöntemin aksine, çok değişkenli yöntem ilişkiler ve kalıplarla ilgilendiğinden, önceki yöntemden daha kesindir. Toplama Ağacı, Kanonik Korelasyon Analizi ve Küme Analizi, çok değişkenli analiz gerçekleştirmenin yollarından bazılarıdır.