Steady Seller

데이터 마이닝 개념과 기법

  • 원서명Data Mining: Concepts and Techniques, Third Edition (ISBN 9780123814791)
  • 지은이지아웨이 한(Jiawei Han), 미셸린 캠버(Micheline Kamber), 지안 페이(Jian Pei)
  • 옮긴이정사범, 송용근
  • ISBN : 9788960777026
  • 50,000원
  • 2015년 04월 30일 펴냄
  • 페이퍼백 | 872쪽 | 188*250mm
  • 시리즈 : 데이터 과학

책 소개

2016년 대한민국학술원 우수학술도서 선정도서
요약

이 책은 대량의 데이터셋에서 의미있는 패턴을 발견하는데 필요한 데이터 마이닝 이론과 실제적용 사례에 대해 설명한다. 실제 데이터 마이닝 프로젝트를 수행하는 분석가라면 기본적으로 알고 있어야 하는 다양한 알고리즘과 이에 대한 구현 사례를 예로 들어 설명했다. 또한 데이터웨어하우스, 데이터 큐브기술, 소셜네트워크/공간/멀티미디어 등의 복잡한 데이터를 분석하기 위한 기술에 대해서도 소개한다. 객체관계형 DB, 공간 데이터, 멀티미디어 데이터, 시계열 데이터, 텍스트 데이터, 월드와이드웹과 몇몇 주제에 대한 응용분야를 포함한 고급 마이닝 방법까지도 설명한다. 데이터를 분석하는 데 필요한 분석 컨셉과 기술을 포괄적이고 실용적으로 설명해 데이터 마이닝의 길잡이가 될 필독서다.

추천의 글

대용량 데이터 분석은 이 시대의 필수 요건입니다. 『슈퍼 크런처』처럼 유명한 과학 서적에서도 대규모의 데이터를 통해 전문가들까지 깜짝 놀랄만한 발견과 직관을 이끌어낸 사례를 소개합니다. 모든 사업체는 데이터의 수집과 분석으로 이익을 얻고 있습니다. 병원은 환자의 진료 기록에서 경향성과 특이사항을 파악하고, 검색 엔진은 랭킹과 광고 배치에 도움을 얻으며, 환경과 보건 에이전시 역시 각 조직이 보유한 데이터에서 패턴과 비정상성을 파악합니다. 데이터의 활용 목록은 끝도 없이 이어질 수 있습니다. 전산 보안과 컴퓨터 네트워크의 침입 감지, 가정의 가전 에너지 사용량 모니터링, 생명정보학과 제약 데이터의 패턴 분석, 재정과 비즈니스 인텔리전스 데이터, 블로그의 트렌드 파악, 트위터 등 매우 많습니다. 저장 공간의 비용은 점점 떨어지고 데이터 센서 단가의 하락은 그 이상입니다. 덕분에 오늘날 데이터의 수집과 저장이 과거 그 어느 때보다도 수월하고 저렴합니다.

이제 문제는 데이터를 ‘어떻게 분석할 것인가’입니다. 정확히 이 책, 개정3판이 주목하는 주제입니다. 지아웨이, 미셸린, 지안, 이 세 저자는 클러스터링과 클래스 분류, 데이터베이스 활용법(예: 연관 규칙, 데이터 큐브)과 같은 고전적인 주제부터 최신의 고급 기법 주제(예: SVD/PCA, 파동 분석, SVM)까지 백과사전처럼 모든 관련 방법을 포괄하는 내용을 저술했습니다.

이 책은 특히 초심자부터 고급자까지 모두 쉽게 접근할 수 있도록 쓰여 있습니다. 우선 기본이 되는 배경 지식을 설명하고, 이어지는 내용으로 상세한 내용을 설명합니다. 그리고 집중을 유지하는 데 큰 도움을 줄 수 있는 여러 서술적인 질문을 함께 담았습니다. 이전의 두 판이 카네기 멜론 대학의 데이터 마이닝 수업 교과서로 쓰였던 것처럼, 3판도 그러할 것입니다. 새로운 개정3판에서는 뚜렷한 차이가 있는데, 특히 2006년 이후로 새롭게 떠오른 최신 그래프/소셜 네트워크, 센서 네트워크, 아웃라이어 주제에 대해 집중적으로 100편 이상의 참고 문헌을 담았습니다. 또 시각화와 아웃라이어 탐색을 하나의 새로운 장으로 만들고, 고급 분석 기법, 이를테면 상위 k 패턴의 패턴 마이닝과 바이클러스터링, 그래프 클러스터링과 같은 클러스터링 분석 기법을 별개의 장으로 상세하게 설명합니다.

과거에서 현재까지 이어지는 데이터 마이닝 방법에 대한 훌륭한 책으로, 강의교재뿐만 아니라 레퍼런스로도 이상적인 책이 될 것입니다.
- 크리스토스 팔로우초스(Christos Faloutsos) / 카네기 멜론 대학에서

개정2판 추천의 글

지금은 데이터 홍수의 시대입니다. 과학 데이터, 의학 데이터, 인구 통계, 재정 데이터, 마케팅 데이터, 데이터는 어디에나 있습니다. 사람은 그 수많은 데이터를 일일이 들여볼 시간이 없습니다. 오늘날 인간의 관심은 희소 자원입니다. 따라서 데이터를 자동으로 분석, 분류, 종합해서 지식을 발견하고 경향성과 특성을 찾아내며 비정상적인 데이터에 자동으로 표식을 매겨 줄 필요가 있습니다. 통계, 시각화, 인공 지능, 기계 학습 분야의 많은 연구자가 이러한 연구에 매진하고 있습니다. 하지만 범위가 방대하기 때문에 지난 수십 년간 급격하게 발전한 이 분야의 발전상을 꿰뚫어보기는 쉽지 않습니다.

