Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[Week3] clean & correct data with OpenRefine

1,266 views

Published on

구글 오픈리파인(openrefine)을 통한 데이터 정제
https://www.facebook.com/datadesigner2015

Published in: Data & Analytics
  • Be the first to comment

[Week3] clean & correct data with OpenRefine

  1. 1. 꿈꾸는 데이터 디자이너 Week3 OpenRefine
  2. 2. Chapter1 Getting started with OpenRefine OpenRefine
  3. 3. 1 Diving into OpenRefine OpenRefine
  4. 4. OpenRefine 1. http://openrefine.org/download.html 1. http://openrefine.org/download.html 2. Mac kit 다운로드 3. dmg 파일 열고 OpenRefine 아이콘을 application 폴더로 드래그 4. 실행 2. ZIP 파일 다운받기 3. OpenRefine 실행
  5. 5. OpenRefine OpenRefine은 Google Chrome에서만 실행 가능 Internet Explorer에서는 작동 X
  6. 6. OpenRefine 2.Introducing OpenRefine
  7. 7. OpenRefine •방대한 데이터를 다루기에 효과적인 도구 •Free & OpenSource •Desktop based •Facet으로 데이터의 양상을 실시간 파악 가능 •다양한 input & output 데이터 포맷 •데이터 변형이 쉬움 •API를 통한 데이터 변형 가능
  8. 8. OpenRefine Google Refine Spreadsheets Databases 1. Batch editing of rows and columns possible 
 2. Used for exploring and transforming data. 
 3. No Schema Required 
 4. Data is always visible 
 at each step of editing. 
 5. More interactive and 
 visual. 
 1. Editing of one cell at a time. 
 2. Used for entering data and performing calculations, functions. 
 3. No Schema Required 
 4. Data is always visible 
 5. Visual is not impressive. 
 1. Schema and programming 
 language required for editing. 
 2. Data is out of sight unless 
 script is run to view it. 
 비슷한 도구들과의 비교
  9. 9. OpenRefine 2.Creating & Setting a new project 새로운 프로젝트 만들기
  10. 10. OpenRefine Facebook Group에서 sample_data.zip를 다운로드 받아주세요
  11. 11. OpenRefine Create Project 파일선택 Next •Creating & Setting a new project 1 2 3 실습예제 : RatesSweden.csv
  12. 12. OpenRefine •데이터 정제 전에 필요한 세팅 단계 •CSV, TSV 설정과 문자 인코딩 •그리고 숫자로 인식하게끔 설정 •프로젝트명 설정 • Main setting
  13. 13. OpenRefine • Check List • Row의 갯수 확인 • 한 페이지에 몇 개의 row를 볼 것인지? • previous / next 페이지 설정 • Open Project • Export
  14. 14. OpenRefine 3 Correct bad formatting 잘못된 형식 바로잡기 •replace(orginal value, “replaceable text”, “new text”) •To Number •Numeric Facet 샘플예제 : RatesSweden.csv
  15. 15. OpenRefine •replace(orginal value, “replaceable text”, “new text”) •To Number •Numeric Facet
  16. 16. OpenRefine • rate의 경우 쉼표가 아닌 마침표로 구분하는게 보편적 • 그렇다면 어떻게 한번에 쉼표만 마침표로 바꿀 수 있을까? • Edit cells - transform •replace(value, “,” , “.”)
  17. 17. OpenRefine •replace(value, “,”, “.”)
  18. 18. OpenRefine •replace(orginal value, “replaceable text”, “new text”) •To Number •Numeric Facet
  19. 19. OpenRefine •Edit Cells - Common Transforms - To number •글씨가 검은색에서 녹색으로 변해야 숫자로 인식
  20. 20. OpenRefine •replace(orginal value, “replaceable text”, “new text”) •To Number •Numeric Facet
  21. 21. OpenRefine •Numeric Facet를 통해 데이터의 양상을 파악 •Scale 조정을 통해 원하는 구간 선택 및 sorting
  22. 22. OpenRefine 4 Correct Misspellings 잘못된 오류 바로잡기 •Trim •To Uppercase or To lowercase •Clustering •Merge columns 샘플예제 : slategundeath.csv
  23. 23. OpenRefine •Trim •To Uppercase or To lowercase •Clustering •Merge columns
  24. 24. OpenRefine •CSV파일로 전환해줘야 함
  25. 25. OpenRefine •Facet - Text facet •facet를 통해 city 데이터 파악
  26. 26. OpenRefine •동일한 데이터가 다른 데이터로 인식 •끝에 띄어쓰기가 되어 있기 때문에 •동일한 데이터로 인식시켜 줘야 함 (trim)
  27. 27. OpenRefine •city - Edit cells •value.trim()
  28. 28. OpenRefine •city - Edit cells - value.trim() •Albuquerque를 비롯한 띄어쓰기가 적용된 값들이 정리 되었음 •Albuquerque의 갯수가 2,071개 -> 2,063로 바뀜
  29. 29. OpenRefine •Trim •To Uppercase or To lowercase •Clustering •Concatenation
  30. 30. OpenRefine •미국 54개 주? •미국의 워싱턴 D.C를 합쳐도 51개 되어야 함 •오하이오주가 대/소문자로 인해 다른 데이터로 인식 •그 밖에 다른 주도 대/소문자 구별이 되지 않은 데이터
  31. 31. OpenRefine •Edit cells - Common transform - To uppercase •대문자로 통일 1 2 3
  32. 32. OpenRefine •51개 주로 수정
  33. 33. OpenRefine •Trim •To Uppercase or To lowercase •Clustering •Concatenation
  34. 34. OpenRefine •Oklahoma City vs. Oklahoma city •Cluster and edit 메뉴를 통해 클러스터링 •OpenRefine의 내장 알고리즘에 의해 분석 1 2 3
  35. 35. OpenRefine •클러스터링을 통해 유사값들을 보여줌 •음성학, 유사형태 등의 분석방법으로 분석 •정확하게 데이터에 대한 파악 후, 병합해야만 한다
  36. 36. OpenRefine •Trim •To Uppercase or To lowercase •Clustering •Concatenation
  37. 37. OpenRefine •미국 주별 총기사건수 비교 •9위 콜럼버스는 72건 •과연 그럴까?
  38. 38. OpenRefine •동일한 도시 이름 Columbus의 해당 주는 OH, GA, IN등 다르다 •즉 전혀 맞지 않는 총기사건수가 카운팅 된 것으로 파악할 수 있음 •그렇다면, city + state를 병합하여 정확한 행정구역을 만들어줘야 함
  39. 39. OpenRefine •City - Edit cells - transform •value + “,” + cells[“state”].value
  40. 40. OpenRefine •Text facet으로 다시 분석 •앞의 결과와 달리 정확한 분석
  41. 41. OpenRefine 5 Invalid values and duplicates 유효하지 않은 값과 중복값 샘플예제 : (re)titanic.csv •데이터에 대한 이해로 접근하기 •오류데이터에 대한 이유 분석과 수정
  42. 42. OpenRefine 샘플예제 : (re)titanic.csv •데이터에 대한 이해로 접근하기 •오류데이터에 대한 이유 분석과 수정
  43. 43. OpenRefine •Titanic 탑승자 정보 데이터 오류는 없을까? •우선 sex facet를 통한 데이터 현황 파악
  44. 44. OpenRefine •남성과 여성이 아니면? •기본적으로 데이터 오류라고 추정
  45. 45. OpenRefine •여성의 이름 앞에 Miss •여성으로 간주 할 수 있다
  46. 46. OpenRefine •female이라고 수정
  47. 47. OpenRefine 샘플예제 : (re)titanic.csv •데이터에 대한 이해로 접근하기 •오류데이터에 대한 이유 분석과 수정
  48. 48. OpenRefine •Facet - Numeric facet •Scale 범위 조정으로 오류 데이터 잡아내기 •490살 오류 데이터 •49살이라고 입력해야 할 것을 잘못 입력했다고 판단 •49살로 수정 후, number로 설정
  49. 49. OpenRefine 6 Exporting a project 프로젝트 내보내기
  50. 50. OpenRefine •TSV •CSV •HTML table •Excel •MQL Write
  51. 51. OpenRefine •Practice •hokuk.xls 파일을 openrefine에서 활용해 보세요 •Concatenation, value.round(), trim() 등을 활용
  52. 52. OpenRefine

×