Dizeleri karşılaştırma

R ile Veri Temizleme

Maggie Matsui

Content Developer @ DataCamp

Değerler arasındaki uzaklığı ölçme

0'dan 15'e sayı doğrusu, 3 ve 10'da noktalar.

R ile Veri Temizleme

Değerler arasındaki uzaklığı ölçme

Aynı sayı doğrusu, 3 ve 10 arasındaki uzunluğu vurgulayan kırmızı ayraç.

R ile Veri Temizleme

Değerler arasındaki uzaklığı ölçme

Kırmızı uzaklık çizgisinin altında, 10 eksi 3 eşittir 7.

                                            typhoon ile baboon arasındaki uzaklık nedir?

R ile Veri Temizleme

Asgari düzenleme uzaklığı

Bir dizgiden diğerine geçmek için kaç yazım hatası gerekir?

Ekleme için yeşil artı işareti.

R ile Veri Temizleme

Asgari düzenleme uzaklığı

Bir dizgiden diğerine geçmek için kaç yazım hatası gerekir?

Silme için kırmızı eksi işareti

R ile Veri Temizleme

Asgari düzenleme uzaklığı

Bir dizgiden diğerine geçmek için kaç yazım hatası gerekir?

Yerine koyma için mor döngü işareti.

R ile Veri Temizleme

Asgari düzenleme uzaklığı

Bir dizgiden diğerine geçmek için kaç yazım hatası gerekir?

Yer değiştirme için mavi çift ok.

R ile Veri Temizleme

Düzenleme uzaklığı = 1

Dog ve dogs farkını yeşil artı işaretiyle gösteriyor.

R ile Veri Temizleme

Düzenleme uzaklığı = 1

Bath ve bat farkını kırmızı eksi işaretiyle gösteriyor.

R ile Veri Temizleme

Düzenleme uzaklığı = 1

Cats ve rats farkını mor döngü işaretiyle gösteriyor.

R ile Veri Temizleme

Düzenleme uzaklığı = 1

Sign ve sign farkını mavi çift okla gösteriyor.

R ile Veri Temizleme

Daha karmaşık bir örnek

baboon $\rightarrow$ typhoon

baboon kelimesi

R ile Veri Temizleme

Daha karmaşık bir örnek

baboon $\rightarrow$ typhoon
  • h ekle

Baboon altında, h üzerinde yeşil artı işareti olan babhoon kelimesi.

R ile Veri Temizleme

Daha karmaşık bir örnek

baboon $\rightarrow$ typhoon
  • h ekle
  • b $\rightarrow$ t değiştir

Altında, t üzerinde mor döngü işareti olan tabhoon kelimesi

R ile Veri Temizleme

Daha karmaşık bir örnek

baboon $\rightarrow$ typhoon
  • h ekle
  • b $\rightarrow$ t değiştir
  • a $\rightarrow$ y değiştir

Altında, y üzerinde mor döngü işareti olan tybhoon kelimesi.

R ile Veri Temizleme

Daha karmaşık bir örnek

baboon $\rightarrow$ typhoon
  • h ekle
  • b $\rightarrow$ t değiştir
  • a $\rightarrow$ y değiştir
  • b $\rightarrow$ p değiştir

Toplam: 4

Altında, p üzerinde mor döngü işareti olan typhoon kelimesi.

R ile Veri Temizleme

Düzenleme uzaklığı türleri

  • Damerau-Levenshtein
    • Az önce öğrendiğiniz
  • Levenshtein
    • Yalnızca değiştirme, ekleme ve silmeyi dikkate alır
  • LCS (En Uzun Ortak Alt Dizi)
    • Yalnızca ekleme ve silmeyi dikkate alır
  • Diğerleri
    • Jaro-Winkler
    • Jaccard

Hangisi en iyi?

R ile Veri Temizleme

R'de dize uzaklığı

library(stringdist)
stringdist("baboon", 
           "typhoon",
           method = "dl")
4

Önceki slaytlardaki baboon'dan typhoon'a geçiş görseli.

R ile Veri Temizleme

Diğer yöntemler

# LCS
stringdist("baboon", "typhoon",
           method = "lcs")
7
# Jaccard
stringdist("baboon", "typhoon",
           method = "jaccard")
0.75
R ile Veri Temizleme

Veri temizlemek için dizeleri karşılaştırma

  • Bölüm 2'de:
    • "EU", "eur", "Europ" $\rightarrow$ "Europe"
  • Peki çok fazla varyasyon varsa?
    • "EU", "eur", "Europ", "Europa", "Erope", "Evropa", ... $\rightarrow$ "Europe"?
    • Dize uzaklığı kullanın!
R ile Veri Temizleme

Veri temizlemek için dizeleri karşılaştırma

survey
          city move_score
1       chicgo          4
2   los angles          4
3      chicogo          5
4      new yrk          5
5    new yoork          2
6     seatttle          3
7   losangeles          4
8      seeatle          2
...
cities
         city
1    new york
2     chicago
3 los angeles
4     seattle
R ile Veri Temizleme

Dize uzaklığıyla yeniden eşleme

library(fuzzyjoin)
stringdist_left_join(survey, cities, by = "city", method = "dl")
        city.x move_score      city.y
1       chicgo          4     chicago
2   los angles          4 los angeles
3      chicogo          5     chicago
4      new yrk          5    new york
5    new yoork          2    new york
6     seatttle          3     seattle
7   losangeles          4 los angeles
8      seeatle          2     seattle
9      siattle          1     seattle
...
R ile Veri Temizleme

Dize uzaklığıyla yeniden eşleme

stringdist_left_join(survey, cities, by = "city", method = "dl", max_dist = 1)
        city.x move_score      city.y
1       chicgo          4     chicago
2   los angles          4 los angeles
3      chicogo          5     chicago
4      new yrk          5    new york
5    new yoork          2    new york
6     seatttle          3     seattle
7   losangeles          4 los angeles
8      seeatle          2        <NA>
9      siattle          1     seattle
...
R ile Veri Temizleme

Hadi pratik yapalım!

R ile Veri Temizleme

Preparing Video For Download...