6년 전, 지아웨이 한과 미셸린 캠버는 『데이터 마이닝(Data Mining)』이라는 제목의 교과서를 엮어 출간했습니다. 데이터 마이닝 분야 혁신의 황금기를 일깨우는 책이었습니다. 이제 새롭게 나온 이번 개정2판은 그간의 발전상을 담아냈습니다. 반 이상의 참조 서적과 기록을 최근의 연구 발전에서 가져왔습니다. 새로운 알고리즘이 발표되고, 기존의 알고리즘이 개선되며 데이터 마이닝 학계도 성숙해가고, 또 데이터 형태의 범위도 스트림, 시퀀스, 그래프, 시계열, 지리 공간, 오디오, 이미지, 영상이 추가되며 더욱 넓어졌습니다. 분명 우리는 황금기의 마지막이 아니라(연구자와 상업적인 관심도 늘어나면서) 급격한 진보의 한 가운데에 놓인 행운을 얻은 것입니다.
이 책은 먼저 데이터 분석의 관점을 강조하면서 데이터베이스와 데이터 마이닝의 개념을 간략하게 소개합니다. 그리고 여러 장을 걸쳐 클래스 분류, 예측, 연관 규칙, 클러스터링에 얽힌 다양한 개념과 기법을 차근차근 설명합니다. 주제마다 사례가 따르고, 문제의 종별로 최적의 알고리즘을 설명하면서, 어떤 기술을 언제 적용해야 하는지 그 근원적인 규칙을 알려줍니다. 저 자신도 이 책의 첫 번째 판을 읽으면서 많은 점을 배웠고, 두 번째 개정판을 읽으면서 또 새로운 것들을 배울 수 있었습니다.
지아웨이 한과 미셸린 캠버는 데이터 마이닝 연구 분야를 선도하는 권위자입니다. 바로 그들이 자신의 학생들에게 이 분야를 따라오도록 가르칠 때 쓰는 책이 바로 이 책입니다. 데이터 마이닝은 무척 빠르게 진화하지만, 이 책도 그만큼 빠르게 기본 개념과 오늘날의 양상을 파악할 수 있는 길을 열어줍니다. 이 책은 저에게 무척 많은 것을 알려주는 흥미로운 책이었습니다. 여러분에게도 그러하리라 자신합니다.
- 짐 그레이(Jim Gray)

이 책에서 다루는 내용

수십 가지 알고리즘과 구현 사례를 의사코드와 함께 대규모 데이터 마이닝 프로젝트의 실제 사례에서 곧장 활용 가능한 예제와 함께 설명한다.

관계형 데이터베이스는 물론, 공간/멀티미디어/시계열/텍스트 데이터 마이닝과 웹 마이닝을 비롯해 다양한 분야의 적용 사례와 고급 기법을 설명한다.

데이터 마이닝과 지식 발견 분야의 원리와 기술을 실제의 관점에서 종합적으로 살펴본다.

이 책의 대상 독자

업계 전문가

이 책은 데이터 마이닝 분야의 광범위한 주제를 포괄하기 위해 작성했다. 따라서 데이터 마이닝에 관한 한 훌륭한 핸드북이 되어 줄 것이다. 각자의 분야에서 필요한 데이터 마이닝의 핵심 아이디어를 배우고 싶은 애플리케이션 프로그래머와 정보 서비스 관리자에게도 유용할 것이다. 마찬가지로 사업상 데이터 마이닝 솔루션을 도입하려는 은행, 보험, 의약, 유통업과 관련 업계에서 활용하기에 좋다. 게다가 이 책은 데이터 마이닝 분야에 대한 전반을 모두 포괄하기 때문에 최신 데이터 마이닝의 고급 기법을 읽고 데이터 마이닝의 적용 분야를 넓히고자 하는 연구자에게도 큰 도움이 될 수 있다.

학생

이 책이 학생 여러분에게 아직 새로우며 빠른 성장세에 있는 데이터마이닝이라는 학문에 대한 관심의 기폭제가 되기를 바란다. 교과서를 목적으로 만든 책이기는 하지만, 앞으로 연관 분야를 깊이 있게 연구하거나 데이터 마이닝 업무를 맡았을 때 레퍼런스나 핸드북으로도 쓸 수 있도록 구성하려 노력했다.

학생이 이 책을 읽기 위한 필수 사전지식

▶ 통계와 데이터베이스 시스템, 기계 학습에 대한 기초 개념과 용어를 어느 정도 알고 있어야 한다. 물론, 기초 배경에 대한 설명도 충분히 담아낼 수 있도록 작성했으니, 이 분야에 도무지 적응하지 못한다거나 기억력이 떨어지지 않는 이상, 이 책의 설명을 따라오는 데엔 큰 무리가 없을 것이다.

▶약간의 프로그래밍 기술이 있어야 한다. 특히 수도코드(pseudo code)를 읽을 수 있어야 하며, 다차원 배열과 같은 단순한 데이터 구조를 이해하고 있어야 한다.

강사

이 책은 데이터 마이닝 학계를 넓고 또 깊게 살펴볼 수 있도록 쓰였다. 학부 고학년에서 대학원 1년차까지 데이터 마이닝의 개론부터 고급 학부 수업에 이르기까지 다양한 수업에 활용할 수 있을 것이다.

이 책의 구성

1장은 다방면에 걸친 데이터 마이닝이란 분야를 소개합니다. 데이터 마이닝이 필요하게 된 계기인 인 정보 기술의 발전 과정을 논의하고, 데이터 마이닝이 왜 중요한지 설명합니다. 관계형, 트랜잭션 형, 데이터웨어하우스의 데이터 및 시계열, 시퀀스, 데이터 스트림, 시공간 데이터, 멀티미디어 데이터, 텍스트, 그래프, 사회 네트워크에서 웹 데이터에 이르기까지 복합적인 데이터 형식을 살펴 볼 것입니다. 그리고 마이닝의 대상 지식 종류에 따른 데이터 마이닝의 일반적인 클래스 분류 기법을 간략히 살펴보고, 마지막으로 데이터 마이닝에 남겨진 주요 쟁점에 대해 논의합니다.
2장은 일반적인 데이터의 특성을 소개합니다. 먼저 데이터 오브젝트와 속성 유형을 설명하고, 데이터 파악에 기본적인 통계 기법과 측정법을 소개합니다. 다양한 데이터 형식에 대한 데이터 시각화 기법을 간략히 살펴보고, 추가로 수량 데이터의 시각화와 텍스트, 태그, 그래프, 다차원 데이터의 시각화 기법을 알아 보겠습니다. 또 다양한 유형의 데이터에서 유사성을 측정하는 방법에 대해 소개하겠습니다.
3장은 데이터 전처리 기법을 소개합니다. 우선 데이터 품질의 개념을 설명한 다음, 데이터의 정제, 통합, 축약과 변환, 불연속화에 대해 논의합니다. 4장과 5장은 데이터웨어하우스와 OLAP(On-Line Analytical Processing), 데이터 큐브 기법을 상세하게 설명합니다. 4장은 기본이 되는 개념, 모델링, 구조 디자인과 일반적인 데이터웨어 하우스와 OLAP의 구현을 설명하고, 데이터웨어하우스와 여타 데이터 일반화 방법 간의 관계를 알아 보겠습니다. 5장은 데이터 큐브 기술을 좀 더 깊이 설명하면서, 별 모양 큐브에서 고차원 OLAP 기법 등 데이터 큐브 연산 방법을 자세하게 알아보겠습니다. 그리고 데이터 큐브와 OLAP 기술의 여러 측면을 상세하게 살펴보면서 큐브의 샘플링, 랭크 매기기, 예측 큐브와 복합 분석 쿼리를 위한 다특성 큐브와 발견 주도 큐브 탐색을 설명합니다.

