간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (29,930원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (25,200원)
(최대할인 4만원 / 2만원 이상 결제)
Close

데이터 시각화(Visualizing Data) : Processing을 이용한 데이터 탐색과 표현

원제 : Visualizing Data: Exploring and Explaining Data with the Processing Environment
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 22
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

35,000원

  • 31,500 (10%할인)

    1,750P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 7/7(목) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(72)

  • 상품권

AD

책소개

시각화를 구축하는 방법

이 책은 정보시각화의 프로세스와 프로세싱 소개부터 시작해서 매핑, 시계열, 상관관계 분석, 트리, 그래프 등을 시각화하는 방법을 예제와 함께 설명한다. 또한 데이터를 수집해 파싱할 때 사용할 수 있는 다양한 기법도 소개한다.

[데이터 시각화 Visualizing Data]는 프로세싱 프로그래밍 환경을 사용해 데이터 시각화를 구축하는 방법을 다룬다. 정보시각화의 프로세스와 프로세싱 소개부터 시작해서 매핑, 시계열, 상관관계 분석, 트리, 그래프 등을 시각화하는 방법을 예제와 함께 설명한다. 또한 데이터를 수집해 파싱할 때 사용할 수 있는 다양한 기법도 소개한다.

출판사 서평

요약

이 책은 프로세싱 프로그래밍 환경을 사용해 데이터 시각화를 구축하는 방법을 다룬다. 정보시각화의 프로세스와 프로세싱 소개부터 시작해서 매핑, 시계열, 상관관계 분석, 트리, 그래프 등을 시각화하는 방법을 예제와 함께 설명한다. 또한 데이터를 수집해 파싱할 때 사용할 수 있는 다양한 기법도 소개한다.

이 책에서 다루는 내용

데이터 시각화 7단계- 수집, 파싱, 필터링, 마이닝, 표현, 정교화, 상호작용
모든 데이터 문제가 질문에서 시작해 분명한 답을 제공하는 내러티브로 마무리되는 과정
실제 코드를 사용하는 예제 프로젝트
다양한 표현 수단들의 장단점, 그리고 데이터 집합과 가장 어울리는 표현이 되도록 커스터마이징하는 방법

이 책의 대상 독자

2007년 봄, 카네기 멜론 대학교에서 정보 시각화(Information Visualization) 수업을 강의한 적이 있다. 30명의 수강생들은 미술을 전공하는 신입생부터 컴퓨터과학 박사과정 학생에 이르기까지 다양했으며, 그 중간에는 디자인 스쿨 출신의 대학원생과 다양한 학부의 학부생들이 있었다. 수강생들의 기술 수준은 매우 편차가 컸지만 기술 수준보다 훨씬 중요한 것은 호기심의 수준이었으며, 호기심 많고 적극적인 수강생은 기술적 어려움(미술이나 디자인 출신)과 미적 감각 결여(공학 전공자)를 극복할 수 있었다.

이 책의 대상 독자 역시 비슷한 범위의 배경지식을 가정하고 있다. 질문을 하고, 데이터를 가지고 놀며, 타인에게 정보를 효과적으로 전달하는 방법을 이해하고자 하는 사람을 대상으로 한다. 예를 들어, 지금 사용하는 도구보다 복잡한 시각화를 구축하고자 하는 웹 디자이너는 이 책에서 많은 도움을 얻을 수 있다. 또한 데이터를 표현하는 소프트웨어를 능숙하게 작성하고자 하는 소프트웨어 엔지니어에게도 매우 유용할 것이다. 단순히 UI를 개발해본 경험과는 다른 기술이 요구되는 일이기 때문이다. 이런 일들은 고도의 기술을 요구하지는 않지만 어디서부터 시작해야 할지 갈피를 잡기 어려울 때가 많다.

기본적으로 이 책은 데이터 집합을 갖고 있으면서 데이터를 탐구하고자 하는 호기심이 충만하고 데이터에 관해 무언가를 다른 사람에게 전달하고 싶은 사람을 대상으로 한다. 데이터를 시각화하는 사람들의 수는 갈수록 늘어나고 있으며, 기대 수준은 시각화 분야의 전문가들의 수준을 뛰어넘고 있다. 좀 더 많은 사람이 시각화 기법에 익숙해진다면 앞으로 10년간 놀랄 만한 일들이 많이 일어날 것이라고 믿는다.

이 책의 구성

1장, '데이터 시각화 7단계'에서는 데이터를 수집해서 상호작용하기까지 유용한 시각화를 개발하기 위한 과정을 다룬다. 이후의 장에서 문제를 공략하기 위해 일관되게 사용될 프레임워크라고 할 수 있다.

2장, 'Processing 시작하기'에서는 Processing 환경과 구문의 기초적인 내용을 소개한다. API의 구조에 관한 약간의 배경지식과, Processing의 바탕이 되는 기본적인 철학을 제공한다.
3~8장에서는 점점 복잡해지는 예제 프로젝트를 다룬다.

3장, '매핑'에서는 데이터 포인트를 지도 위에 그려보면서 데이터를 디스크에서 읽어 화면에 표현하는 방법을 소개한다.

4장, '시계열'에서는 시간의 변화에 따른 데이터의 변화를 표현하는 차트를 그리는 방법을 다룬다.

5장, '상관관계'에서는 데이터 집합을 획득해 파싱하는 방법을 본격적으로 설명하기 시작한다. 이 장의 예제 프로젝트는 MLB.com 웹사이트에서 데이터를 읽어서 선수들의 연봉과 팀 성적 간의 상관관계를 보여주는 이미지를 생성한다. 공식적인 API가 제공되지 않는 웹사이트로부터 데이터를 긁어오는 방법을 보여주는 방법을 구체적으로 다룬다. 여기에 사용되는 기법은 야구뿐만 아니라 다양한 프로젝트에서 사용할 수 있다.

6장, '산포도'에서는 사용자가 우편번호를 키보드로 입력하면서 미국 지도를 개량할 수 있는 프로젝트를 개발함으로써 "우편번호와 지리적 위치는 어떤 관계가 있는가?"와 같은 질문에 답을 할 수 있는 방법을 소개한다.

7장 '트리, 계층, 재귀'에서는 트리와 계층구조에 관해 논의한다. 또한 트리 구조를 다룰 때 꼭 알아야 할 개념인 재귀에 대해 설명하고, 특정 종류의 트리 데이터를 효과적으로 표현할 수 있는 트리맵도 다룬다.

8장, '네트워크와 그래프'는 정보로 이뤄진 네트워크, 즉 그래프를 주제로 삼는다. 전반부에서는 네트워크를 구성하는 수많은 노드 간의 연결을 표현하는 방법을 논의하고, 후반부에서는 웹사이트 트래픽 데이터를 이용해 실제로 그래프를 생성함으로써 웹사이트 이용 현황을 보여주는 방법을 설명한다. 이때 Processing을 널리 쓰이는 자바 IDE인 이클립스(Eclipse)와 통합하는 방법도 소개한다.

마지막 세 장은 데이터를 획득하고 파싱하는 것과 관련된 추가적인 배경지식과 기법을 중심으로 실무에서 참고서로 사용할 만한 내용을 담고 있다.

9장, '데이터 수집'은 온갖 종류의 실용적인 기법을 망라하는 일종의 요리책에 해당한다. 파일로부터 데이터를 읽어들이는 방법, 웹 브라우저를 흉내 내는 방법, 데이터를 데이터베이스에 저장하는 방법 등을 설명한다.

10장, '데이터 파싱' 역시 9장과 비슷한 구성으로, 데이터를 파싱하는 방법을 보여주는 예제들로 가득하다. HTML 테이블, XML, 압축 데이터, SVG 등의 다양한 형태의 데이터를 파싱하는 방법이 다뤄진다. 또한 문서화되지 않은 데이터 프로토콜의 동작 방법을 이해하기 위해 네트워크 연결을 관찰하는 방법도 소개한다.

11장, 'Processing과 자바의 통합'에서는 Processing API를 자바와 통합하는 방법을 구체적으로 설명한다. 이 장은 Processing API를 별도의 프로젝트에서 사용하기를 원하는 고급 자바 프로그래머를 대상으로 하는, 부록에 가까운 장이라고 할 수 있다.

지은이의 말

시각화 프로젝트의 성과를 보여줄 때 청중에게서 "어떤 방법으로 이런 결과물을 만들 수 있습니까?"라는 질문을 자주 받는다. 데이터 시각화를 다루는 책이 이미 많이 나와 있지만, 대체로 학술 논문을 모아놓은 데 그치는 경우가 많고 실제로 시각화를 구축하는 방법에 관해서 다루는 책은 거의 없다. 디자인 측면에서 접근하는 책들의 경우 시각화 방법에 관한 조언을 제공하지만 대부분 정적인 화면에 그치며, 동적이면서 소프트웨어 기반의 시각화를 다루지 않고 있다. 또한 주어진 시각화의 잘못된 점이 무엇인지 지적하는 데만 집중하고 실질적인 해결책은 제시하지 않는 경우가 많다.

이 책에서는 자신만의 시각화 구축을 시작하고자 하는 사람을 대상으로 좀 더 복잡한 작업으로 나아갈 수 있는 계기를 제공하기 위해 노력했다. 모든 내용을 다루지는 않지만, 충분한 배경지식을 제공함으로써 여러분이 어디로 나아가야 할지 헤매지 않도록 많은 주의를 기울였다.

이 책을 쓴 이유는 나의 박사학위 논문이었던 'Computational Information Design'에서 다룬 아이디어를 좀 더 많은 이들에게 알리기 위해서였다. 특히 학술 논문에서 이론상으로 쓰이는 데 그치지 않고 실제 현장에서 적용 가능하다는 사실을 보여주고 싶었다. 해당 논문은 데이터를 수집해서 이해하기까지의 프로세스를 다뤘다. 즉 대규모의 정보를 얻은 뒤, 쉽게 이해할 수 있고 대화식으로 조작할 수 있는 방법으로 그 정보를 유용하게 표현하는 과정이라고 할 수 있다. 이 과정은 1장에서 처음 소개되고, 이 책 전반에 걸쳐 시각화 작업을 위한 기초적인 프레임워크로서 사용된다.

이 책의 예제 대부분은 다른 라이브러리에 의존하지 않고 완전히 새로 작성된 것이다. 차트나 그래프를 만들어주는 툴킷이나 라이브러리에 의존하기보다는, 약간의 계산, 직선 및 사각형, 그리고 텍스트를 사용해 여러분이 직접 그래프를 만드는 방법을 배우게 된다. 많은 독자가 아마 그러한 툴킷들의 결점을 이미 알고 있을 것이다. 포괄적인 용도로 사용되는 도구는 포괄적인 화면을 보여줄 수 있을 뿐이다. 막상 여러분의 데이터 집합에 적용하면 실망스러운 결과물을 보여주기 십상이다. 데이터는 독특한 유형의 화면 표시와 상호작용을 필요로 하는 경우가 대부분이다. 이 책은 단순한 막대그래프나 원 그래프가 제시할 수 없는 방법으로 여러분의 상상력을 자극하고자 한다.

이 책은 나와 UCLA의 케이시

★ 이 책에서 다루는 내용 ★

■ 데이터 시각화 7단계: 수집, 파싱, 필터링, 마이닝, 표현, 정교화, 상호작용
■ 모든 데이터 문제가 질문에서 시작해 분명한 답을 제공하는 내러티브로 마무리되는 과정
■ 실제 코드를 사용하는 예제 프로젝트
■ 다양한 표현 수단들의 장단점, 그리고 데이터 집합과 가장 어울리는 표현이 되도록 커스터마이징하는 방법

★ 이 책의 대상 독자 ★

2007년 봄, 카네기 멜론 대학교에서 정보 시각화(Information Visualization) 수업을 강의한 적이 있다. 30명의 수강생들은 미술을 전공하는 신입생부터 컴퓨터과학 박사과정 학생에 이르기까지 다양했으며, 그 중간에는 디자인 스쿨 출신의 대학원생과 다양한 학부의 학부생들이 있었다. 수강생들의 기술 수준은 매우 편차가 컸지만 기술 수준보다 훨씬 중요한 것은 호기심의 수준이었으며, 호기심 많고 적극적인 수강생은 기술적 어려움(미술이나 디자인 출신)과 미적 감각 결여(공학 전공자)를 극복할 수 있었다.

이 책의 대상 독자 역시 비슷한 범위의 배경지식을 가정하고 있다. 질문을 하고, 데이터를 가지고 놀며, 타인에게 정보를 효과적으로 전달하는 방법을 이해하고자 하는 사람을 대상으로 한다. 예를 들어, 지금 사용하는 도구보다 복잡한 시각화를 구축하고자 하는 웹 디자이너는 이 책에서 많은 도움을 얻을 수 있다. 또한 데이터를 표현하는 소프트웨어를 능숙하게 작성하고자 하는 소프트웨어 엔지니어에게도 매우 유용할 것이다. 단순히 UI를 개발해본 경험과는 다른 기술이 요구되는 일이기 때문이다. 이런 일들은 고도의 기술을 요구하지는 않지만 어디서부터 시작해야 할지 갈피를 잡기 어려울 때가 많다.

기본적으로 이 책은 데이터 집합을 갖고 있으면서 데이터를 탐구하고자 하는 호기심이 충만하고 데이터에 관해 무언가를 다른 사람에게 전달하고 싶은 사람을 대상으로 한다. 데이터를 시각화하는 사람들의 수는 갈수록 늘어나고 있으며, 기대 수준은 시각화 분야의 전문가들의 수준을 뛰어넘고 있다. 좀 더 많은 사람이 시각화 기법에 익숙해진다면 앞으로 10년간 놀랄 만한 일들이 많이 일어날 것이라고 믿는다.

★ 이 책의 구성 ★

1장, ‘데이터 시각화 7단계’에서는 데이터를 수집해서 상호작용하기까지 유용한 시각화를 개발하기 위한 과정을 다룬다. 이후의 장에서 문제를 공략하기 위해 일관되게 사용될 프레임워크라고 할 수 있다.

2장, ‘Processing 시작하기’에서는 Processing 환경과 구문의 기초적인 내용을 소개한다. API의 구조에 관한 약간의 배경지식과, Processing의 바탕이 되는 기본적인 철학을 제공한다.
3~8장에서는 점점 복잡해지는 예제 프로젝트를 다룬다.

3장, ‘매핑’에서는 데이터 포인트를 지도 위에 그려보면서 데이터를 디스크에서 읽어 화면에 표현하는 방법을 소개한다.

4장, ‘시계열’에서는 시간의 변화에 따른 데이터의 변화를 표현하는 차트를 그리는 방법을 다룬다.

5장, ‘상관관계’에서는 데이터 집합을 획득해 파싱하는 방법을 본격적으로 설명하기 시작한다. 이 장의 예제 프로젝트는 MLB.com 웹사이트에서 데이터를 읽어서 선수들의 연봉과 팀 성적 간의 상관관계를 보여주는 이미지를 생성한다. 공식적인 API가 제공되지 않는 웹사이트로부터 데이터를 긁어오는 방법을 보여주는 방법을 구체적으로 다룬다. 여기에 사용되는 기법은 야구뿐만 아니라 다양한 프로젝트에서 사용할 수 있다.

6장, ‘산포도’에서는 사용자가 우편번호를 키보드로 입력하면서 미국 지도를 개량할 수 있는 프로젝트를 개발함으로써 “우편번호와 지리적 위치는 어떤 관계가 있는가?”와 같은 질문에 답을 할 수 있는 방법을 소개한다.

7장 ‘트리, 계층, 재귀’에서는 트리와 계층구조에 관해 논의한다. 또한 트리 구조를 다룰 때 꼭 알아야 할 개념인 재귀에 대해 설명하고, 특정 종류의 트리 데이터 리스(Casey Reas)가 함께 개발한 프로그래밍 환경이자 API인 Processing(http-//processing.org)을 사용한다. Processing의 프로그래밍 환경은 코드를 '스케치'하듯이 편안한 방법으로 시각적 이미지를 신속히 생성할 수 있다. Processing의 API는 자바 기반이므로 여타 자바 IDE를 사용해 Processing 코드를 작성할 수도 있다. Processing은 무료로 다운로드할 수 있으며 오픈소스를 준수한다. 2001년부터 개발돼왔으며, 최근 1년간 10만 명 이상이 다운로드한 Processing은 수많은 분야에 걸쳐서 수만 명의 사용자를 보유하고 있다. 나는 이 책을 쓰기 시작할 때 어떤 언어와 API를 사용할지를 놓고 많은 토론을 벌였다. 자바의 사용도 고려했지만, 책의 내용을 이해하기 쉽게 단순화하려면 결국 Processing을 다시 구현하는 것과 별로 다를 게 없다. 액션스크립트와 플래시도 검토했지만, 플래시는 가격이 비싸고 대규모 데이터 집합을 제대로 표시하지 못할 때가 있다. 파이썬이나 루비 등의 스크립트 언어는 쓰기 편하지만, 실행 속도가 자바에 미치지 못한다. 결국은 비용, 사용 편의성, 실행 속도를 종합적으로 고려할 때 Processing이 최적의 방법이라는 결론에 이르렀다.

옮긴이의 말

최근 들어 가장 주목받는 단어 중 하나가 데이터 과학(Data Science)입니다. 데이터 과학은 도메인 전문지식, 데이터 관리, 프로그래밍, 통계학, 데이터 시각화 등의 다양한 스킬을 필요로 하는데, 이 책에서 주로 다루는 것이 바로 데이터 시각화입니다. 데이터 과학의 목적이 결국 의사결정을 지원하는 것이라면, 분석 결과를 효과적으로 전달함으로써 다른 사람을 설득하기 위해서는 효과적인 시각화가 필수적입니다.

이 책에서는 Processing이라는 프로그래밍 환경을 사용합니다. 이 책의 저자인 벤 프라이(Ben Fry)가 2002년 발표한 Processing은 애초에는 디자이너 같은 컴퓨터 비전공자를 대상으로 비교적 간단하게 시각화 결과물을 산출할 수 있는 자바 확장으로서 개발됐지만, 현재는 건축, 바이오인포매틱스, 통계학 등의 다양한 분야에서 널리 사용되고 있습니다. Processing에서 프로그램 소스 파일을 스케치(sketch)라고 부르는 이유도 원래 디자인 계통에서 출발한 프로그래밍 환경이기 때문입니다.

그렇지만 이 책을 제대로 읽기 위해서는 프로그래밍 경험이 어느 정도 필요합니다. 만일 프로그래밍에 익숙하지 않은 분이라면, 벤 프라이가 저술한 Processing 입문서를 먼저 읽어보시는 편이 나을 수도 있습니다. 프로그래밍 경험이 있는 분이라면 이 책의 2장에서 Processing에 관한 간단한 소개를 읽는 것으로도 이후의 장들을 읽어나갈 수 있을 것입니다.
데이터 시각화는 예술과 공학이 융합된 분야로, 효율적인 시각화를 위해서는 프로그래밍 스킬뿐 아니라 인지과학적 지식과 수많은 시행착오가 요구됩니다. 이 책이 독자 여러분이 효과적인 데이터 시각화 구축을 위한 기초를 다지는 데 도움이 된다면 더할 나위가 없을 것 같습니다.
를 효과적으로 표현할 수 있는 트리맵도 다룬다.

8장, ‘네트워크와 그래프’는 정보로 이뤄진 네트워크, 즉 그래프를 주제로 삼는다. 전반부에서는 네트워크를 구성하는 수많은 노드 간의 연결을 표현하는 방법을 논의하고, 후반부에서는 웹사이트 트래픽 데이터를 이용해 실제로 그래프를 생성함으로써 웹사이트 이용 현황을 보여주는 방법을 설명한다. 이때 Processing을 널리 쓰이는 자바 IDE인 이클립스(Eclipse)와 통합하는 방법도 소개한다.

마지막 세 장은 데이터를 획득하고 파싱하는 것과 관련된 추가적인 배경지식과 기법을 중심으로 실무에서 참고서로 사용할 만한 내용을 담고 있다.

9장, ‘데이터 수집’은 온갖 종류의 실용적인 기법을 망라하는 일종의 요리책에 해당한다. 파일로부터 데이터를 읽어들이는 방법, 웹 브라우저를 흉내 내는 방법, 데이터를 데이터베이스에 저장하는 방법 등을 설명한다.

10장, ‘데이터 파싱’ 역시 9장과 비슷한 구성으로, 데이터를 파싱하는 방법을 보여주는 예제들로 가득하다. HTML 테이블, XML, 압축 데이터, SVG 등의 다양한 형태의 데이터를 파싱하는 방법이 다뤄진다. 또한 문서화되지 않은 데이터 프로토콜의 동작 방법을 이해하기 위해 네트워크 연결을 관찰하는 방법도 소개한다.

11장, ‘Processing과 자바의 통합’에서는 Processing API를 자바와 통합하는 방법을 구체적으로 설명한다. 이 장은 Processing API를 별도의 프로젝트에서 사용하기를 원하는 고급 자바 프로그래머를 대상으로 하는, 부록에 가까운 장이라고 할 수 있다.

★ 지은이의 말 ★

시각화 프로젝트의 성과를 보여줄 때 청중에게서 “어떤 방법으로 이런 결과물을 만들 수 있습니까?”라는 질문을 자주 받는다. 데이터 시각화를 다루는 책이 이미 많이 나와 있지만, 대체로 학술 논문을 모아놓은 데 그치는 경우가 많고 실제로 시각화를 구축하는 방법에 관해서 다루는 책은 거의 없다. 디자인 측면에서 접근하는 책들의 경우 시각화 방법에 관한 조언을 제공하지만 대부분 정적인 화면에 그치며, 동적이면서 소프트웨어 기반의 시각화를 다루지 않고 있다. 또한 주어진 시각화의 잘못된 점이 무엇인지 지적하는 데만 집중하고 실질적인 해결책은 제시하지 않는 경우가 많다.

이 책에서는 자신만의 시각화 구축을 시작하고자 하는 사람을 대상으로 좀 더 복잡한 작업으로 나아갈 수 있는 계기를 제공하기 위해 노력했다. 모든 내용을 다루지는 않지만, 충분한 배경지식을 제공함으로써 여러분이 어디로 나아가야 할지 헤매지 않도록 많은 주의를 기울였다.

이 책을 쓴 이유는 나의 박사학위 논문이었던 ‘Computational Information Design’에서 다룬 아이디어를 좀 더 많은 이들에게 알리기 위해서였다. 특히 학술 논문에서 이론상으로 쓰이는 데 그치지 않고 실제 현장에서 적용 가능하다는 사실을 보여주고 싶었다. 해당 논문은 데이터를 수집해서 이해하기까지의 프로세스를 다뤘다. 즉 대규모의 정보를 얻은 뒤, 쉽게 이해할 수 있고 대화식으로 조작할 수 있는 방법으로 그 정보를 유용하게 표현하는 과정이라고 할 수 있다. 이 과정은 1장에서 처음 소개되고, 이 책 전반에 걸쳐 시각화 작업을 위한 기초적인 프레임워크로서 사용된다.

이 책의 예제 대부분은 다른 라이브러리에 의존하지 않고 완전히 새로 작성된 것이다. 차트나 그래프를 만들어주는 툴킷이나 라이브러리에 의존하기보다는, 약간의 계산, 직선 및 사각형, 그리고 텍스트를 사용해 여러분이 직접 그래프를 만드는 방법을 배우게 된다. 많은 독자가 아마 그러한 툴킷들의 결점을 이미 알고 있을 것이다. 포괄적인 용도로 사용되는 도구는 포괄적인 화면을 보여줄 수 있을 뿐이다. 막상 여러분의 데이터 집합에 적용하면 실망스러운 결과물을 보여주기 십상이다. 데이터는 독특한 유형의 화면 표시와 상호작용을 필요로 하는 경우가 대부분이다. 이 책은 단순한 막대그래
프나 원 그래프가 제시할 수 없는 방법으로 여러분의 상상력을 자극하고자 한다.

이 책은 나와 UCLA의 케이시 리스(Casey Reas)가 함께 개발한 프로그래밍 환경이자 API인 Processing(http://processing.org)을 사용한다. Processing의 프로그래밍 환경은 코드를 ‘스케치’하듯이 편안한 방법으로 시각적 이미지를 신속히 생성할 수 있다. Processing의 API는 자바 기반이므로 여타 자바 IDE를 사용해 Processing 코드를 작성할 수도 있다. Processing은 무료로 다운로드할 수 있으며 오픈소스를 준수한다. 2001년부터 개발돼왔으며, 최근 1년간 10만 명 이상이 다운로드한 Processing은 수많은 분야에 걸쳐서 수만 명의 사용자를 보유하고 있다. 나는 이 책을 쓰기 시작할 때 어떤 언어와 API를 사용할지를 놓고 많은 토론을 벌였다. 자바의 사용도 고려했지만, 책의 내용을 이해하기 쉽게 단순화하려면 결국 Processing을 다시 구현하는 것과 별로 다를 게 없다. 액션스크립트와 플래시도 검토했지만, 플래시는 가격이 비싸고 대규모 데이터 집합을 제대로 표시하지 못할 때가 있다. 파이썬이나 루비 등의 스크립트 언어는 쓰기 편하지만, 실행 속도가 자바에 미치지 못한다. 결국은 비용, 사용 편의성, 실행 속도를 종합적으로 고려할 때 Processing이 최적의 방법이라는 결론에 이르렀다.

★ 옮긴이의 말 ★

최근 들어 가장 주목받는 단어 중 하나가 데이터 과학(Data Science)입니다. 데이터 과학은 도메인 전문지식, 데이터 관리, 프로그래밍, 통계학, 데이터 시각화 등의 다양한 스킬을 필요로 하는데, 이 책에서 주로 다루는 것이 바로 데이터 시각화입니다. 데이터 과학의 목적이 결국 의사결정을 지원하는 것이라면, 분석 결과를 효과적으로 전달함으로써 다른 사람을 설득하기 위해서는 효과적인 시각화가 필수적입니다.

이 책에서는 Processing이라는 프로그래밍 환경을 사용합니다. 이 책의 저자인 벤 프라이(Ben Fry)가 2002년 발표한 Processing은 애초에는 디자이너 같은 컴퓨터 비전공자를 대상으로 비교적 간단하게 시각화 결과물을 산출할 수 있는 자바 확장으로서 개발됐지만, 현재는 건축, 바이오인포매틱스, 통계학 등의 다양한 분야에서 널리 사용되고 있습니다. Processing에서 프로그램 소스 파일을 스케치(sketch)라고 부르는 이유도 원래 디자인 계통에서 출발한 프로그래밍 환경이기 때문입니다.

그렇지만 이 책을 제대로 읽기 위해서는 프로그래밍 경험이 어느 정도 필요합니다. 만일 프로그래밍에 익숙하지 않은 분이라면, 벤 프라이가 저술한 Processing 입문서를 먼저 읽어보시는 편이 나을 수도 있습니다. 프로그래밍 경험이 있는 분이라면 이 책의 2장에서 Processing에 관한 간단한 소개를 읽는 것으로도 이후의 장들을 읽어나갈 수 있을 것입니다.
데이터 시각화는 예술과 공학이 융합된 분야로, 효율적인 시각화를 위해서는 프로그래밍 스킬뿐 아니라 인지과학적 지식과 수많은 시행착오가 요구됩니다. 이 책이 독자 여러분이 효과적인 데이터 시각화 구축을 위한 기초를 다지는 데 도움이 된다면 더할 나위가 없을 것 같습니다.

목차

1장. 데이터 시각화 7단계
데이터를 표시할 때 사전 계획이 필요한 이유
예제
반복과 결합
원칙
정리

2장. Processing 시작하기
Processing으로 스케치 그리기
작업 결과 익스포트와 배포
예제 프로그램과 도움말
주요 함수
스케치와 스크립트
정리

3장. 매핑
지도 그리기
지도 위 위치
지도 위 데이터
독자적인 데이터 사용
정리

4장. 시계열
우유와 홍차와 커피(데이터 수집, 파싱)
테이블 정리(필터링, 마이닝)
간단한 화면 표시(표현, 정교화)
현재의 데이터 집합에 레이블 달기(정교화, 상호작용)
축에 레이블 달기(정교화)
적절한 표현 선택하기(표현, 정교화)
롤오버를 사용해 데이터 포인트 강조하기(상호작용)
점을 연결하는 방법(정교화)
탭 구분 텍스트 레이블(상호작용)
데이터 집합 간의 보간(상호작용)
정리

5장. 상관관계
데이터 소스의 변경
예제 프로젝트 개요
전처리
전처리를 끝낸 데이터의 사용(데이터 수집, 파싱, 필터링, 마이닝)
결과 표시(표현)
문제로 돌아가기(정교화)
고급 정렬- 똑같은 성적을 낸 팀 간의 순위 결정을 위해 연봉 이용하기(마이닝)
2 이상의 날짜로 이동하기(상호작용)
자연스러운 상호작용 구현(정교화)
배포 시의 고려사항(데이터 수집, 파싱, 마이닝)

6장. 산포도
전처리
데이터 로드(데이터 수집, 파싱)
우편번호가 가리키는 위치를 점으로 표현하기(마이닝, 표현)
키 입력을 받으면서 강조 표시하기(정교화, 상호작용)
현재 선택된 점을 나타내는 방법(정교화)
점진적으로 밝기를 변경(정교화)
줌인 기능(상호작용)
화면 확대 시 표시 방법 변경(정교화)
애플리케이션 배포와 관련된 이슈(데이터 수집, 정교화)
정리와 개선

7장. 트리, 계층, 재귀
재귀를 사용한 디렉토리의 트리 구조 구축
큐를 사용한 비동기 로드(상호작용)
트리맵 소개
자리를 가장 많이 차지하고 있는 파일은?
폴더의 내용 보기(상호작용)
트리맵 표시 개선(정교화)
파일 내비게이트(상호작용)
정리

8장. 네트워크와 그래프
간단한 그래프 예제
복잡한 그래프
네트워크의 표현 방법
고급 그래프 예제
추가적인 정보 마이닝

9장. 데이터 수집
어디서 데이터를 찾을까
인터넷에서 데이터를 수집하기 위한 도구
Processing에서 사용하는 파일의 위치
텍스트 데이터 로드
파일과 폴더 처리
폴더 내의 파일 열거하기
비동기식 이미지 다운로드
자바와의 연결고리로서 openStream() 사용하기
바이트 배열 처리
고급 웹 기법
데이터베이스 사용
다수의 파일 처리

10장. 데이터 파싱
노력의 수준
단서를 모으기 위한 도구
텍스트가 최고!
마크업 언어
정규표현
문법과 BNF 표기법
압축 데이터
벡터와 좌표정보
이진 데이터 형식
고급 탐색 작업

11장. Processing과 자바의 통합
프로그래밍 모드
추가 소스 파일(탭)
전처리기
API의 구조
자바 애플리케이션에 PApplet 포함시키기
Processing 스케치에서의 자바 코드 사용
라이브러리 사용
processing.core 소스코드 조사
데이터 수집, 파싱
필터링, 마이닝
표현
정교화
인터랙션
시각화 전반

1장. 데이터 시각화 7단계
__데이터를 표시할 때 사전 계획이 필요한 이유
__예제
__반복과 결합
__원칙
__정리

2장. Processing 시작하기
__Processing으로 스케치 그리기
__작업 결과 익스포트와 배포
__예제 프로그램과 도움말
__주요 함수
__스케치와 스크립트
__정리

3장. 매핑
__지도 그리기
__지도 위 위치
__지도 위 데이터
__독자적인 데이터 사용
__정리

4장. 시계열
__우유와 홍차와 커피(데이터 수집, 파싱)
__테이블 정리(필터링, 마이닝)
__간단한 화면 표시(표현, 정교화)
__현재의 데이터 집합에 레이블 달기(정교화, 상호작용)
__축에 레이블 달기(정교화)
__적절한 표현 선택하기(표현, 정교화)
__롤오버를 사용해 데이터 포인트 강조하기(상호작용)
__점을 연결하는 방법(정교화)
__탭 구분 텍스트 레이블(상호작용)
__데이터 집합 간의 보간(상호작용)
__정리

5장. 상관관계
__데이터 소스의 변경
__예제 프로젝트 개요
__전처리
__전처리를 끝낸 데이터의 사용(데이터 수집, 파싱, 필터링, 마이닝)
__결과 표시(표현)
__문제로 돌아가기(정교화)
__고급 정렬: 똑같은 성적을 낸 팀 간의 순위 결정을 위해 연봉 이용하기(마이닝)
__2 이상의 날짜로 이동하기(상호작용)
__자연스러운 상호작용 구현(정교화)
__배포 시의 고려사항(데이터 수집, 파싱, 마이닝)

6장. 산포도
__전처리
__데이터 로드(데이터 수집, 파싱)
__우편번호가 가리키는 위치를 점으로 표현하기(마이닝, 표현)
__키 입력을 받으면서 강조 표시하기(정교화, 상호작용)
__현재 선택된 점을 나타내는 방법(정교화)
__점진적으로 밝기를 변경(정교화)
__줌인 기능(상호작용)
__화면 확대 시 표시 방법 변경(정교화)
__애플리케이션 배포와 관련된 이슈(데이터 수집, 정교화)
__정리와 개선

7장. 트리, 계층, 재귀
__재귀를 사용한 디렉토리의 트리 구조 구축
__큐를 사용한 비동기 로드(상호작용)
__트리맵 소개
__자리를 가장 많이 차지하고 있는 파일은?
__폴더의 내용 보기(상호작용)
__트리맵 표시 개선(정교화)
__파일 내비게이트(상호작용)
__정리

8장. 네트워크와 그래프
__간단한 그래프 예제
__복잡한 그래프
__네트워크의 표현 방법
__고급 그래프 예제
__추가적인 정보 마이닝

9장. 데이터 수집
__어디서 데이터를 찾을까
__인터넷에서 데이터를 수집하기 위한 도구
__Processing에서 사용하는 파일의 위치
__텍스트 데이터 로드
__파일과 폴더 처리
__폴더 내의 파일 열거하기
__비동기식 이미지 다운로드
__자바와의 연결고리로서 openStream() 사용하기
__바이트 배열 처리
__고급 웹 기법
__데이터베이스 사용
__다수의 파일 처리

10장. 데이터 파싱
__노력의 수준
__단서를 모으기 위한 도구
__텍스트가 최고!
__마크업 언어
__정규표현
__문법과 BNF 표기법
__압축 데이터
__벡터와 좌표정보
__이진 데이터 형식
__고급 탐색 작업

11장. Processing과 자바의 통합
__프로그래밍 모드
__추가 소스 파일(탭)
__전처리기
__API의 구조
__자바 애플리케이션에 PApplet 포함시키기
__Processing 스케치에서의 자바 코드 사용
__라이브러리 사용
__processing.core 소스코드 조사

참고문헌
찾아보기

관련이미지

저자소개

벤 프라이 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

이정문 [역] 신작알림 SMS신청
생년월일 -

저자 이정문은 컴퓨터공학을 전공했으며 다수의 원서를 번역했다. 에이콘출판사에서 출간한 『안드로이드 앱 마케팅』(2011), 『데이터 과학으로 접근하는 정보보안』(2016), 『양자 컴퓨터 프로그래밍』(2019) 등을 번역했다.

이 상품의 시리즈

(총 77권 / 현재구매 가능도서 72권)

선택한 상품 북카트담기
펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용