Top

데이터 과학 효율을 높이는 데이터 클리닝 [불량 데이터의 문제를 발견하고 해결하는 방법]

  • 원서명Cleaning Data for Effective Data Science: Doing the other 80% of the work with Python, R, and command-line tools (ISBN 9781801071291)
  • 지은이데이비드 메르츠(David Mertz)
  • 옮긴이유동하
  • ISBN : 9791161757094
  • 40,000원 (eBook 32,000원)
  • 2023년 01월 31일 펴냄
  • 페이퍼백 | 636쪽 | 188*235mm
  • 시리즈 : 데이터 과학

책 소개

요약

데이터 과학자라면 피할 수 없는 데이터 클리닝 작업은 수집과 분석, 정제에 이르기까지 데이터 과학의 효율을 높이는 일반적인 절차다. 기존 책들이 주로 첫 장에서만 다루던 데이터 준비 과정에 대한 필수 내용을 구체화했고, 실제 데이터 과학에서 응용할 수 있는 기술을 전달한다. 데이터 클리닝 작업을 수행하기 위한 도구와 기술을 설명하고, 새로 습득한 기술을 테스트하고 개선해볼 수 있도록 각 장의 끝 부분에 자세한 실습이 수록돼 있다.

이 책에서 다루는 내용

◆ 데이터를 신중하게 생각하고 올바른 질문을 하는 방법
◆ 개별 데이터 포인트와 관련된 문제 데이터 식별
◆ 데이터의 체계적인 형태에서 문제 데이터 감지
◆ 데이터 무결성 및 청결 문제 해결
◆ 분석 및 머신 러닝 작업을 위한 데이터 준비
◆ 누락되거나 신뢰할 수 없는 데이터에 값 보정
◆ 데이터 과학, 데이터 분석 또는 시각화 목표에 더 적합한 통합 특징 생성

이 책의 대상 독자

자기 주도적인 독자나 좀 더 체계적인 학술, 훈련 또는 인증 과정에서 사용하기 적합하다. 각 장의 하단에는 독자나 학생들에게 이전 자료에서 방금 배운 것과 관련된 작업을 완성하게 요구하는 연습이 있다.

저자/역자 소개

지은이의 말

데이터 과학, 데이터 분석, 머신러닝에서 실제 목적을 달성하고자 필요한 대부분의 노력은 데이터를 클리닝하는 데 있다. 이 책의 부제는 데이터 클리닝에 할당된 일반적인 비율을 암시한다. 몇 년 전에 데이터 과학 콘퍼런스에서 기조 연설자는 동료와 함께 이와 관련된 농담을 했는데, 아마 널리 되풀이된 농담일 것이다. 동료는 데이터 클리닝이 작업 시간의 절반을 차지한다고 불평했고 기조 연설자는 단지 절반만 차지한다는 사실에 놀랐다. 정확한 비율을 할당하는 것을 크게 걱정할 필요는 없다. 기술자 및 데이터 과학자로 일해보니 내 일의 대부분은 통계 분석, 머신러닝 모델 또는 미묘한 차이가 있는 시각화를 위해 데이터를 준비하는 것임을 깨달았다. 성공을 바라는 임원들이나 기술 관리자들은 실무와 다소 떨어져 있기 때문에 조직이 획득하는 데이터 세트가 깨끗하고 작업하기 쉬울 것이라는 낙관적 생각을 가지곤 한다. 하지만 나의 경험상 그런 적은 없었다.
물론 어떤 데이터는 더 좋고 어떤 데이터는 더 나쁘다. 그러나 통계의 매우 작은 오차 범위 내에서 모든 데이터는 오염돼 있다. 통계 교과서나 소프트웨어 라이브러리의 표준 예제로서 널리 배포되고 출판돼 주의 깊게 연구된 데이터 세트도 데이터 무결성 문제가 있다. 최선의 전처리 후에도 데이터를 덜 오염시키는 것이 더 달성해야 할 목표가 된다. 데이터를 깨끗하게 만드는 것은 지나치게 이상적인 목표로 남아 있다.
데이터 품질과 데이터 효용성을 구별해야 하는데, 이 말은 크게 보면 서로 상충된다. 데이터가 오염돼 있을 수 있지만 때로는 매우 유용하다. 클리닝된 데이터라고 하더라도 거의 목적이 없거나 목적에 적합하지 않을 수 있다. 수집할 측정값의 선택, 가능한 선택 편향(Selection Bias) 또는 기타 방법론적 및 과학적 질문에 대한 우려는 대부분 이 책의 범위를 벗어난다. 내가 제시하는 많은 기술은 데이터의 효용성을 평가하는 데 도움이 될 수 있지만 시스템 문제를 해결하는 기계적 메서드는 없는 경우가 많다. 예를 들어 통계 및 기타 분석에서 특정 데이터 필드가 신뢰할 수 없음을 드러내거나 최소한 강하게 암시할 수는 있다. 그러나 일반적으로 이 책에서 소개하는 기술은 신뢰할 수 없는 데이터를 자동으로 수정하거나 더 나은 데이터를 수집할 수는 없다.
이 책의 목적은 특정 도구의 사용법을 배우는 것이 아니라 데이터 품질의 근본적인 목적을 이해하는 것이다. 제시된 개념은 데이터 처리와 머신러닝에 사용되는 모든 프로그래밍 언어에 적용할 수 있어야 한다. 내가 보여준 기술을 여러분이 선호하는 도구와 프로그래밍 언어에 쉽게 적용할 수 있기를 바란다.

