स्ट्रिंग्स की तुलना

R में डेटा क्लीनिंग

Maggie Matsui

Content Developer @ DataCamp

मानों के बीच दूरी नापना

0 से 15 तक की संख्या रेखा, 3 और 10 पर बिंदु।

R में डेटा क्लीनिंग

मानों के बीच दूरी नापना

उसी संख्या रेखा पर लाल ब्रैकेट, 3 और 10 के बीच की लंबाई दिखाता हुआ।

R में डेटा क्लीनिंग

मानों के बीच दूरी नापना

लाल रेखा के नीचे दूरी दिखाते हुए, 10 माइनस 3 बराबर 7.

                                            "typhoon" और "baboon" के बीच दूरी कितनी है?

R में डेटा क्लीनिंग

न्यूनतम संपादन दूरी

एक स्ट्रिंग से दूसरी तक जाने के लिए कितनी टाइपो चाहिए?

इंसर्शन के लिए हरा प्लस चिह्न।

R में डेटा क्लीनिंग

न्यूनतम संपादन दूरी

एक स्ट्रिंग से दूसरी तक जाने के लिए कितनी टाइपो चाहिए?

डिलीशन के लिए लाल माइनस चिह्न

R में डेटा क्लीनिंग

न्यूनतम संपादन दूरी

एक स्ट्रिंग से दूसरी तक जाने के लिए कितनी टाइपो चाहिए?

सब्स्टिट्यूशन के लिए बैंगनी साइकिल चिह्न।

R में डेटा क्लीनिंग

न्यूनतम संपादन दूरी

एक स्ट्रिंग से दूसरी तक जाने के लिए कितनी टाइपो चाहिए?

ट्रांसपोजिशन के लिए नीला डबल एरो।

R में डेटा क्लीनिंग

संपादन दूरी = 1

"dog" और "dogs" के अंतर को हरे प्लस चिह्न से दिखाया गया है।

R में डेटा क्लीनिंग

संपादन दूरी = 1

"bath" और "bat" के अंतर को लाल माइनस चिह्न से दिखाया गया है।

R में डेटा क्लीनिंग

संपादन दूरी = 1

"cats" और "rats" के अंतर को बैंगनी साइकिल चिह्न से दिखाया गया है।

R में डेटा क्लीनिंग

संपादन दूरी = 1

"sign" और "sign" के अंतर को नीले डबल एरो से दिखाया गया है।

R में डेटा क्लीनिंग

थोड़ा जटिल उदाहरण

baboon $\rightarrow$ typhoon

शब्द baboon

R में डेटा क्लीनिंग

थोड़ा जटिल उदाहरण

baboon $\rightarrow$ typhoon
  • h इंसर्ट करें

baboon के नीचे, शब्द babhoon, h के ऊपर हरा प्लस चिह्न।

R में डेटा क्लीनिंग

थोड़ा जटिल उदाहरण

baboon $\rightarrow$ typhoon
  • h इंसर्ट करें
  • b $\rightarrow$ t सब्स्टिट्यूट करें

उसके नीचे, शब्द tabhoon, t के ऊपर बैंगनी साइकिल चिह्न

R में डेटा क्लीनिंग

थोड़ा जटिल उदाहरण

baboon $\rightarrow$ typhoon
  • h इंसर्ट करें
  • b $\rightarrow$ t सब्स्टिट्यूट करें
  • a $\rightarrow$ y सब्स्टिट्यूट करें

उसके नीचे, शब्द tybhoon, y के ऊपर बैंगनी साइकिल चिह्न।

R में डेटा क्लीनिंग

थोड़ा जटिल उदाहरण

baboon $\rightarrow$ typhoon
  • h इंसर्ट करें
  • b $\rightarrow$ t सब्स्टिट्यूट करें
  • a $\rightarrow$ y सब्स्टिट्यूट करें
  • b $\rightarrow$ p सब्स्टिट्यूट करें

कुल: 4

उसके नीचे, शब्द typhoon, p के ऊपर बैंगनी साइकिल चिह्न।

R में डेटा क्लीनिंग

संपादन दूरी के प्रकार

  • Damerau-Levenshtein
    • आपने अभी यही सीखा
  • Levenshtein
    • केवल substitution, insertion, और deletion मानता है
  • LCS (Longest Common Subsequence)
    • केवल insertion और deletion मानता है
  • अन्य
    • Jaro-Winkler
    • Jaccard

कौन सा बेहतर है?

R में डेटा क्लीनिंग

R में स्ट्रिंग दूरी

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

पिछली स्लाइड्स से चित्र, baboon से typhoon तक जाने के चरण दिखाते हुए।

R में डेटा क्लीनिंग

अन्य मेथड्स

# LCS
stringdist("baboon", "typhoon",
           method = "lcs")
7
# Jaccard
stringdist("baboon", "typhoon",
           method = "jaccard")
0.75
R में डेटा क्लीनिंग

डेटा साफ करने के लिए स्ट्रिंग्स की तुलना

  • अध्याय 2 में:
    • "EU", "eur", "Europ" $\rightarrow$ "Europe"
  • अगर वेरिएशंस बहुत हों तो?
    • "EU", "eur", "Europ", "Europa", "Erope", "Evropa", ... $\rightarrow$ "Europe"?
    • स्ट्रिंग दूरी उपयोग करें!
R में डेटा क्लीनिंग

डेटा साफ करने के लिए स्ट्रिंग्स की तुलना

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 में डेटा क्लीनिंग

स्ट्रिंग दूरी से रीमैपिंग

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 में डेटा क्लीनिंग

स्ट्रिंग दूरी से रीमैपिंग

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 में डेटा क्लीनिंग

अभ्यास करते हैं!

R में डेटा क्लीनिंग

Preparing Video For Download...