6장과 7장은 대규모 데이터 세트에서 빈도 패턴, 연관 규칙, 상관 관계를 분석하는 방법을 설명합니다. 6장에서는 장바구니 분석과 같은 기본 개념을 소개합니다. 장바구니 분석에는 자주 등장하는 아이템 세트를 정리하는 다양한 마이닝 기법이 등장합니다. 기본적인 연역 알고리즘과 효율성 향상을 위한 변형 방법부터, 종형 데이터 형식의 빈도 패턴 마이닝, 닫힌 최빈 아이템 세트의 마이닝까지 다양한 방법을 소개합니다. 그리고 마지막으로 패턴 확인 방법과 상관 패턴 분석 방법을 설명합니다. 7장은 고급 패턴 마이닝 방법을 설명합니다. 다수준 다차원 공간의 패턴 마이닝, 빈도가 낮은 패턴과 부정 패턴의 마이닝, 대규모 패턴의 마이닝과 고차원 데이터의 패턴 마이닝, 조건 패턴 마이닝과 압축/추정 패턴의 마이닝을 알아 보겠습니다. 그리고 빈도 패턴의 감성적 특성을 비롯한 패턴 탐색 방법을 소개합니다.
8장과 9장은 클래스 분류 기법을 설명합니다. 클래스 분류 방법론의 중요성과 다양성 때문에 내용을 두 장으로 나누어 보아야 하겠습니다. 8장은 클래스 분류의 기본 개념과 방법론을 알아 보겠습니다. 우선 베이지안, 규칙 기반 분류 등의 방법을 알아보고, 이어지는 내용으로 앙상블 방법론과 불균형 데이터의 처리 등, 모델의 확인과 선택 방법, 그리고 클래스 분류 정확성을 향상시키는 방법을 논의합니다. 9장은 클래스 분류의 고급 기법을 담았습니다. 베이지안 신뢰 네트워크, 신경망 네트워크 복습 기법, 서포트 벡터 머신, 빈도 패턴 분류, k최인접 이웃 클래스 분류자, 사례 기반 증명, 유전 알고리즘, 러프 세트 이론, 퍼지 세트 기법 등을 살펴보겠습니다. 다중 클래스 분류와 준지도 분류, 동적 학습과 변환 학습을 추가로 설명합니다.
10장, 11장은 클러스터 분석으로 구성했습니다. 10장은 클러스터링의 기초 개념과 방법을 소개합니다. 여기에는 기초적인 클러스터 분석 방법, 파티션 분할, 구조적 클러스터링 방법, 밀도 기반 클러스터링, 그리드 기반 클러스터 방법이 포함되어 있습니다. 그리고 클러스터링의 확인 방법에 대해서도 설명합니다. 11장은 고급 클러스터링 분석에 대한 논의로, 확률 모델 클러스터링, 고차원 데이터의 클러스터링, 그래프/네트워크 데이터의 클러스터링과 조건 클러스터링 기법을 설명합니다.
12장은 아웃라이어 탐색을 설명합니다. 아웃라이어의 기본 개념 아웃라이어 분석 방법을 소개하고, 학습 방법을 지도하는 수준(지도/준지도/비지도 방법)과 접근 관점(통계 기법, 인접성/클러스터링/클래스 분류 기반 방법 등) 다양한 아웃라이어 탐색 방법을 설명합니다. 또 맥락 아웃라이어와 군집 아웃라이어의 마이닝 방법, 그리고 고차원 데이터의 아웃라이어 탐색에 대해 논의합니다.

마지막 13장은 데이터 마이닝의 트렌드, 적용 분야와 선도적인 연구를 살펴봅니다. 시퀀스 데이터(시계열, 심볼 시퀀스, 생물학 시퀀스) 마이닝, 그래프/네트워크 마이닝, 지리 공간 마이닝, 멀티미디어/텍스트/웹 데이터 마이닝 등 복잡한 데이터 형식의 데이터 마이닝을 간단히 살펴보겠습니다. 이처럼 복잡한 형식 데이터의 상세한 데이터 마이닝 기법은 좀 더 상세한 내용을 다루기로 한 다음 책(현재 집필중인)의 몫으로 넘기려 합니다. 이어지는 내용으로 통계 데이터 마이닝, 데이터 마이닝의 이론적 기반, 시각/청각 데이터 마이닝과 데이터 마이닝 애플리케이션 (프로그램) 등 여타 데이터 마이닝 방법론을 다룹니다. 회계/재정 데이터 분석, 유통/통신 업계의 데이터 마이닝, 과학과 공학 관점에서의 데이터 마이닝과 네트워크 침입 감지/예방에 대해, 그리고 데이터 마이닝과 추천 시스템의 관계에 대해서 설명하겠습니다. 오늘날 데이터 마이닝은 우리 일상 생활의 전 범위에 걸쳐 있기 때문에, 유비퀴터스 데이터 마이닝과 보이지 않는 데이터 마이닝이란 개념, 그리고 사생활과 보안 문제, 데이터 마이닝이 사회에 미치는 영향 등 데이터 마이닝과 사회의 관계에 대해 논의해 보겠습니다.
마지막으로 현재 데이터 마이닝의 경향을 살펴보는 것으로 책을 마무리합니다.

저자/역자 소개

저자 서문