지은이 소개

데이비드 메르츠(David Mertz)

머신러닝과 과학 컴퓨팅 분야에서 개발자와 데이터 과학자를 교육하는 데 전념하는 KDM 트레이닝의 설립자다. 아나콘다 사(Anaconda Inc.)의 선임 트레이너였으며 데이터 과학 훈련 프로그램을 만들었다. 심층 신경망의 등장으로 로봇 오버로드를 훈련시키는 쪽으로 방향을 틀었다.
이전에 D.E. 쇼 리서치에서 8년 동안 일했으며 파이썬 소프트웨어 재단의 이사이기도 했다. 상표 위원회와 Scientific Python Working Group의 공동 의장직을 유지하고 있다. 칼럼인 「Charming Python」과 「XML Matters」는 한때 파이썬 분야에서 가장 널리 읽히는 기사였다.

옮긴이의 말

데이터 과학이나 데이터 엔지니어링 작업 중 80%는 데이터 수집, 변환, 정제와 같은 준비 작업이다. 나머지 20%의 작업이 통계, 머신러닝 또는 기타 다양한 분석 기업을 적용하는 것이다. 80% 추정치가 정확하지 않더라도 데이터를 다루는 대부분의 시간과 노력이 여기에 소비된다.
이처럼 데이터의 수집과 변환, 정제에 이르기까지 데이터 과학의 효율을 높이는 작업을 데이터 클리닝이라고 하며, 데이터 과학자라면 피할 수 없는 작업이다. 데이터 클리닝은 데이터 과학 및 머신 러닝 작업을 위한 데이터 파이프라인에서 시간이 많이 걸리고 중요한 작업이지만 가장 적게 언급되는 부분이다. 주로 책이 아닌 경험이나 시행착오를 통해 배우게 되지만 데이터 클리닝에 관한 적합한 책을 찾을 수 있다면 이러한 시간과 비용을 줄일 수 있다.
하지만 데이터 과학 관련 서적들이 주로 첫째 장에서만 데이터 준비 과정을 다루기 때문에 이론적 토대에 관한 지식을 제대로 전달하지 않고 관련 파이썬 및 R 패키지를 사용하는 방법만 보여준다. 이 책의 전반적인 구성은 데이터 과학 실무에서 개발할 데이터 파이프라인 단계와 유사한 순서로 배열돼 있으며 효율적인 데이터 과학을 위한 표준 데이터 파이프라인에서 해결해야 할 데이터 클리닝 문제를 다룬다.
광범위한 테이블 형식, 계층적 형식 등 여러 타입의 데이터 형식을 살펴보며 결측값을 보정하고 신뢰할 수 없는 데이터 및 통계적 이상치를 감지하고 합성하는 기술을 설명한다. 특히 다양한 형태의 데이터에 대한 구조적 문제와 내용적 문제를 짚어보고 유용하게 정리하는 방법의 장단점을 살펴본다. 또한 데이터 준비 과정에 대한 필수 내용을 구체화했고 실제 데이터 과학에서 응용할 수 있는 기술을 전달한다. 데이터 클리닝을 수행하기 위한 도구와 기술을 설명하고 새로 습득한 기술을 테스트하고 개선해 지식이 강화되도록 각 장의 끝부분에서는 자세한 실습을 제공하고 있다.
이 책에서 다루는 파이썬이나 R 코드를 감안할 때 이러한 언어에 대한 지식과 경험이 있는 것은 좋지만 전부 알고 있을 필요는 없다. 템플릿으로 사용할 수 있는 코드 예제가 많지만 코드의 이해나 잘라내기 및 붙여넣기 예제보다 사고방식과 사고 과정을 강조한다. 즉, 파이썬, 셸 스크립트, R을 모르더라도 몇 줄의 코드로 얼마나 많은 일을 할 수 있는지 보는 것만으로도 도움이 된다.
데이터 과학이나 AI 분야에서 일하는 사람이라면 누구나 이 책을 읽고 더 정제되고 유용한 데이터를 얻고자 프로세스를 구현하는 방법을 학습할 수 있을 것이다. 데이터를 준비하는 전처리 과정과 관련이 있는 독자에게 이 책을 강력히 추천하며 전산학 학위 취득을 위해 데이터 구조와 알고리즘을 배우는 시기에 읽을 것을 권장한다.

