Tamlık

R ile Veri Temizleme

Maggie Matsui

Content Developer @ DataCamp

Eksik veri nedir?

Eksik bir parçası olan tamamlanmış bir yapboz. Açıklama: Bir gözlemdeki değişken için değer saklanmadığında oluşur.

NA, nan, 0, 99, . ... olarak gösterilebilir

R ile Veri Temizleme

Eksik veri nedir?

missing.png

NA, nan, 0, 99, . ... olarak gösterilebilir

Teknik hataları temsil eden bir robot.

R ile Veri Temizleme

Eksik veri nedir?

missing.png

NA, nan, 0, 99, . ... olarak gösterilebilir

İnsan hatasını temsil eden bir kişi figürü.

R ile Veri Temizleme

Hava kalitesi

head(airquality)
   Ozone Solar.R Wind Temp Month Day
1     41     190  7.4   67     5   1
2     36     118  8.0   72     5   2
3     12     149 12.6   74     5   3
4     18     313 11.5   62     5   4
5     NA      NA 14.3   56     5   5
6     28      NA 14.9   66     5   6
R ile Veri Temizleme

Hava kalitesi

head(airquality)
   Ozone Solar.R Wind Temp Month Day
1     41     190  7.4   67     5   1
2     36     118  8.0   72     5   2
3     12     149 12.6   74     5   3
4     18     313 11.5   62     5   4
5     NA      NA 14.3   56     5   5
6     28      NA 14.9   66     5   6
R ile Veri Temizleme

Eksik değerleri bulma

is.na(airquality)
     Ozone Solar.R  Wind  Temp Month   Day
[1,] FALSE   FALSE FALSE FALSE FALSE FALSE
[2,] FALSE   FALSE FALSE FALSE FALSE FALSE
[3,] FALSE   FALSE FALSE FALSE FALSE FALSE
[4,] FALSE   FALSE FALSE FALSE FALSE FALSE
[5,]  TRUE    TRUE FALSE FALSE FALSE FALSE
[6,] FALSE    TRUE FALSE FALSE FALSE FALSE
R ile Veri Temizleme

Eksik değerleri sayma

# Tüm veri setinde eksik değerleri say
sum(is.na(airquality))
44
R ile Veri Temizleme

Eksikleri görselleştirme

library(visdat)
vis_miss(airquality)

Koddan oluşturulan görselleştirme. En soldaki sütunda en çok siyah çizgi var; ikinci sütun sonraki en çok çizgiye sahip. Diğer sütunlarda siyah çizgi yok.

R ile Veri Temizleme

Eksikliğin incelenmesi

airquality %>%
  mutate(miss_ozone = is.na(Ozone)) %>%

group_by(miss_ozone) %>% summarize(across(everything(), median, na.rm = TRUE))
  miss_ozone Ozone Solar.R  Wind  Temp Month   Day
  <lgl>      <dbl>   <int> <dbl> <dbl> <dbl> <dbl>
1 FALSE       31.5     207   9.7    65     7    16
2 TRUE        NA       194   9.7    99     6    15
R ile Veri Temizleme

Eksikliğin incelenmesi

airquality %>%
  arrange(Temp) %>%
  vis_miss()

Öncekiyle aynı görsel, ancak Ozone’u temsil eden sol sütunda tüm eksikler altta.

R ile Veri Temizleme

Eksik türleri

Sol: Tamamen rastgele eksikliği temsil eden altı yüzlü zar. Orta: Her yüzünde tek nokta olan zar, rastgele eksikliği temsil eder. Sağ: Bir döngü oluşturan dört kare, rastgele olmayan eksikliği temsil eder.

R ile Veri Temizleme

Eksik türleri

Tamamen rastgele eksik: Eksik veriler ile diğer değerler arasında sistematik ilişki yoktur. Örnek: Veri girişi hataları.

R ile Veri Temizleme

Eksik türleri

Rastgele eksik: Eksik veriler ile gözlenen diğer değerler arasında sistematik ilişki vardır. Örnek: Yüksek sıcaklıklarda eksik ozon verileri.

R ile Veri Temizleme

Eksiklik türleri

Rastgele olmayan eksik: Eksik veriler ile gözlenmeyen değerler arasında sistematik ilişki vardır. Örnek: Yüksek sıcaklıklarda eksik sıcaklık değerleri.

R ile Veri Temizleme

Eksik verilerle başa çıkma

Basit yaklaşımlar:

  1. Eksik verileri atma
  2. İstatistiksel ölçülerle (ortalama, medyan, mod..) veya alan bilgisiy­le atama

Daha karmaşık yaklaşımlar:

  1. Algoritmik atama
  2. Makine öğrenmesiyle atama

 

Daha fazlası: R ile Eksik Verilerle Başa Çıkma

R ile Veri Temizleme

Eksik değerleri atma

airquality %>%
  filter(!is.na(Ozone), !is.na(Solar.R))
   Ozone Solar.R  Wind  Temp Month   Day
   <int>   <int> <dbl> <int> <int> <int>
 1    41     190   7.4    67     5     1
 2    36     118     8    72     5     2
 3    12     149  12.6    74     5     3
 4    18     313  11.5    62     5     4
 5    23     299   8.6    65     5     7
 6    19      99  13.8    59     5     8
R ile Veri Temizleme

Eksik değerleri değiştirme

airquality %>%
  mutate(ozone_filled = ifelse(is.na(Ozone), mean(Ozone, na.rm = TRUE), Ozone))
   Ozone Solar.R  Wind  Temp Month   Day ozone_filled
   <int>   <int> <dbl> <int> <int> <int>        <dbl>
 1    41     190   7.4    67     5     1         41  
 2    36     118   8      72     5     2         36  
 3    12     149  12.6    74     5     3         12  
 4    18     313  11.5    62     5     4         18  
 5    NA      NA  14.3    56     5     5         42.1
R ile Veri Temizleme

Hadi pratik yapalım!

R ile Veri Temizleme

Preparing Video For Download...