우리의 삶에서 전산화는 다방면의 데이터 생산과 수집 능력을 꾸준히 향상시켜 왔습니다.
일상 생활의 모든 곳에 어마어마한 양의 데이터가 흘러 다닙니다. 데이터의 저장과 처리량의 폭발적인 증가로 다량의 데이터를 유용한 정보와 지식으로 변환하는 데 도움을 줄 수 있는 새로운 기술과 자동화 도구가 시급합니다. 때문에 컴퓨터 과학에서는 데이터 마이닝이라는, 유망하고도 찬란한 선도 학문이 창시되었고, 다양한 적용 기술이 개발됐습니다. 데이터 마이닝, 혹은 KDD(Knowledge Discovery from Data, 데이터로 지식 발견하기)라 불리는 이 분야는 대규모 데이터베이스, 데이터웨어하우스나 웹 등의 대규모 정보 저장소와 데이터 스트림을 저장하고 다루는 자동 도구로 패턴을 통해 지식을 끌어낼 수 있는 편리한 기술입니다.
이 책은 지식 발견과 데이터 마이닝의 관점에서 개념과 기법을 설명합니다. 데이터 마이닝은 단 하나로 떨어지지 않는 영역이기에 통계, 기계 학습, 패턴 인식, 데이터베이스 기술, 정보 추출, 네트워크 과학, 지식 시스템, 인공 지능, 고성능 컴퓨팅, 데이터 시각화를 포함한 여러 분야의 노력을 끌어와야 합니다. 우리들은 가용성과 유용성, 효율성, 규모에 관한 주제에 역점을 두고 대규모 데이터 세트에 숨어있는 패턴을 발견하는 기법을 설명하는 데 주력했습니다. 그 결과, 비록 독자들의 종합적인 이해를 돕기 위해 통계학, 기계 학습, 데이터베이스 시스템이나 여타 비슷한 기술의 배경 지식과 데이터 마이닝에서의 역할을 설명하기는 하지만 그 중 어느 한 분야에 국한되지 않습니다. 그보다는 데이터 마이닝에 대한 종합적인 안내서입니다. 컴퓨터 과학 (전산과학)의 학생, 애플리케이션 개발자, 사업체의 전문가와 위 여러 분야의 연구자에게 유용한 책이 될 것입니다.
데이터 마이닝은 1980년대 후반에 폭발적으로 성장하기 시작해서 1990년대에 크게 진일보하고, 새로운 밀레니엄을 맞아 전성기를 이어가고 있습니다. 이 책은 데이터 마이닝에 대한 전반적인 그림을 그려 제시하며, 흥미로운 데이터 마이닝 기법과 시스템을 소개하고 적용 분야와 연구의 향방에 대해 논의할 것입니다. 데이터 마이닝이라는 학제에 잘 정비한 학문적 틀을 정립할 필요가 이 책을 쓰게 된 가장 중요한 동기입니다. 태생적으로 여러 학제에서 다양한 개념을 빌려와 빠르게 발전하는 분야인 만큼, 지난한 일입니다. 우리는 이 책이 각자 다른 배경과 경험을 가진 사람들로 하여금 데이터 마이닝에 대한 자신의 관점을 서로 교환하고 논의하는 계기가 되어, 역동적이고 재미있는 데이터 마이닝이라는 분야의 발전과 형성에 기여할 수 있기를 바랍니다.

저자 소개

지아웨이 한(Jiawei Han)

UIUC(University of Illinois at Urbana-Champaign)(어바나 샴페인 일리노이 주립대학) 컴퓨터 과학부의 명예 공학 교수다. 지식 발견과 데이터 마이닝 연구에 대한 지대한 공헌으로, ACM SIGKDD Innovation Award(2004), IEEE Computer Society Technical Achievement Award(2005), IEEE W. Wallace McDowell Award(2009)를 비롯해서 수많은 상을 수상했다. ACM과 IEEE 위원이며, ACM Transaction on Knowledge Discovery from Data(2006-2011)의 최초 편집장을 역임했고, IEEE Transactions on Knowledge and Data Engineering과 Data Mining and Knowledge Discovery 등 저널의 편집 위원이다.

미셸린 캠버(Micheline Kamber)

콩코르디아 대학(Concordia University)(캐나다 퀘백 주 몬트리울 소재)에서 인공지능 전공으로 컴퓨터 과학의 석사 학위를 받았다. NSERC 장학금을 받고 맥길 대학(McGill University), 사이몬 프레이저 대학(Simon Fraser University)과 스위스에서 연구원으로 활동했다. 데이터 마이닝에 대한 배경 지식과 쉽게 이해 할 수 있는 용어에 대한 열정으로, 전문가와 강사, 학생이 최고로 꼽는 교과서를 집필했다.

지안 페이(Jian Pei)

현재 사이몬 프레이저 대학(영국 컬럼비아 소재) 조교수다. 2002년 지아웨이 한 교수 지도 하에 컴퓨터 과학 박사 학위를 받았다. 데이터 마이닝, 데이터베이스, 웹 검색과 정보 추출에 대한 주요 학술 포럼에서 활발한 저술 활동을 이어가고 있다. 그의 논문은 수천 종 이상의 논문에서 인용되었으며 여러 영예로운 상을 받았다. 그리고 여러 데이터 마이닝과 데이터 분석 저널에서 보조 편집인으로 활동하고 있다.

역자 서문

빅데이터 열기와 함께 예측, 분석 방법에 대한 관심이 계속해서 높아지고 있습니다. 10년 전만해도 국내에 데이터 마이닝이라는 분야가 관련 분야의 사람이 아니라면 낯선 용어였습니다. 하지만 이제는 매일 데이터 마이닝, 빅데이터, 데이터과학이라는 용어의 홍수 속에서 살아가고 있습니다. 매스컴에서도 꾸준히 빅데이터가 거론되고 있으며 이제는 일반 TV프로에서도 의미 있는 정보를 제공할 때 빅데이터 분석 방법에 근거한 결과라고 거론할 정도입니다.

이에 맞춰 최근에는 데이터 분석을 위한 다양한 과정이 개설되고 있으며 여러 가지 다양한 도서들이 봇물처럼 쏟아져 나오고 있기도 합니다. 다만 매번 아쉬운 점이라고 한다면 데이터 분석에 대한 다양한 기술을 소개하는 책들은 많지만 이에 대한 근본적인 원리를 상세하게 소개하는 책은 상대적으로 적었던 것으로 보입니다. 이러한 시점에서 데이터 분석에 사용되는 여러 가지 기법에 대해서 그 근본 원리를 알기를 희망하는 분들에게 이 책은 길잡이 역할을 하리라 생각합니다.