옮긴이 소개

유동하

디지털 분석 기업 넷스루에서 전략 기획을 담당하며, Google Analytics 공식 인증 파트너가 되도록 기여했다. 서울 과학종합대학원(aSSIST)과 한국외국어대학교 경영대학원에서 웹 마이닝 과목을 가르쳤다. 그 외에도 네이버 사내 강의와 검색 광고주 대상으로 웹 분석과 관련된 강의를 했으며, 대학에서 인터넷 마케팅을 강의했다.
국내외 게임 회사와 인터넷 쇼핑몰, 금융권, 공공기관 등의 웹 분석 프로젝트를 수행했다. 월간지에 데이터 마이닝과 웹 마이닝 주제로 강좌를 연재했고 인터넷 광고 측정에 관한 칼럼을 쓰기도 했다. 번역서로는 에이콘출판사에서 출간한 『데이터 과학자가 되는 핵심 기술』(2017)이 있다.

목차

목차
  • 1부. 데이터 수집
  • 1장. 테이블 형식
    • 정리
    • CSV
      • 온전성 검사
      • 좋은 데이터, 나쁜 데이터, 텍스트 데이터
        • 나쁜 데이터
        • 좋은 데이터
    • 유해하다고 간주되는 스프레드시트
    • SQL RDBMS
      • 데이터 타입 다듬기
      • R에서 반복
      • SQL이 잘못되는 위치(및 이것을 확인하는 방법)
    • 기타 형식
      • HDF5와 NetCDF-4
        • 도구와 라이브러리
      • SQLite
      • 아파치 파켓
    • 데이터 프레임
      • 스파크/스칼라
      • 판다스와 파생된 래퍼
      • Vaex
      • R의 데이터 프레임(Tidyverse)
      • R의 데이터 프레임(data.table)
      • 흥미로운 Bash
    • 연습
      • 엑셀 데이터 정리
      • SQL 데이터 정리
    • 대단원

  • 2장. 계층적 형식
    • JSON
      • JSON의 모습
      • NaN 처리와 데이터 타입
      • JSON Lines
      • GeoJSON
      • 깔끔한 지리
      • JSON 스키마
    • XML
      • 사용자 레코드
      • 키홀 마크업 언어
    • 구성 파일
      • INI와 플랫 사용자 정의 형식
      • TOML
      • YAML
    • NoSQL 데이터베이스
      • 문서 지향 데이터베이스
        • 누락된 필드
        • 비정규화와 비정규화의 불만
      • 키/값 저장소
    • 연습
      • 채워진 영역 탐색
      • 관계형 모델 생성
    • 대단원

  • 3장. 데이터 소스의 목적 변경
    • 웹 스크래핑
      • HTML 테이블
      • 테이블 형식이 아닌 데이터
      • 커맨드라인 스크래핑
    • PDF
    • 이미지 형식
      • 픽셀 통계
      • 채널 조작
      • 메타데이터
    • 바이너리 직렬화된 데이터 구조
    • 사용자 정의 텍스트 형식
      • 구조화된 로그
      • 문자 인코딩
    • 연습
      • NPY 파서 향상
      • 웹 트래픽 스크래핑
    • 대단원

  • 2부. 오류의 변천
  • 4장 이상 징후 감지
    • 결측 데이터
      • SQL
      • 계층적 형식
      • 센티넬
    • 잘못 코딩된 데이터
    • 고정된 한도
    • 아웃라이어
      • z-스코어
      • 사분위수 범위
    • 다변량 아웃라이어
    • 연습
      • 유명한 실험
      • 철자가 틀린 단어
    • 대단원

  • 5장. 데이터 품질
    • 결측 데이터
    • 편향적인 트렌드
      • 편향 이해
      • 편향 감지
      • 기준선과 비교
      • 벤포드의 법칙
    • 클래스 불균형
    • 정규화과 스케일링
      • 머신러닝 모델 적용
      • 스케일링 기술
      • 요인 및 샘플 가중치
    • 주기성과 자기 상관관계
      • 도메인 지식 트렌드
      • 발견된 주기
    • 비스포크 검증
      • 콜레이션 검증
      • 트랜스크립션 검증
    • 연습
      • 데이터 특성화
      • 오버샘플링된 여론 조사
    • 대단원

  • 3부. 수정과 참조
  • 6장. 값 보정
    • 전형적인 값 보정
      • 전형적인 테이블 형식 데이터
      • 지역성 보정
    • 트렌드 보정
      • 트렌드 타입
      • 더 크게 얽힌 시계열
        • 데이터 이해
        • 사용할 수 없는 데이터 제거
        • 일관성 보정
        • 보간법
      • 비시간적 트렌드
    • 샘플링
      • 언더샘플링
      • 오버샘플링
    • 연습
      • 대체 트렌드 보정
      • 다중 특징 밸런싱
    • 대단원

  • 7장. 피처 엔지니어링
    • 날짜/시간 필드
      • 날짜 시간 만들기
      • 규칙성 부여
      • 중복된 타임스탬프
      • 타임스탬프 추가
    • 문자열 필드
      • 퍼지 매칭
      • 명시적 범주
    • 문자열 벡터
      • 분해
      • 로테이션과 화이트닝
      • 차원 축소
      • 시각화
    • 양자화와 이진화
    • 원핫 인코딩
    • 다항식 특징
      • 합성 특징 생성
      • 특징 선택
    • 연습
      • 간헐적 발생
      • 레벨 특성화
    • 대단원

  • 4부. 부록
  • A. 마치며
    • 여러분이 아는 것
    • 여러분이 아직 모르는 것
  • B. 용어 사전

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안