0

나는 약 100,000 행의 테이블을 가지고 있습니다. 이 테이블은 Excel 파일이며, 여기의 스냅 샷입니다 :효율적인 패턴 매칭을 사용하여 큰 데이터에서 행 유사성을 찾는 방법

+------------+-----------+-----+-----+-----------------------------------------------------------+ 
| First Name | Last Name | Sex | Age |       Address       | 
+------------+-----------+-----+-----+-----------------------------------------------------------+ 
| Parm  | Jit  | m | 23 | palm court scoeity, RD. golf course, delhi    | 
| Param  | jit  | m | 24 | palm cort society, road golf course, delhi    | 
| Pram  | Jet  | m | 28 | palm court socityt Road golf course, Delhi    | 
| Prm  | jit  | m | 31 | society palm court, Rod. Golf coure, delhi    | 
| Param  | Jeet  | m | 33 | palm court scoety, delhi         | 
| varun  | nagraj | m | 36 | Thame Square, auckland-AZ-2014       | 
| Janet  | kumar  | m | 40 | Thame Square, auckland-AZ-2014       | 
| varun  | kumar  | m | 42 | Thame Square, auckland-AZ-2014       | 
| Jatin  | Kakkar | m | 45 | Noida, near shipra mall, sectr 57, Noida, U.P.   | 
| Jatin  | Kakar  | m | 56 | Noida, near shipra mall, sectr 57, Noida, Uttar pardesh | 
| Jatin  | Kakkr  | m | 57 | Noida, Flat no- 23, near shipra mall, sectr 57, Noida, UP | 
| Janet  | Yellen | F | 23 | 11 CORONADO POINTELAGUNA NIGUELCA92677     | 
| Janet  | Yellen | F | 24 | 11 CORONADO POINTELAGUNA NIGUELCA       | 
| Janet  | Yellen | F | 25 | 11 CORONADO POINTELAGUNA 92677-0000      | 
| Jant  | Yelen  | F | 26 | 11 CORONADO POINTELAGUNA NIGUELCA0000      | 
| Janet  | Yellen | F | 26 | 11 CORONADO POINTELAGUNA NIGUELC       | 
| Abigail | Johnson | F | 24 | PRESERVE DRIVE NE, 11BELMONTMI4930      | 
| andrew  | symonds | m | 24 | Fame Stret, brisbane, hn 181        | 
| Angel  | Ahrendts | F | 26 | WYNGATE MANOR CTALEXANDRIAVA        | 
| Safra  | Catz  | F | 26 | 31155 ZOAR SCHOOL ROADLOCUST GROVEVA22508-0000   | 
| Park  | Geun-hye | F | 30 | CATHOLIC CHURCH RDBEACH LAKEPA       | 
| Sheryl  | Sandberg | F | 24 | 80164 SULTANA AVEINDIOCA92201-0000      | 
| Sheryl  | Sandberg | F | 24 | SULTANA AVEINDIOC           | 
| Safra  | Catz  | F | 26 | OAR SCHOOL ROADLOCUST GROVEV        | 
| Park  | Geun-hye | F | 30 | 308 CATHOLIC CHURCH RDBEACH LAKEPA18405-0000    | 
| andrw  | simnds | m | 24 | Fame Stret, 181 HOUSE NO         | 
| prashat | vats  | m | 35 | Al thei, al nzar, dubai12         | 
| prasant | vats  | m | 37 | Al, al nazar, dubai23          | 
| andrw  | simonds | m | 34 | Fame brisbane, 181 H.N.         | 
| vats  | prashant | m | 30 | Al thei, al nazar, dubai         | 
| vast  | prshant | m | 30 | al nazar, dubai, street adamifullah      | 
| prashant | vats  | m | 37 | Al thei, al nazar, dubai         | 
| ram  | vats  | m | 29 | Al thei, nazar, dubai          | 
| Kiss  | hanes  | m | 45 | Sydney, andrew str. 223         | 
+------------+-----------+-----+-----+-----------------------------------------------------------+ 

나는이 데이터 행 유사성을 찾기 위해 노력하고, 예를 들어, 1 행은 내가 시도 (2)를 행하기 매우 유사 내 python 플랫폼에서 모든 데이터를 복용하고 이후 그들 모두 클러스터링 알고리즘 (즉 BIRCH, DBSCAN, K means, SpectralMarkov Clustering),하지만, (그들은 python에서 메모리 오류를 제공하기 전에 10 행에서 실행 절반 정도 시간을 내 컴퓨터는 숫양이 16gb입니다.

이 문제에 대해 좀 더 나은 알고리즘을 사용해야합니까, 아니면 spark과 같은 플랫폼으로 데이터를 이동 한 다음 작업해야합니까? 이전이 사실이라면 너무 많은 시간을 들여 쓰지 않는 알고리즘으로 나를 도울 수 있습니까? 큰 데이터에 대한 실질적인 문제를 해결하기위한 접근 방식을 기대하고 있기 때문에 이것을 이론적 인 질문으로 생각하지 마십시오. 그것은이 데이터 세트에서 이러한 알고리즘을 사용하는 의미가되지 않습니다

+1

엑셀, 그리고 단지 100000 레코드 - 그건 큰 데이터가 아닙니다. 엑서 바이트가 아닌 메가 바이트입니다 ... –

답변

1

... 모든

첫째, 항상 규모를 고려하기 전에 작업 방법을 찾기 위해 샘플로 시작합니다. 작동하지 않는 접근법을 확장하는 데 시간을 낭비하지 마라.

실제 문제는 클러스터링보다는 데이터 청소에 집중할 것을 제안한다. OpenRefine이 좋은 시작일 수 있습니다.

+0

데이터 정리를 위해 어떤 접근 방식을 제안 하시겠습니까? –