Generování a porovnávání párů

Čištění dat v R

Maggie Matsui

Content Developer @ DataCamp

Kdy joiny nestačí

Levá tabulka obsahuje sloupce událost a čas. Zobrazeny jsou zápasy: Houston Rockets vs Chicago Bulls v 19:00, Miami Heat vs Los Angeles Lakers v 19:00, Brooklyn Nets vs Orlando Magic v 20:00, Denver Nuggets vs Miami Heat v 21:00, San Antonio Spurs vs Atlanta Hawks v 21:00. Pravá tabulka obsahuje: NBA: Nets vs Magic v 20:00, NBA: Bulls vs Rockets v 21:00, NBA: Heat vs Lakers v 19:00, NBA: Grizzlies vs Heat v 22:00, NBA: Heat vs Cavaliers v 21:00.

Čištění dat v R

Kdy joiny nestačí

Čištění dat v R

Co je propojování záznamů?

record_linkage_1.png

Čištění dat v R

Co je propojování záznamů?

Vlevo dvě databáze s ikonami košťat označené Data A a Data B

Čištění dat v R

Co je propojování záznamů?

Šipky míří z Data A a Data B ke třem párům osob s popisem Generování párů

Čištění dat v R

Co je propojování záznamů?

Šipka míří od generování párů ke dvěma sloupcům kroužků se šipkami v různých směrech. Popis: porovnání párů.

Čištění dat v R

Co je propojování záznamů?

Šipka míří od porovnání párů k postavě s cedulí s hodnotou .93. Popis: ohodnocení párů.

Čištění dat v R

Co je propojování záznamů?

Šipka od ohodnocení párů k řetězu s popisem propojení dat.

Čištění dat v R

Co je propojování záznamů?

Stejný diagram s modrým rámečkem kolem kroku generování párů

Čištění dat v R

Páry záznamů

Dvě tabulky df_A a df_B se jmény, PSČ a státem. V df_A je zvýrazněn řádek Keaton Z Snyder, PSČ 15020, stát PA. V df_B je zvýrazněn řádek Keaton Snyder, PSČ 15020, stát PA.

Čištění dat v R

Generování párů

Stejné tabulky s čarami propojujícími každý řádek df_A s každým řádkem df_B – všechny kombinace.

Čištění dat v R

Generování párů v R

library(reclin)
pair_blocking(df_A, df_B)
Simple blocking
  No blocking used.
  First data set:  5 records
  Second data set: 5 records
  Total number of pairs: 25 pairs

ldat with 25 rows and 2 columns x y 1 1 1 2 2 1 3 3 1 ...
Čištění dat v R

Příliš mnoho párů

Stejné tabulky rozšířené o více řádků s ještě více propojovacími čarami.

Čištění dat v R

Blokování

Stejné tabulky – propojeny jsou pouze řádky se shodným státem.

Páry se tvoří pouze tehdy, pokud se shodují v blokovací proměnné (stát)

Čištění dat v R

Blokování párů v R

pair_blocking(df_A, df_B, blocking_var = "state")
Simple blocking                                 ldat with 8 rows and 2 columns
  Blocking variable(s): state                     x y
  First data set:  5 records                    1 1 1
  Second data set: 5 records                    2 1 4
  Total number of pairs: 8 pairs                3 2 3
                                                4 2 5
                                                5 3 2
                                                6 4 2
                                                7 5 1
                                                8 5 4
Čištění dat v R

Porovnávání párů

Diagram kroků propojování záznamů se zvýrazněným krokem porovnání párů.

Čištění dat v R

Porovnávání párů

pair_blocking(df_A, df_B, blocking_var = "state") %>%

compare_pairs(by = "name", default_comparator = lcs())
Compare                                     ldat with 8 rows and 3 columns            
  By: name                                      x y      name
                                              1 1 1 0.3529412
Simple blocking                               2 1 4 0.3030303
  Blocking variable(s): state                 3 2 3 0.9285714
  First data set:  5 records                  4 2 5 0.2962963    
  Second data set: 5 records                  ...
  Total number of pairs: 8 pairs              8 5 4 0.3333333
Čištění dat v R

Porovnávání více sloupců

pair_blocking(df_A, df_B, blocking_var = "state") %>%
  compare_pairs(by = c("name", "zip"), default_comparator = lcs())
Compare                                    ldat with 8 rows and 4 columns
  By: name, zip                              x y      name zip
                                           1 1 1 0.3529412 0.4
Simple blocking                            2 1 4 0.3030303 0.2
  Blocking variable(s): state              3 2 3 0.9285714 1.0
  First data set:  5 records               4 2 5 0.2962963 0.2
  Second data set: 5 records               ...
  Total number of pairs: 8 pairs           8 5 4 0.3333333 0.2
Čištění dat v R

Různé komparátory

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Čištění dat v R

Pojďme si procvičit!

Čištění dat v R

Preparing Video For Download...