2015년에 금융업에서는 핀테크가 화두가 되고 있으며 제조업에서는 Industry 4.0이라는 명목하에 스마트 팩토리가 이슈화되고 있습니다. 이와 같은 화두의 밑바탕에는 데이터 분석 기술이 자리잡고 있으리라 생각합니다. 특히 이 분야에 관심이 있는 사람이라면 여러 가지 데이터 분석 기술을 포함하는 데이터 마이닝이라는 광범위한 데이터 분석 이론에 대해 기본적인 지식을 알고 있어야 좀 더 현실적인 그림을 그려볼 수 있을 것입니다. 이 책은 이러한 분들을 대상으로 다양한 예를 들어가며 좀 더 많은 이론을 쉽게 설명하고자 노력한 흔적이 보이는 책입니다. 특히나 데이터 마이닝과 관련된 여러 가지 다양한 테마(분류, 예측, 군집화 등)를 예를 들어 설명합니다.

현장에서 데이터 분석을 하다가 항상 느끼고 있는 점이지만 분석 업무라는 것은 혼자서 시작하여 끝내는 작업이 아닙니다. 우선 분석대상이 되는 해당 영역에 대한 이해를 충분히 해야 합니다. 그 다음에는 풀어야 할 문제에 대해 다양한 데이터 분석 기술을 적용하여 결과를 도출해내고 의미를 찾아내어 실제 의사결정에 반영될 수 있도록 설득력 있게 설명해야 합니다. 따라서 분석가가 사용한 방법에 대한 올바른 지식이 없다면 분석 결과에 대한 설득력 있는 주장을 하기 어렵다고 할 수 있습니다. 이를 위해서 분석가는 분석 대상에 대한 이해는 물론 분석에 사용한 이론에 대해서 잘 이해하고 있어야 합니다. 또한 본인이 이해한 내용을 잘 구성하여 상대방이 이해하기 쉽게 설명하는 능력까지 갖춘다면 더 이상 바랄 것이 없는 데이터 분석가라고 할 수 있을 것입니다. 그만큼 올바른 데이터 분석가가 되기 위해서는 본인 스스로도 많은 노력이 필요합니다.

이 책을 번역하면서 최대한 여러 문헌을 참고하고 해당 용어와 표현에 대해 표준용어를 사용하여 표현하려고 노력했었습니다. 혹시라도 잘못된 번역이나 표기가 있다면 독자 여러분의 넓은 아량으로 읽어주시길 바랍니다.

역자 소개

정사범

대학에서 산업공학을 전공하면서 의사결정 최적화 방법론에 대해 관심이 많았다. 2000년이 시작될 즈음 입사한 이후 지금까지 제품을 기획하고 만들어내는 과정에서 발생되는 다양한 데이터를 분석해왔다. 지금도 다양한 분야에서 데이터 분석 관련 프로젝트를 수행하고 있으며, 해당 분야의 업무에 조금이라도 도움이 될 만한 가치를 만들어 내려고 고민하고 있다.

최근에는 제품을 개발하고 생산하는 과정에서 다양한 데이터 분석방법을 활용하여 Smart Manufacturing을 현실화할 수 있는 방법에 대해 알고자 열심히 노력 중이다. 에이콘출판사에서 출간한 『RStudio 따라잡기』(2013), 『The R book (Second Edition) 한국어판』(2014), 『예측 분석 모델링 실무 기법』(2014)을 번역했다.

송용근

세상 모든 것은 시스템이고 데이터로 파악할 수 있다 주장하는 ‘데이터 엔지니어’다. 관념 속의 호기심보다 현실의 결과를 바라, 과학자보단 엔지니어의 길을 택했다. 포스텍(POSTECH)에서 컴퓨터 공학을, 일본 히로시마 대학과 리켄 BSI에서 의료생명과학을 전공하고 현재 디지털 마케팅 전문 업체 Dmajor(www.dmajor.kr)의 데이터 엔지니어로 일하고 있다. 번역서로 에이콘출판사에서 출간한 『Visualize This 비주얼라이즈 디스』(2012), 『The Core iOS Developer's Cookbook (Fifth Edition) 한국어판』(2014) 등이 있고, 『빅데이터와 SNS 시대의 소셜 경험 전략』(2012)을 공저했다.

목차

