Створення та порівняння пар

Очищення даних в R

Maggie Matsui

Content Developer @ DataCamp

Коли з'єднання не працюють

Ліва таблиця має стовпці подія та час. Ігри: Houston Rockets vs Chicago Bulls о 19:00. Miami Heat vs Los Angeles Lakers о 19:00. Brooklyn Nets vs Orlando Magic о 20:00. Denver Nuggets vs. Miami Heat о 21:00. San Antonio Spurs vs Atlanta Hawks о 21:00. Права таблиця має ігри: NBA: Nets vs Magic о 8pm. NBA: Bulls vs Rockets о 9pm. NBA: Heat vs Lakers о 7pm. NBA: Grizzlies vs Heat о 10pm. NBA: Heat vs Cavaliers о 9pm.

Очищення даних в R

Коли з'єднання не працюють

Очищення даних в R

Що таке record linkage?

record_linkage_1.png

Очищення даних в R

Що таке record linkage?

Ліворуч дві бази даних із мітелками з підписами Data A та Data B

Очищення даних в R

Що таке record linkage?

Стрілки від Data A та Data B до трьох пар людей з підписом Generate pairs

Очищення даних в R

Що таке record linkage?

Стрілка від generate pairs до двох колонок кіл зі стрілками одне до одного в різних напрямках. Опис: compare pairs.

Очищення даних в R

Що таке record linkage?

Стрілка від compare pairs до фігури людини з табличкою .93. Підпис: score pairs.

Очищення даних в R

Що таке record linkage?

Стрілка від score pairs до ланцюга з підписом link data.

Очищення даних в R

Що таке record linkage?

Та сама діаграма із синім прямокутником навколо кроку generate pairs

Очищення даних в R

Пари записів

Дві таблиці, df_A і df_B, з іменами людей, їхніми ZIP-кодами та штатами. У df_A підсвічено рядок Keaton Z Snyder, zip 15020, state PA. У df_B підсвічено Keaton Snyder, zip 15020, state PA.

Очищення даних в R

Генерування пар

Ті самі таблиці з лініями від кожного рядка df_A до кожного рядка df_B — усі комбінації.

Очищення даних в R

Генерування пар в 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 ...
Очищення даних в R

Занадто багато пар

Ті самі таблиці подовжені донизу з більшою кількістю рядків і ще більшою кількістю ліній між кожною парою.

Очищення даних в R

Блокування

Ті самі таблиці, але лініями з'єднано лише рядки з однаковим штатом.

Розглядати пари лише коли збігається блокувальна змінна (State)

Очищення даних в R

Блокування пар в 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
Очищення даних в R

Порівняння пар

Діаграма кроків record linkage з підсвіченим кроком compare pairs.

Очищення даних в 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
Очищення даних в R

Порівняння кількох стовпців

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
Очищення даних в R

Різні компаратори

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Очищення даних в R

Давайте потренуємось!

Очищення даних в R

Preparing Video For Download...