Membandingkan string

Membersihkan Data di R

Maggie Matsui

Content Developer @ DataCamp

Mengukur jarak antar nilai

Garis bilangan 0–15 dengan titik di 3 dan 10.

Membersihkan Data di R

Mengukur jarak antar nilai

Garis bilangan yang sama dengan kurung merah menyorot jarak antara titik di 3 dan 10.

Membersihkan Data di R

Mengukur jarak antar nilai

Di bawah garis merah yang menunjukkan jarak, 10 minus 3 sama dengan 7.

                                            Berapa jarak antara typhoon dan baboon?

Membersihkan Data di R

Jarak edit minimum

Berapa banyak typo untuk mengubah satu string ke string lain?

Tanda plus hijau untuk sisipan.

Membersihkan Data di R

Jarak edit minimum

Berapa banyak typo untuk mengubah satu string ke string lain?

Tanda minus merah untuk penghapusan

Membersihkan Data di R

Jarak edit minimum

Berapa banyak typo untuk mengubah satu string ke string lain?

Lingkaran ungu untuk substitusi.

Membersihkan Data di R

Jarak edit minimum

Berapa banyak typo untuk mengubah satu string ke string lain?

Panah ganda biru untuk transposisi.

Membersihkan Data di R

Jarak edit = 1

Menunjukkan perbedaan antara dog dan dogs dengan tanda plus hijau.

Membersihkan Data di R

Jarak edit = 1

Menunjukkan perbedaan antara bath dan bat dengan tanda minus merah.

Membersihkan Data di R

Jarak edit = 1

Menunjukkan perbedaan antara cats dan rats dengan tanda siklus ungu.

Membersihkan Data di R

Jarak edit = 1

Menunjukkan perbedaan antara sign dan sign dengan panah ganda biru.

Membersihkan Data di R

Contoh yang lebih kompleks

baboon $\rightarrow$ typhoon

kata baboon

Membersihkan Data di R

Contoh yang lebih kompleks

baboon $\rightarrow$ typhoon
  • Sisipkan h

Di bawah baboon, kata babhoon dengan tanda plus hijau di atas h.

Membersihkan Data di R

Contoh yang lebih kompleks

baboon $\rightarrow$ typhoon
  • Sisipkan h
  • Ganti b $\rightarrow$ t

Di bawahnya, kata tabhoon, dengan tanda siklus ungu di atas t

Membersihkan Data di R

Contoh yang lebih kompleks

baboon $\rightarrow$ typhoon
  • Sisipkan h
  • Ganti b $\rightarrow$ t
  • Ganti a $\rightarrow$ y

Di bawahnya, kata tybhoon dengan tanda siklus ungu di atas y.

Membersihkan Data di R

Contoh yang lebih kompleks

baboon $\rightarrow$ typhoon
  • Sisipkan h
  • Ganti b $\rightarrow$ t
  • Ganti a $\rightarrow$ y
  • Ganti b $\rightarrow$ p

Total: 4

Di bawahnya, kata typhoon dengan tanda siklus ungu di atas p.

Membersihkan Data di R

Jenis jarak edit

  • Damerau-Levenshtein
    • Yang baru Anda pelajari
  • Levenshtein
    • Hanya mempertimbangkan substitusi, sisipan, dan penghapusan
  • LCS (Longest Common Subsequence)
    • Hanya mempertimbangkan sisipan dan penghapusan
  • Lainnya
    • Jaro-Winkler
    • Jaccard

Mana yang terbaik?

Membersihkan Data di R

Jarak string di R

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

Gambar dari slide sebelumnya yang menunjukkan cara mengubah baboon menjadi typhoon.

Membersihkan Data di R

Metode lain

# LCS
stringdist("baboon", "typhoon",
           method = "lcs")
7
# Jaccard
stringdist("baboon", "typhoon",
           method = "jaccard")
0.75
Membersihkan Data di R

Membandingkan string untuk membersihkan data

  • Di Bab 2:
    • "EU", "eur", "Europ" $\rightarrow$ "Europe"
  • Bagaimana jika variasinya terlalu banyak?
    • "EU", "eur", "Europ", "Europa", "Erope", "Evropa", ... $\rightarrow$ "Europe"?
    • Gunakan jarak string!
Membersihkan Data di R

Membandingkan string untuk membersihkan data

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
Membersihkan Data di R

Pemetaan ulang dengan jarak string

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
...
Membersihkan Data di R

Pemetaan ulang dengan jarak string

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
...
Membersihkan Data di R

Ayo berlatih!

Membersihkan Data di R

Preparing Video For Download...