목차
  • 1장 소개
  • 1.1 왜 데이터 마이닝인가?
  • 1.1.1 정보화시대로 이동
  • 1.1.2 정보기술의 진보된 형태로서의 데이터 마이닝
  • 1.2 데이터 마이닝의 의미
  • 1.3 어떠한 종류의 데이터를 마이닝할 수 있나?
  • 1.3.1 데이터베이스 데이터
  • 1.3.2 데이터웨어하우스
  • 1.3.3 거래 데이터
  • 1.3.4 다른 종류의 데이터
  • 1.4 어떤 종류의 패턴을 마이닝할 수 있는가?
  • 1.4.1 클래스/개념 설명: 특성화와 차별화
  • 1.4.2 빈발 패턴 마이닝, 연관성 분석, 상관 분석
  • 1.4.3 예측 분석을 위한 분류와 회귀 분석
  • 1.4.4 군집 분석
  • 1.4.5 이상치 분석
  • 1.4.6 모든 패턴이 흥미 있는가?
  • 1.5 어떤 기술이 사용되는가?
  • 1.5.1 통계학
  • 1.5.2 기계학습
  • 1.5.3 데이터베이스 시스템과 데이터웨어하우스
  • 1.5.4 정보 검색
  • 1.6 어떤 종류의 애플리케이션을 대상으로 하는가?
  • 1.6.1 비즈니스 인텔리전스
  • 1.6.2 웹 검색 엔진
  • 1.7 데이터 마이닝의 주요 이슈사항
  • 1.7.1 마이닝 밥법
  • 1.7.2 사용자 상호작용
  • 1.7.3 효율성과 확장성
  • 1.7.4 데이터베이스 유형의 다양성
  • 1.7.5 데이터 마이닝과 관련 모임
  • 1.8 정리
  • 1.9 연습문제
  • 1.10 참고문헌

  • 2장 데이터 알아두기
  • 2.1 데이터 객체와 속성 유형
  • 2.1.1 속성의 의미
  • 2.1.2 명목 속성
  • 2.1.3 이진 속성
  • 2.1.4 서수 속성
  • 2.1.5 숫자 속성
  • 2.1.6 이산형 대 연속형 속성
  • 2.2 데이터에 대한 기술통계
  • 2.2.1 중앙 경향을 측정: 평균, 중위수, 최빈값
  • 2.2.2 데이터의 분포를 측정: 범위, 사분위수, 분산, 표준편차, 사분위 범위
  • 2.2.3 데이터 기초 통계설명에 대한 그래픽 디스플레이
  • 2.3 데이터 시각화
  • 2.3.1 픽셀지향 시각화 기술
  • 2.3.2 기하학 투시 시각화 기술
  • 2.3.3 아이콘 기반 시각화 기술
  • 2.3.4 계층적 가시화 기술
  • 2.3.5 복잡한 데이터와 관계의 가시화 방법
  • 2.4 데이터 유사도와 비유사성의 측정
  • 2.4.1 데이터 행렬 대 차이 행렬
  • 2.4.2 명목 속성의 유사도 측정
  • 2.4.3 이진 속성의 유사도 측정
  • 2.4.4 수치형 데이터의 유사도(민코브스키 거리)
  • 2.4.5 서열 속성에 대한 유사도 측정
  • 2.4.6 혼합 유형 속성에 대한 차이
  • 2.4.7 코사인 유사도
  • 2.5 정리
  • 2.6 연습문제
  • 2.7 참고문헌

  • 3장 데이터 전처리
  • 3.1 데이터 전처리: 개요
  • 3.1.1 데이터 품질: 왜 데이터 전처리를 하는가?
  • 3.1.2 데이터 전처리 주요 작업
  • 3.2 데이터 클리닝
  • 3.2.1 결측치
  • 3.2.2 노이즈 데이터
  • 3.2.3 프로세스로서 데이터 클리닝
  • 3.3 데이터 통합
  • 3.3.1 엔티티 확인 문제
  • 3.3.2 중복과 상관관계 분석
  • 3.3.3 튜플 복사
  • 3.3.4 데이터 값 충돌 감지와 해결
  • 3.4 데이터 감소
  • 3.4.1 데이터 감소 전략
  • 3.4.2 웨이브렛 변환
  • 3.4.3 주성분 분석
  • 3.4.4 속성 부분집합 선택
  • 3.4.5 회귀모형과 로그선형모형: 모수 데이터 축소
  • 3.4.6 히스토그램
  • 3.4.7 클러스터링
  • 3.4.8 샘플링
  • 3.4.9 데이터 큐브 합계
  • 3.5 데이터 변환과 데이터 이산화
  • 3.5.1 데이터 변환 전략
  • 3.5.2 정규화에 의한 데이터 변환
  • 3.5.3 비닝에 의한 구분
  • 3.5.4 히스토그램에 의한 구분
  • 3.5.5 클러스터링, 의사결정나무, 상관 분석에 의한 구분
  • 3.5.6 명목 데이터에 대한 개념계층 생성
  • 3.6 정리
  • 3.7 연습문제
  • 3.8 참고문헌

  • 4장 데이터웨어하우스와 OLAP
  • 4.1 데이터웨어하우스: 기본 개념
  • 4.1.1 데이터웨어하우스란?
  • 4.1.2 업무 데이터베이스와 데이터웨어하우스의 차이
  • 4.1.3 왜 별도로 데이터웨어하우스가 필요한가?
  • 4.1.4 DataWarehousing: A Multitiered Architecture
  • 4.1.5 데이터웨어하우스 모델: 엔터프라이즈 웨어하우스, 데이터마트, 가상 웨어하우스
  • 4.1.6 추출, 변환, 로딩
  • 4.1.7 메타 데이터 저위치
  • 4.2 데이터웨어하우스 모델링: 데이터 큐브와 OLAP
  • 4.2.1 데이터 큐브: 다차원 데이터 모형
  • 4.2.4 스타, 눈송이, 팩트별자리: 다차원 데이터 모형을 위한 스키마
  • 4.2.3 차원: 개념계층의 역할
  • 4.2.4 측도: 범주화와 계산
  • 4.2.5 전형적인 OLAP 작업
  • 4.2.6 다차원 데이터베이스 쿼리를 위한 스타넷 쿼리모형
  • 4.3 데이터웨어하우스 설계와 사용
  • 4.3.1 데이터웨어하우스 설계를 위한 비즈니스 분석 프레임워크
  • 4.3.2 데이터웨어하우스 설계 프로세스
  • 4.3.3 정보처리를 위한 데이터웨어하우스 사용
  • 4.3.4 온라인 분석프로세싱에서 다차원 데이터 마이닝까지
  • 4.4 데이터웨어하우스 구현
  • 4.4.1 데이터 큐브의 효율적인 계산: 개요
  • 4.4.2 OLAP 데이터를 인덱싱하기: 비트맵 인덱스와 조인 인덱스
  • 4.4.3 효율적 OLAP 쿼리 처리
  • 4.4.4 OLAP 서버 아키텍처: ROLAP, MOLAP, HOLAP
  • 4.5 속성지향 도입에 의한 데이터 일반화
  • 4.5.1 데이터 특성화를 위한 속성지향 유도
  • 4.5.2 속성지향 유도의 효율적 구현
  • 4.5.3 클래스 비교에 대한 속성지향 유도
  • 4.6 정리
  • 4.7 연습문제
  • 4.8 참고 문헌

  • 5장 데이터 큐브 기술
  • 5.1 데이터 큐브 계산: 사전 컨셉
  • 5.1.1 큐브 실체화: 전체 큐브, 빙산 큐브, 폐쇄 큐브, 큐브 셸
  • 5.1.2 데이터 큐브 계산을 위한 일반 전략
  • 5.2 데이터 큐브 계산 방법
  • 5.2.1 전체 큐브 계산용 멀티웨이 집계
  • 5.2.2 BUC: 아펙스 큐보이드에서 아래 방향으로 빙산 큐브를 계산하기
  • 5.2.3 스타큐빙: 동적 스타트리 구조를 이용한 빙산 큐브 계산
  • 5.2.4 빠른 고차원 OLAP에 대해 사전 셸 부분 계산
  • 5.3 탐색 큐브 기술에 의한 고급 질의 처리하기
  • 5.3.1 샘플링 큐브: 샘플링 데이터에 대한 OLAP 기반 마이닝
  • 5.3.2 큐브순위매기기: 탑-k개의 질의에 대한 효율적 계산
  • 5.4 큐브공간 내 다차원 데이터 분석
  • 5.4.1 예측 큐브: 큐브공간에서 예측마이닝
  • 5.4.2 다특성 큐브: 다양한 분석단위에 따른 혼합집계
  • 5.4.3 예외 기반, 발견지향 큐브공간 탐색
  • 5.5 정리
  • 5.6 연습문제
  • 5.7 참고 문헌

  • 6장 빈발패턴, 연관관계, 상관관계 마이닝: 기본 개념과 방법
  • 6.1 기본 개념
  • 6.1.1 장바구니 분석: 동기부여 예제
  • 6.1.2 빈발항목집합, 폐쇄항목집합, 연관규칙
  • 6.2 빈발항목집합 마이닝 방법
  • 6.2.1 Apriori 알고리즘: 한정된 후보생성으로 빈발항목집합 발견하기
  • 6.2.2 빈발 항목집합에서 연관규칙 생성하기
  • 6.2.3 Apriori의 효율개선하기
  • 6.2.4 빈발항목집합을 마이닝하기 위한 패턴 성장 접근법
  • 6.2.5 수직데이터 형태를 이용한 빈발항목집합 마이닝
  • 6.2.6 폐쇄된 최대패턴 마이닝
  • 6.3 관심대상 패턴은 어느 것인가? - 패턴평가방법
  • 6.3.1 강한 규칙이 반드시 관심대상이 되는 것은 아니다.
  • 6.3.2 연관관계 분석에서 상관 분석까지
  • 6.3.3 패턴평가 측도의 비교
  • 6.4 정리
  • 6.5 연습문제
  • 6.6 참고 문헌

  • 7장 고급 패턴마이닝
  • 7.1 패턴마이닝: 로드맵
  • 7.2 다수준, 다차원 공간의 패턴 마이닝
  • 7.2.1 다수준 연관도 분석
  • 7.2.2 다차원 연관관계 마이닝
  • 7.2.3 정량적 연관규칙에 대한 마이닝
  • 7.2.4 희소한 패턴과 네거티브 패턴 마이닝
  • 7.3 제약조건 기반 빈발 패턴 마이닝
  • 7.3.1 연관규칙에 대한 메타규칙가이드 마이닝
  • 7.3.2 제약 기반 패턴 생성: 패턴 공간 정리하기와 데이터 공간 정리하기
  • 7.4 고차원 데이터와 거대한 패턴 마이닝
  • 7.4.1 패턴 퓨전을 이용한 거대 패턴마이닝
  • 7.5 압축 또는 근사패턴 마이닝
  • 7.5.1 패턴 클러스터링으로 압축패턴을 마이닝하기
  • 7.5.2 중복인식 최상위 k개의 패턴을 추출하기
  • 7.6 패턴 탐색과 응용
  • 7.6.1 빈발패턴에 대한 시맨틱 주석
  • 7.6.2 패턴마이닝의 응용사례
  • 7.7 정리
  • 7.8 연습문제
  • 7.9 참고문헌

  • 8장 클래스 분류: 기초 개념과 방법
  • 8.1 기본 개념
  • 8.1.1 클래스 분류의 의미
  • 8.1.2 일반적인 클래스 분류 기법
  • 8.2 결정 트리 유도
  • 8.2.1 결정 트리 유도
  • 8.2.2 속성 선택 방법
  • 8.2.3 가지치기
  • 8.2.4 결정 트리 유도와 규모
  • 8.2.5 결정 트리 눈으로 보기
  • 8.3 베이즈 분류
  • 8.3.1 베이즈 이론
  • 8.3.2 나이브 베이지안 분류자
  • 8.4 규칙 기반 클래스 분류
  • 8.4.2 결정 트리에서 규칙 추출
  • 8.4.3 순차 포괄 알고리즘의 규칙 구성
  • 8.5 모델 검증과 선택
  • 8.5.1 분류자 성능 비교 측정법
  • 8.5.2 홀드아웃 메소드와 무작위 서브샘플링
  • 8.5.3 교차 검증
  • 8.5.4 부트스트랩
  • 8.5.5 통계적 유의성의 모델 선택
  • 8.5.6 비용효율과 ROC 곡선의 분류자 비교
  • 8.6 분류 정확성 향상 기법
  • 8.6.1 앙상블 개론
  • 8.6.2 배깅
  • 8.6.3 부스팅과 AdaBoost
  • 8.6.4 랜덤 포레스트
  • 8.6.5 불균형 클래스 데이터의 정확성 향상
  • 8.7 정리
  • 8.8 연습문제
  • 8.9 참고문헌

  • 9장 클래스 분류: 고급 기법
  • 9.1 베이지안 신뢰 네트워크
  • 9.1.1 신뢰 네트워크의 개념과 원리
  • 9.1.2 베이지안 신뢰 네트워크 훈련
  • 9.2 복습 분류법
  • 9.2.1 멀티레이어 피드포워드 신경망
  • 9.2.2 네트워크 구조 정의
  • 9.2.3 복습
  • 9.2.4 블랙박스 속으로: 복습과 해독력
  • 9.3 서포트 벡터 머신
  • 9.3.1 데이터를 선형으로 구분할 수 있는 경우
  • 9.3.2 데이터의 선형 분단이 불가능한 경우
  • 9.4 빈도 패턴의 분류
  • 9.4.1 연관성 분류
  • 9.4.2 빈도 패턴 분류
  • 9.5 게으른 학습자
  • 9.5.1 k-최인접 이웃 분류자
  • 9.5.2 사례 입증
  • 9.6 기타 분류 방법론
  • 9.6.1 유전 알고리즘
  • 9.6.2 러프 세트
  • 9.6.3 퍼지 세트
  • 9.7 기타 분류 방법 관련 이슈
  • 9.7.1 다중 클래스 분류
  • 9.7.2 준 지도 분류
  • 9.7.3 능동 학습
  • 9.7.4 전달 학습
  • 9.8 정리
  • 9.9 연습문제
  • 9.10 참고문헌

  • 10장 클러스터 분석: 기본 개념과 방법론
  • 10.1 클러스터 분석
  • 10.1.1. 클러스터 분석이란 무엇인가?
  • 10.1.2 클러스터 분석의 필수 요소
  • 10.1.3 기본 클러스터링 방법 개론
  • 10.2 분할 클러스터링
  • 10.2.1 k-평균: 중심자 클러스터링의 대표
  • 10.2.2 k-중앙자: 오브젝트 클러스터링 기법의 대표
  • 10.3 구조적 클러스터링
  • 10.3.1 조적식 vs. 분할식 구조적 클러스터링
  • 10.3.2 클러스터링 알고리즘의 거리 측정법
  • 10.3.3 BIRCH: 클러스터링 특성 트리의 다단계 구조적 클러스터링
  • 10.3.4 Chameleon: 동적 모델링의 다단계 구조적 클러스터링
  • 10.3.5 확률식 구조 클러스터링
  • 10.4 밀도 기반 클러스터링
  • 10.4.1 DBSCAN: 고밀도 연결 영역에 대한 밀도 기반 클러스터링
  • 10.4.2 OPTICS: 클러스터링 구조 규명을 위한 점 정렬
  • 10.4.3 DENCLUE: 밀도 분포 함수에 따른 클러스터링
  • 10.5 그리드 기반 방법론
  • 10.5.1 STING: STatistical INformation Grid
  • 10.5.2 CLIQUE: 연역적 하위 공간 클러스터링
  • 10.6 클러스터링의 평가
  • 10.6.1 클러스터링 경향성 측정
  • 10.6.1 클러스터 숫자 결정
  • 10.6.3 클러스터링 품질 측정
  • 10.7 정리
  • 10.8 연습문제
  • 10.9 참고문헌

  • 11장 고급 클러스터 분석
  • 11.1 확률 모델 기반 클러스터링
  • 11.1.1 퍼지 클러스터
  • 11.1.2 확률 모델 기반 클러스터
  • 11.1.3 기대 값-최대화 알고리즘
  • 11.2 고차원 데이터의 클러스터링
  • 11.2.1 고차원 데이터의 클러스터링: 문제와 난점, 주요 방법론
  • 11.2.2 부분 공간 클러스터링
  • 11.2.3 바이클러스터링
  • 11.2.4 차원 축소와 분절 클러스터링
  • 11.3 그래프/네트워크 데이터의 클러스터링
  • 11.3.1 그래프/네트워크 클러스터링의 적용 분야와 난제
  • 11.3.2 그래프/네트워크 데이터의 유사성 측정법
  • 11.3.3 그래프 클러스터링 방법
  • 11.4 클러스터링의 제약
  • 11.4.1 제약 조건의 분류
  • 11.4.2 조건이 있는 클러스터링 방법론
  • 11.5 정리
  • 11.6 연습문제
  • 11.7 참고문헌

  • 12장 아웃라이어
  • 12.1 아웃라이어와 아웃라이어 분석
  • 12.1.1 아웃라이어란?
  • 12.1.2 아웃라이어의 유형
  • 12.1.3 아웃라이어 탐색의 난제
  • 12.2 아웃라이어 탐색 방법
  • 12.2.1 지도/준지도/비지도 탐색
  • 12.2.2 통계, 인접성, 클러스터링 방법
  • 12.3 통계적 아웃라이어
  • 12.3.1 파라미터 아웃라이어 탐색
  • 12.3.2 비파라미터 아웃라이어 탐색
  • 12.4 인접성 기반 아웃라이어 탐색
  • 12.4.1 거리 기반 아웃라이어 탐색과 중첩 반복문
  • 12.4.2 그리드 기반 아웃라이어 탐색
  • 12.4.3 밀도 기반 아웃라이어 탐색
  • 12.5 클러스터링 아웃라이어
  • 12.6 클래스 분류 아웃라이어
  • 12.7 맥락/군집 아웃라이어
  • 12.7.1 일반적인 아웃라이어 탐색 방법의 맥락 아웃라이어 탐색 변용
  • 12.7.2 맥락상 정상 행동의 모델링
  • 12.7.3 군집 아웃라이어
  • 12.8 고차원 데이터의 아웃라이어 탐색
  • 12.8.1 통상 아웃라이어 탐색 방법 활용
  • 12.8.2 부분 공간의 아웃라이어 탐색
  • 12.8.3 고차원 아웃라이어 모델링
  • 12.9 정리
  • 12.10 연습문제
  • 12.11 참고문헌

  • 13장 데이터 마이닝의 흐름과 선구자들
  • 13.1 복잡한 데이터 형식의 처리
  • 13.1.1 시퀀스 데이터 마이닝: 시계열/기호/생물학 시퀀스의 처리
  • 13.1.2 그래프/네트워크 마이닝
  • 13.1.3 기타 유형 데이터의 마이닝
  • 13.2 기타 데이터 마이닝 방법
  • 13.2.1 통계적 데이터 마이닝
  • 13.2.2 데이터 마이닝을 보는 관점
  • 13.2.3 시청각 데이터 마이닝
  • 13.3 데이터 마이닝의 활용
  • 13.3.1 회계 데이터 분석의 데이터 마이닝
  • 13.3.2 유통과 통신 업계의 데이터 마이닝
  • 13.3.3 과학과 공학의 데이터 마이닝
  • 13.3.4 네트워크 침입의 감지와 예방에 대한 데이터 마이닝
  • 13.3.5 데이터 마이닝과 추천 시스템
  • 13.4 데이터 마이닝과 사회
  • 13.4.1 어디에나 있고 보이지는 않는 데이터 마이닝
  • 13.4.2 데이터 마이닝과 사생활, 보안, 사회에 대한 영향
  • 13.5 데이터 마이닝 트랜드
  • 13.6 정리
  • 13.7 연습문제

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.11: 아래에서 5행]
(영국 컬럼비아 소재)
->
(캐나다 브리티시 컬럼비아 주 소재)

[p.333 : 하단 (b) 첫 행]
빈 공간
->
비공백

[p.335 : 아래서 10행]
빈 공간
->
비공백

[p.335 : 아래서 9행]
빈 공간
->
비공백

[p.336 : 그림 6.5 중 수식 일부]
h(x,y)5
->
h(x,y) =

101 (order of y)
->
10 + (order of y)

=>

[p.508: 10행]
P(폐암=no|가족력=no,흡연=yes) =0.9
->
P(폐암=no|가족력=no,흡연=no) =0.9