R: Ultimate Eğitiminde [2022] Veri Ön İşleme
Yayınlanan: 2021-03-01Aşağıdaki R eğitimindeki veri ön işlememizde, veri ön işlemenin nasıl gerçekleştirileceğinin temellerini öğreneceksiniz. Bu eğitim, R ve programlamanın temellerine aşina olmanızı gerektirir:
İçindekiler
1. Adım: Sorunları Bulma ve Düzeltme
Önce veri setini içe aktararak, R eğitiminde veri ön işlememize başlayacağız. Sonuçta, ilk etapta verilere sahip değilseniz, verileri önceden işleyemezsiniz.
Bizim durumumuzda veriler, çalışma dizinindeki data.csv dosyasında saklanır. setwd(“istenen konum”) komutunu kullanabilir ve çalışma dizinini ayarlayabilirsiniz.
İşlemi şu şekilde başlatacaksınız:
veri kümesi <- read.csv(“Data.csv”)
İşte veri kümemiz:
## | Ülke | Yaş | Aylık maaş | satın alındı | |
## | 1 | Fransa | 44 | 72000 | Numara |
## | 2 | ispanya | 27 | 48000 | Evet |
## | 3 | Almanya | 30 | 54000 | Numara |
## | 4 | ispanya | 38 | 61000 | Numara |
## | 5 | Almanya | 40 | NA | Evet |
## | 6 | Fransa | 35 | 58000 | Evet |
## | 7 | ispanya | NA | 52000 | Numara |
## | 8 | Fransa | 48 | 79000 | Evet |
## | 9 | Almanya | 50 | 83000 | Numara |
## | 10 | Fransa | 37 | 67000 | Evet |
Görüldüğü gibi veri setimizin Maaş ve Yaş sütunlarında eksik değerler bulunmaktadır. Veri kümemizde bulunan sorunu belirledik, böylece şimdi aynısını düzeltmeye başlayabiliriz.
Veri kümemizde başka hiçbir sorun yok gibi görünüyor, bu nedenle yalnızca eksik değerleri ele almamız gerekiyor. NA değerlerini ilgili sütunların ortalama değerleriyle değiştirerek bu sorunu çözebiliriz. İşte nasıl:
veri kümesi$Yaş <- ifelse(is.na(veri kümesi$Yaş),
ave(veri kümesi$Yaş, EĞLENCE = işlev(x)
ortalama(x, na.rm = DOĞRU)),
veri kümesi$Yaş)
dataset$Maaş <- ifelse(is.na(dataset$Maaş),
ave(veri kümesi$Maaş, EĞLENCE = işlev(x)
ortalama(x, na.rm = DOĞRU)),
veri kümesi$Maaş)
Burada ave() işlevini nasıl kullandığımıza dikkat edin. Girdiğiniz belirli sütunun ortalamasını alır; burada EĞLENCE, NA değerleri hariç ortalamayı hesaplayan x'in bir fonksiyonudur (na.rm=TRUE).
Başka,
$ Age veri setinde ne varsa onu al
Şimdi ortalama() işlevini kullanacağız:
#tanımlama x = 1 2 3
x <- 1:3
#eksik değerle tanışın
x[1] <- NA
# ortalama = NA
ortalama(x)
## [1] Yok
# ortalama = NA değeri hariç ortalama
ortalama(x, na.rm = T)
## [1] 2.5
Sorunu tanımlayıp düzelttikten sonra veri setimiz şöyle görünür:
## | Ülke | Yaş | Aylık maaş | satın alındı | |
## | 1 | Fransa | 44 | 72000.00 | Numara |
## | 2 | ispanya | 27 | 48000.00 | Evet |
## | 3 | Almanya | 30 | 54000.00 | Numara |
## | 4 | ispanya | 38 | 61000.00 | Numara |
## | 5 | Almanya | 40 | 63777.78 | Evet |
## | 6 | Fransa | 35 | 58000.00 | Evet |
## | 7 | ispanya | 38 | 52000.00 | Numara |
## | 8 | Fransa | 48 | 79000.00 | Evet |
## | 9 | Almanya | 50 | 83000.00 | Numara |
## | 10 | Fransa | 37 | 67000.00 | Evet |
Ayrıca Okuyun: R Programlama Dilinde Kariyer Fırsatları
2. Adım: Kategorik Veriler
Kategorik veriler, belirli kategorilere ait sayısal olmayan verilerdir. Veri kümemizdeki Ülke sütunu kategorik verilerdir. R'deki read.csv() işlevi, tüm dize değişkenlerini kategorik değişkenler haline getirir. Ancak, her durumda kullanamayız.
Faktör değişkenleri olarak belirli değişkenleri şu şekilde oluşturabilirsiniz:
veri kümesi$Ülke = faktör(veri kümesi$Ülke,
seviyeler = c('Fransa', 'İspanya', 'Almanya'),
etiketler = c(1, 2, 3))
veri kümesi$Satın Alınan = faktör(veri kümesi$Satın alınan,
seviyeler = c('Hayır', 'Evet'),
etiketler = c(0, 1))
3. Adım: Verileri Bölme
Şimdi veri setimizi iki ayrı veri setine bölmemiz gerekiyor. Biri makine öğrenimi modelimizi eğitmek için, diğeri ise aynısını test etmek için.
Bunu yapmak için önce caTools paketini (mevcut değilse) kuracağız ve onu kitaplığımıza ekleyeceğiz. Daha sonra, bölmenin rastgele yapıldığından emin olmak için set.seed() işlevini kullanacağız. Aşağıdaki kodu kullanın:
kitaplık(caTools)
set.seed(123)
split = sample.split(veri kümesi$Satın Alınan,SplitRatio = 0.8)
training_set = alt küme(veri kümesi,split == DOĞRU)
test_set = alt küme(veri kümesi, bölme == YANLIŞ)
Bölme oranını 80:20 olarak tuttuğumuzu fark etmişsinizdir. Bunun nedeni, eğitim setleri ve test setleri için en geleneksel bölme oranı olmasıdır. sample.split() yöntemimiz sütunu aldı ve bölme oranına göre rastgele doğru ve yanlış değerlere sahip sayısal bir dizi oluşturdu.
4. Adım: Özellik Ölçeklendirme veya Fazla Uydurma
Veri kümenizdeki farklı özellikler farklı aralıklara sahip olduğunda özellik ölçeklendirmesi gerekir. Bizim durumumuzda, Yaş ve Maaş sütunlarının farklı aralıkları vardır, bu da ML modelimizin eğitiminde sorunlara neden olabilir.
Diğer özellikten önemli ölçüde daha yüksek bir aralığa sahip bir özelliğiniz olduğunda, öklid mesafesi önemli ölçüde artar ve modelin yanlış sonuçlar vermesine neden olur.
R'deki çoğu kitaplığın bu sorunu otomatik olarak çözdüğünü unutmayın, ancak bunun nasıl düzeltileceğini bilmek önemlidir. Aşağıdakileri yapın:
training_set[,2:3] = ölçek(training_set[,2:3])
test_set[,2:3] = ölçek(test_set[,2:3])
Bu sorunu çözecek ve eğitim setinizin özellikleri aynı aralıklara sahip olacak ve makine öğrenimi uygulamaları sırasında herhangi bir hata olasılığını en aza indirecektir.
Dünyanın en iyi Üniversitelerinden veri bilimi sertifikası alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, İleri Düzey Sertifika Programları veya Yüksek Lisans Programları öğrenin.
Çözüm
R eğitimindeki veri ön işlememizi yararlı bulduğunuzu umarız. Kendiniz test etmeye çalışmadan önce öğreticiyi anlamak en iyisi olacaktır. Kavramları anlamak, onları kullanmaktan çok daha önemlidir.
R eğitimindeki veri ön işlememiz hakkındaki düşünceleriniz nelerdir? Bunları aşağıdaki yorumlarda paylaşın.
R, 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, 1'e- Sektör danışmanlarıyla 1 numara, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.
Python'da polimorfizm, çeşitli amaçlar için kullanılabilen genel bir işlev adını ifade eder. Bu fikir, nesne yönelimli Python programlama konseptinde yaygın olarak kullanılır. Ördek tiplemesi bir polimorfizm kavramıdır. Ördek yazma deyimi, ördek gibi yürüyen, vaklayan ve yüzen her şeye, ne olursa olsun ördek denildiğini belirten bir atasözünden gelir. Basit bir ifadeyle, bir şey davranışını başka bir şeyle eşleştirirse, o kategorinin bir üyesi olarak kabul edileceğini gösterir. Hem türetilmiş bir sınıfta hem de bir temel veya süper sınıfta aynı ada ve argümanlara sahip bir yöntem kullanıldığında, türetilmiş sınıf yönteminin temel sınıfta sağlanan yöntemi geçersiz kıldığı söylenir. Geçersiz kılınan yöntem çağrıldığında, türetilmiş sınıfın yöntemi her zaman çağrılır. Temel sınıfta kullanılan yöntem artık gizlidir.Python'da kaç çeşit polimorfizm vardır?
Çok biçimlilik Python'da Java ve C++ gibi diğer programlama dillerinde olduğu gibi Ördek Yazma, Operatör aşırı yükleme, Yöntem aşırı yükleme ve Yöntem geçersiz kılma gibi çeşitli amaçlar için uygulanır. Aşırı yükleme ve geçersiz kılma, polimorfizm elde etmek için iki ana yöntemdir.
Aynı ada sahip ancak farklı argümanlara sahip birçok yöntemi olan bir sınıf, yöntem aşırı yüklemesi olarak bilinir. Python'da yöntem aşırı yüklemesi varsayılan olarak desteklenmese de, bunu yapmak için çok sayıda teknik vardır. Ördek yazımı nedir?
Aşırı yükleme ve geçersiz kılma nedir?
Python ise yöntem parametrelerinin türüne, miktarına veya sırasına göre yöntem aşırı yüklemesi sağlamaz. Yöntem aşırı yükleme, bir yöntemi birden çok şekilde çağrılabilecek şekilde tanımlamak için bir Python yaklaşımıdır. Diğer programlama dillerinden farklı olarak, bu benzersizdir.