데이터 과학을 위한 파이썬과 R - 오픈소스를 활용한 데이터 분석, 시각화, 머신러닝 | 파이썬-R 사전 부록 제공
릭 슈카페타.보이안 앙겔로프 지음, 임혜연 옮김 / 한빛미디어 / 2022년 10월
평점 :
장바구니담기



 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

책을 다 읽고 난 후의 가장 큰 소득은 R과 파이썬이라는 두 언어를 상호운용할 수 있는 방법을 알았다는 것이다. 가장 아쉬운 점은 설명이 그다지 상세하고 친절하지는 않다고 느껴지는 것이다. 그래서, 머리말 부분을 다시 살펴보니 대상 독자를 데이터과학 분야의 실무자로 하고 있고, 책을 최대한 활용하려면 배경지식으로 R이나 파이썬 중 한 언어에는 익숙해야 한다고 미리 밝히고 있음을 다시 확인했다. 개인차가 있는 부분으로 어느 정도 이해해야 할 것같다. 파이썬은 데이터분석에 대한 기본 패턴인 데이터 읽기, EDA, 전처리, 훈련/테스트 데이터 분리, 모델 피팅, 분류/예측, 성능평가의 익숙한 문장들만 알고 있고, R은 실무로 사용하고 있지는 않지만 학습자 수준에서 조금 사용해 본 정도의 수준이라 책이 그다지 상세하지 않다고 느껴진 것같다. 아울러 한빛미디어나 길벗 등에서 출판되는 IT 책들이 경쟁적으로 내용이나 편집면에서 다양하게 독자들을 배려하고 있어 상대적으로 세심하지 않은 것같다고 느껴진 것같다.

책은 Part 01 새로운 언어의 발견에서 각 언어의 역사를 중심으로 한 내용이 나온다. Part02 새로운 언어 시작하기에서는 파이썬 사용자를 위한 R, R 사용자를 위한 파이썬에서 각 언어의 사용환경에 대한 설명을 포함해서 기본적인 각 언어의 특징과 사용법을 제한적이긴 하지만 따라해 볼 수 있도록 하고 있다.

Part03 현대적 컨텍스트에서는 데이터포맷 컨텍스트와 워크플로 컨텍스트 부분으로 나누어 각 언어가 강점을 가지는 영역을 알려주고 있다. 데이터포맷 컨텍스트에서 이미지와 텍스트의 처리 및 분석은 파이썬이 강점이 있고, 시계열과 공간정보는 R의 손을 들어주고 있다. 워크플로 컨텍스트에서는 EDA, 보고서 작성은 R이 강점이 있고 머신러닝, 딥러닝, 데이터 엔지니어링은 파이썬이 여러 도구들과 잘 어울리는 접착제 같은 특성을 들어 강점이 있다고 안내하고 있다.

Part04 파이썬과 R 함께 사용하기에서는 파이썬과 R의 상호운용성을 구현하기 위해 필요한 R 진영의 reticulate라는 패키지와 파이썬 진영의 rpy2 모듈을 소개하고, 이어서 미국 농무부가 제공하는 Wildfires 산불 데이터셋을 재료로 RStudio IDE에서 R과 파이썬을 적절하게 활용하는 방법을 제시하고 있다.

특히 흥미로왔던 부분은 Part01이었다. ANOVA 분석후 사후검정의 한 방법으로 사용하는 Tukey’ HSD의 그 튜키라는 사람이 EDA에 자주 사용하는 박스플랏(상자수염그림)을 개발했다는 사실이나 R Core라는 것이 있고 자발적 기여자 그룹에 의해 문서화, 빌드, 테스트, 배포 등의 작업에 필요한 인프라를 포함하는 베이스R을 구현하고 있는데 초기 멤버인 존 체임버스, 로스 이하카, 로버트 젠틀맨을 포함한 몇 명의 멤버가 여전히 참여하고 있다는 점 등의 흥미로운 사실을 알게 되어 좋았다.

파이썬 진영에서는 창시자인 귀도 반 로섬이라는 네덜란드 프로그래머가 2018년까지 파이썬 운영 위원회에 머물면서 자비로운 종신 독재자(BDFL, Benevolent Dictator For Life)라 불리며 영향력을 행사했다는 점 등이 흥미로왔다.

Part02 Chapter3 R 사용자를 위한 파이썬은 많이 관심이 갔었는데 사용환경 설정에서 원활하게 따라가지 못 해 아쉬웠다. 파이썬 환경이 다양하고 책에서는 그 중 VS Code를 사용하는 방법을 비교적 상세하게 안내하고는 있어 VS Code 설치하고, 가상환경 구성하고 일부 패키지 설치하는 것까지는 따라 했다. 이후 Part03 Chapter4 데이터 포맷 컨텍스트에서 이미지 데이터를 불러오기 위해 cv2(OpenCV) 패키지 설치하는데 에러가 나서 구글링하니 OpenCV라는 패키지명으로 설치해야 한다고 하고, skimage(scikit-image) 패키지 설치하는데 에러가 나서 일단 실습은 포기했더랬다. 저자가 서두에 언급했던 것처럼 어느 정도 파이썬이나 R 한 가지 언어에 익숙한 데이터 과학 분야의 실무자를 대상독자로 했기 때문에 개인의 역량이 부족한 부분을 자책해야 할 것같다.

Part04 Chapter6 파이썬과 R의 시너지 효과에서는 R 코드를 작성하는 경우 reticulate가 보장하는 상호운영성과 파이썬 코드를 작성하는 경우 rpy2가 보장하는 상호운영성에 대해 함수, 객체, 패키지 레벨에서 사용할 수 있는 방법을 제시하고 있다.


Part04 Chapter7 데이터 과학 사례 연구에서는 데이터를 불러오고, EDA와 데이터 시각화는 R을 이용하고, 피처 엔지니어링과 머신러닝은 파이썬을 이용하고, 동적보고서로 대화형 웹 인터페이스는 R을 이용하는 것으로 R과 파이썬이라는 두 언어를 상호운용할 수 있는 방법을 제시하고 있다.



파이썬과 R을 상호운영하는데에 관심이 있는 데이터 과학 분야 실무자에게 유익할 것같고, 초보자에게는 온전히 내 것으로 하기에는 좀 무리가 있지 않을까 하는 생각이 든다. 마찬가지로 번역도 약간 의역보다 직역에 가까운 것같다고 개인적으로 생각했는데, 저자의 느낌과 의도 표현의 장점은 있으나 초보자에게는 내용 전달에 약점으로 작용하지 않았을까하는 생각이 든다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
AI 상식사전 - 인공지능, 전공은 아니지만 궁금했어요, 2023 세종도서 교양부문
한규동 지음 / 길벗 / 2022년 6월
평점 :
절판



“출판사로부터 책을 제공받아 작성하였습니다.”

책 표지는 투박하지만 AI 상식사전이라는 책 제목에 딱 맞게 AI에 관한 다양한 지식을 폭넓고 친절하게 들려주고 있다. 책은 크게 두 부분으로 되어 있는데, 첫 번째 부분은 인공지능이 개인과 사회에 미치는 영향으로 1장은 인공지능 기술의 발전에 따른 일자리의 변화와 이에 대한 개인의 대응 방향, 2장은 인공지능의 편견, 윤리, 가짜 뉴스 등 인공지능이 사회에 미치는 문제점에 대해 설명하고 있다. 두 번째 부분은 인공지능의 기본 개념을 비롯한 세부적인 내용을 다루고 있는데, 3~6장에서는 인공지능, 머신러닝, 인공 신경망, 딥러닝의 개념, 7~8장에서는 인공지능의 대표적인 응용 분야인 자연어 처리와 이미지 처리 분야에서 활용되는 인공지능에 대해 설명하고 있다.

인터넷 등의 다양한 참고자료와 함께 쉽고 명확한 설명이 이 책의 가장 큰 장점이지만, 내용 중간중간 위치해서 간략한 용어 설명이나 관련 페이지 등 내용을 담고 있는 “잠깐만요” 부분, 관련된 용어나 개념을 소개하는 “전문가의 조언” 코너도 책의 활용도를 높여주는 작가와 출판사의 세심한 배려가 담긴 부분이라고 생각한다.

평소에 인공지능, 빅데이터, 데이터분석 등에 관심이 있어 상당 부분 아는 내용들이 나올 거라 생각했는데 막상 책을 읽어보니 처음 접하는 흥미로운 내용이 많이 담겨 있어 무지함에 반성하게 되었다. 하나 예를 들면 인공지능 시스템에 잘못된 입력을 하거나 학습 데이터를 오염시켜 오작동하도록 하는 적대적 공격(Adversarial Attack) 또는 적대적 머신러닝(Adversarial Machine Learning)과 관련한 적대적 사례(Adversarial Example)가 그렇다. 팬더 이미지에 사람의 눈에는 보이지 않는 잡음(Noise)을 섞어 입력했을 때 긴팔원숭이(Gibbon)로 잘못 인식하거나, 정지(STOP) 표지판에 흰색과 검은색 스티커를 몇 개 붙일 경우 속도제한(SPEED LIMIT 45) 표지판으로 잘못 인식하는 사례 등인데, 속도 표지판 오인식의 경우 자율주행 자동차에게 큰 위협이 될 것이다. 보안에서의 창과 방패처럼 이러한 적대적 공격을 막기 위해 “적대적 공격을 공격하는 방법(Attacking Adversarial Attacks as A Defense)”도 연구되고 있다고 한다.

개인적으로 흥미롭게 읽은 내용들을 일부 소개하면 다음과 같다.

2장 내용중 인공지능이 그리는 미래 세상이 유토피아인지 디스토피아인지를 전망하는 부분이 있다. 디스토피아 전망 측면에서 2017년 10월, 서울대학교 공과대학 연구진은 “미래의 도시에서 시민들이 어떻게 살아갈 것인가?”라는 주제로 심층 연구를 실시하고 “2090년, 전 세계는 인공지능 권력이 계급을 나누는 이른바 초양극 사회가 될 것”이라고 발표했다고 한다. 미래시민은 4개의 계급으로 분화되는데, 99.997%를 차지하는 일반시민은 최하위 노동자 계급 “프레카리아트(Precariat)”로 인공지능 로봇과 힘겨운 일자리 경쟁을 벌이는 단순 노동자로 전략할 것이라는 다소 우울한 전망이다. 프레카리아트는 “불안정하다(Precarito)”라는 이탈리아어와 노동자를 뜻하는 영어 “프롤레타리아트(Proletariat)”의 합성어로 영국의 경제학자 “가이 스탠딩(Guy Standing)”이 처음 사용했다고 한다. 그러면서 1979년 방영된 만화영화 “은하철도999”가 초양극화된 미래사회를 그리고 있고, 주인공이 종착지에 도착해 영생의 몸을 가진 기계인간이 될 기회를 얻지만 인간성을 소멸하고 목표 의식 없이 인생을 허비하는 기계인간의 모습을 보고 사람의 삶이 유한하기 때문에 의미가 있다는 사실을 깨닫고 기계인간이 되는 것을 포기했다고 하는데, 그런 심오한 내용인지 몰랐고 새삼 만화지만 40여년전에 그러한 디스토피아를 상상한 작가가 대단한 것같고 머지 않은 미래에 현실로 다가오지는 않을까라는 생각을 잠시 해보게 만들었다.

3장에서는 약 인공지능, 강 인공지능, 튜링테스트, 중국어방, 지능강화 등 다양한 인공지능의 개념에 대해 소개하고 있다. 그 중에서 영화 이미테이션 게임으로도 잘 알려진 앨런 튜링의 튜링 테스트와 관련된 개념으로 “역 튜링 테스트(Reverse Turing Test)”가 있다고 하는데 처음 접해본다. 그런데, 우리가 인터넷에서 사이트에 가입하거나 특정 정보를 열람할 때 봇(bot)을 걸러내기 위해 종종 거쳐야 하는 캡차(CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart)가 역튜링 테스트에 해당하고, 튜링 테스트와 반대로 기계가 사람을 상대로 기계인지, 사람인지를 판별하는 테스트라고 한다. 은연중에 기계의 인간성 테스트를 통과해야 무언가를 얻을 수 있는 부분도 생활속에 들어와 있구나라고 잠시 생각해 보게 되었다.

4장 머신러닝의 개념에서는 지도학습, 비지도학습, 강화학습의 개념과 예시, 머신러닝 성능 평가 등의 다양한 내용을 알기 쉽게 다루고 있다. 장의 말미에는 2016년 알파고와 이세돌의 대결 이후 인공지능과 딥러닝, 머신러닝이 유행처럼 번지면서 인공지능은 곧 머신러닝과 딥러닝이 전부라고 생각하는 사람이 많아졌지만, 그 외 인공지능을 구현하는 학습외의 방법도 소개하고 있다. 그 방법인 추론(Inference), 탐색(Search), 시멘틱 네트워크(Semantic Network)의 개념을 얘기하면서 초기 인공지능 학자들이 해당 방법들을 바탕으로 인공지능을 구현하려 노력했지만 성공하지 못 했는데, 그 이유는 인공지능은 봄이 오면 꽃이 피고 아이가 자라면 어른이 되는 것과 같은 상식이 없기 때문이라고 한다.

인공지능이 실생활의 다양한 분야에 적용되어 있다고 하는데 피부로 실감하지는 못 하고 있다. 인터넷 검색창에 검색어 입력시 관련 추천 검색어나 연관 검색어가 표시되는 부분이 막연하게 검색엔진에서 알아서 처리하는 부분이라고 생각했는데 인공지능 기술중 자연어처리(NLP, Natural Language Processing) 개념이 적용되어 있다고 하는데 미처 알지 못 한 내용이다. 딥러닝을 설명하는 부분에서는 다른 책에서는 정확하게 이해하지 못 한 작동원리를 쉽게 설명해 주어서 이해할 수 있게 되었다.

AI에 대해 전혀 모르는 독자가 보면 부분적으로 어려운 내용이 있을 수 있겠지만, 사전 활용하듯이 AI에 관련해서 참고가 필요할 때 가까이 두고 자주 펼쳐보게 될 것같다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
찐 UXer가 알려주는 UX/UI 실무 가이드
조은정 지음 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기




 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


제목처럼 가짜가 아닌 진짜가 들려주는 UX/UI 이론과 실무를 간접 경험한 유익한 시간이었다. 컴퓨터공학과 중퇴, 영상제작 연출, 신문방송학과 석사라는 공학, 예술학, 인문학 분야의 기본기를 다진후 융합학과인 인터렉션사이언스 학과에서 HCI 박사 학위를 받은 저자가 이후 다양한 현장에서 열과 혼을 다해 UX를 겪어 낸 내공의 깊이가 느껴진다.


1UX란에서는 사용자 경험과 UX를 한다는 것이 무엇인지에 대한 얘기를 하고 있다. 2부 프로젝트 진행하기에서는 프로젝트의 준비, 시작, UX 기획 단계에서 고객사나 회사 내부 의사결정권자의 의도와 목적 간파, 팀간의 의사소통 등 현실적으로 중요한 내용 등 다양한 내용을 포함하고 있다. 3UI 기획 5단계에서는 메뉴트리, General Rule, 키스크린, UI Flow, 유지보수 단계별 UI 기획과 관련된 얘기를 하고 있다. 4UX/UI 실무 프로젝트에서는 저자가 실제 진행했던 무인 매장 프로젝트 사례를 “[D+0] 729() 프로젝트 파악하기와 같이 작업 일정별로 계획하고 수행했던 내용을 꼼꼼하게 기술하고 있어 읽는 내내 프로젝트 인원으로 같이 참여하고 경험하는 것같은 느낌마저 들게 하였다.


개인적으로 UIUX가 어떤 차이가 있는지 궁금했다. UI를 좀 더 포장하기 위해 나온 개념이 UX인가라고 나름대로 생각하고 있었는데 책을 통해 확실한 차이와 각자의 기능에 대해 구체적으로 알 수 있게 되었다. 저자는 구석기시대에 손에 쥐어 사용하던 뗀석기를 사용하기 편리하도록 나뭇가지에 묶어 돌도끼로 이용한 것과 같이 사용자의 불편함을 개선하거나 더 나은 경험을 위해 고민하는 측면에서 UX는 발명과도 일맥상통하는 부분이 있다고 얘기한다.


소프트웨어 UX는 크게 UX기획과 UI기획으로 나뉘는데, UX 기획은 하고 싶은 것으로 사용자의 라이프사이클과 제품의 특성 등을 고려해서 아이디어를 발굴하고 제품이나 서비스를 상품화할 수 있도록 구상하는 것이고, UI기획은 해야 하는 것으로 UX 기획단계에서 작업한 내용을 구체적으로 현실화해서 사용자가 제품을 편리하게 사용할 수 있도록 사용과정을 기획하는 것이라고 하고 있다.


이 책의 매력적인 부분으로 1부에서 3부 내용중 간간히 나오는 지식 더하기라는 코너를 들 수있겠다. UX/UI와 관련된 흥미로운 토막 지식을 제공하고 있는데 한 가지를 소개하면 다음과 같다. 전화번호 7자리 숫자, 카테고리의 개수 7개 이하 등과 같이 단기기억에 저장할 수 있는 수가 7개 안팎이라는 주장의 마법의 숫자 7(MAGIC NUMBER 7)에 대해 들어본 적이 있을 것이다. 1956년 조지 밀러가 하버드 대학교수 시절 심리학 리뷰저널에 발표한 논문은 한동안 UI 분야에서 밀러의 법칙으로 불리며 반드시 지켜야 할 사항으로 전해져 왔고, 논문의 제목은 바로 마법의 숫자 7+-2:정보처리 용량에 대한 몇 가지 제약들이라고 한다. 밀러는 이 논문에서 덩어리(chunk)의 개념에 포커스를 둔 것으로, 전화번호가 3523453251인 것보다는 352)345-3251로 덩어리로 나누어서 즉, 정보를 구분해 그룹화하면 정보처리가 더 수월해진다는 얘기 등이 중심이다. 그런데, 논문의 말미에서 7이라는 숫자와 관련된 7대양, 신화 속 플레이아데스의 7 딸들, 7지옥, 7개의 기본 색상, 7음계 등을 언급하면서 여러 정보처리 관련 논문들에서 발견한 7이라는 숫자가 뭔가 의미가 있는게 아닐까라고 농담 반 진담반으로 마무리한 내용이 기억과 관련된 숫자 7의 미신을 불러온 게 아닌가 싶다라고 얘기한다.


25장의 UX콘셉트 기획에서 리서치(자료 수집)중 개발자 인터뷰시에 현실적으로 도움이 되는 내용을 소개하면 다음과 같다. 인터뷰 내용은 개발자에게 현재 기술 수준을 묻고, 그 기술이 프로젝트 출시 일정 내에 구현 가능한지 확인하는 건데, 보통 개발자는 섣불리 가능하다고 했다가 프로젝트 목표 일정을 맞추지 못 하면 그에 대한 책임을 져야 하기 때문에 방어적으로 인터뷰에 임하기 마련이다. 대부분 개발자는 01, FailSuccess로 이분화가 익숙하기 때문에 대화할 때 늘 염두에 두고 대화할 필요가 있고, 개발자에게 불가능하다는 말을 들었다면 왜 안 되는지 혹은 다른 건 가능한지, 우회할 방안은 없는지 다시 한 번 묻고, 개발자가 설명해 줄 때 이해하고 역으로 제안할 수 있을 정도의 기본 지식을 갖출 필요가 있다고 얘기한다. 프로젝트 진행중에 꼭 필요한 타조직과의 긴밀한 의사소통과 협업의 중요성을 재차 강조하고 있다.  


3 UI기획은 6장 정리의 신-메뉴 트리로 시작하고 있다. UX 기획 단계에서 어떤 아이템들을 서비스에 넣을지 정하고 나면, UI 설계 작업을 시작할 수 있고, 이 때 가장 먼저 하는 일이 메뉴 구조, 즉 메뉴 트리를 잡는 것이라고 한다. 메뉴 트리를 구성하는 과정을 패스트푸드점 3개사중 맥도널드의 햄버거, 음료, 감자튀김, 소스 등의 아이템 재구성으로 이해하기 쉽게 설명하고 있다. 스낵&사이드와 디저트에 모두 포함되어 있는 애플파이를 한 쪽으로 몰아주는 중복 아이템 정리, 각 카테고리별 기준을 세워 유사한 것끼리 묶어주기, depth를 나눌 것인지 결정하기, 메뉴 간 이동 및 메뉴 제목 정리하기를 통해 저자의 지식과 경험에 의해 재구성한 맥도널의 메뉴트리 결과물을 보여준다.

4UX/UI 실무 프로젝트에서는 저자가 현업에서 실제 진행한 무인 매장 프로젝트와 UX기획을 마친후 작업해야 하는 UI문서 작업에 대한 상세 내용을 기술하고 있다. 무인 매장 프로젝트는 실제의 일정과 진행 순서에 기반한 내용으로 앞서 설명한 프로젝트 준비부터 UX/UI 기획에 이르기까지 현업에서 실제로는 어떻게 적용되거나 생략되는지 그리고 인하우스와 에이전시의 협업이 어떤 식으로 이루어지는지를 프로젝트에 참여해서 같이 경험하는 느낌이 들도록 상세하게 설명하고 있다.


프로젝트마다 상황이 다르지만 해당 프로젝트는 3개월안에 서비스를 만들어야 하고, UX/UI는 약 40일 정도에 수행해야 하는 좋지 않은 상황이었지만 에이전시와의 긴밀한 협업을 통해 좋은 결과물을 만들기 위한 과정을 생생하게 보여주고 있다.

1, 2, 3부의 설명에서와 마찬가지로 삽화나 산출물 등을 컬러로 필요한 내용을 가리지 않고 제시하고 있어 프로젝트에서 UX/UI 업무를 수행하는 담당자라면 실질적으로 산출물의 형식이나 내용도 참고할 수 있도록 하고 있다. 다만 좁은 지면의 제약으로 어떤 산출물은 포함된 글자가 잘 보이지 않는 부분도 있긴 하다.


해당 프로젝트는 “[D+0] 729() 프로젝트 파악하기에서부터 “[D+38] 95() BI서비스 GUI 작업일정으로 UX/UI에 대한 내용으로 되어 있다. 작업이 다 끝나고 프론트앤드 개발이 본격적으로 시작된 상황이라도 QA검증에 들어가기 전까지는 의도에 맞게 잘 적용이 되었는지, 디자인 시안은 제대로 반영되고 있는지 수시로 확인하고, 개발 중 이슈가 생기거나 상품기획팀을 통해 새로운 사양이 들어오면 중간중간 기획과 디자인을 수정해 나가는 작업도 계속 진행해야 함을 꼼꼼하게 짚어준다.


저자의 위트있고 솔직하고 쉬운 설명으로 찐Uxer를 희망하는 독자들에게 충분한 UX/UI 실무가이드가 되어 줄 것이라고 생각한다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 R 데이터 분석 - 1:1 과외하듯 배우는 데이터 분석 자습서 혼자 공부하는 시리즈
강전희.엄동란 지음 / 한빛미디어 / 2022년 1월
평점 :
장바구니담기



출판사로부터 책을 제공받아 작성하였습니다.”

작년말에 리뷰한 혼자 공부하는 SQL”에 이어 2번째로 접하게 된 한빛미디어의 혼공 시리즈 책에 대한 서평이다.

이 책의 장점은 앞부분의 저자 인터뷰 부분에 나와 있는 것처럼 통계도 프로그래밍도 익숙하지 않은 독자들을 대상으로 R 스튜디오라는 통합개발도구를 사용하여 R언어로 기본적인 데이터 분석과 시각화를 할 수 있게 해준다는 점이다. 기본적인 사용법에서 그치지 않고 뒷부분에서 공공데이터 포털 데이터 등 주위에서 쉽게 구할 수 있는 데이터세트를 이용해서 4개의 프로젝트를 직접 따라해 볼 수 있게 한다. 각각의 프로젝트는 본격적으로 통계나 머신러닝을 이용해서 가설을 검정하거나 분류, 예측 등을 하는 내용은 아니지만, 주제선정, 데이터수집, 데이터 가공, 분석, 결론 도출까지의 과정을 경험할 수 있게 구성되어 있다.

반면, 이 책이 목적하는 바와 같이 초보자가 스스로 학습해서 R에 익숙해지도록 하는데는 충분하지만, ,고급 통계와 여러 머신러닝 기법 등에 대해서는 거의 다루고 있지 않아 좀 더 심도있는 데이터 분석을 하고자 하는 독자들이라면 이 책을 통해 R에 대한 기본을 다진 후 별도의 통계분석과 머신러닝에 대한 내용을 다루는 책을 볼 필요가 있을 것같다는 생각이 든다. “좀 더 알아보기코너에서 회귀분석을 간략하게 다루고, 뒷 부분 프로젝트중 서울시 지역별 미세먼지 농도 차이 비교하기에서 두 평균간 차이를 검정하기 위해 수행되는 등분산 분석을 위한 F-검정과 t-검정과 더 나아가 세 개 이상의 집단 간 평균차이 검정을 위한 분산분석을 간략하게 다루기는 한다.

이 책에서 마음에 들었던 건 R 스튜디오에 대해 상세한 내용이다. 다른 책들에서는 RR스튜디오의 설치 과정 외에는 자세한 설명이 없어 아쉬웠는데, R스튜디오의 각 기능을 비교적 상세하게 다루고 있어, R 스튜디오를 사용하고 있던 사용자에게도 더 잘 사용할 수 있는 정보를 제공하고 있다.

Script영역, Console영역, Environment영역, Files영역에 대한 기본적 설명에 추가로 각 영역별 위치한 탭에 대해서도 각각 설명하고 있다. Console영역에 기본 선택되어 있는 Console, Terminal, Jobs탭의 역할에 대해 각각 기술하고 있다.

R스튜디오에서 도움말을 원활하게 사용하기 위해 함수명이 정확하게 기억나지 않을 때 일부 함수명을 통해 원하는 결과를 얻는 팁을 제공하기도 한다. print()함수를 사용하려고 하는데 정확한 명칭이 기억나지 않아 help(prin)이라고 입력했을 때, ??prin을 실행해 보라는 안내 메시지를 통해 도출된 결과 도움말 페이지에서 유사한 함수를 찾아 활용할 수 있다고 예시를 들고 있다.

혼자 공부하면서 발생 가능한 여러 상황에 대해서도 미리 대처할 수 있도록 세심하게 배려하고 있다. “좀 더 알아보기라는 코너를 통해 입문자가 주로 하는 실수 중심으로 코드 작성시 주의할 점 네 가지를 알려주는 부분 등이 그러하다. 첫째, 변수나 객체를 기반으로 함수를 실행할 때 객체가 있는지 확인하고, 둘째, 괄호나 따옴표가 쌍을 이루는지 확인하고, 셋째, 특정 패키지의 함수를 사용할 때 패키지를 로드했는지 확인하고, 넷째, 결과에서 Warning 또는 Error가 났을 경우에는 잘 읽어봐야 한다고 조언하고 있다. 당연히 확인했어야 할 내용을 다룬다고 볼 수도 있지만, 개인적인 경험상 언급한 상황과 같은 오류를 바로 찾지 못 해 시간을 허비한 경우가 꽤 있어 입문자에게 충분히 도움이 될 것이라는 생각이 든다.

패키지 함수 사용시 발생할 수 있는 오류에 대해서도 미리 알려주어 적절하게 대응할 수 있게 한다. dplyr 패키지의 select() 함수 사용시 unused arguments() 오류 메시지가 나타난다면 이는 다른 패키지에 포함된 select() 함수가 사용되었기 때문이라고 원인을 알려주고, 대응방법으로 :: 연산자를 사용해서 dplyr::select(mtcars, am, gaer) 형태로 패키지명을 함께 작성하면 됨을 알려준다.

R스튜디오에서 우측하단 Plots 패널에 그래프를 생성한 후에 Plots 패널의 내용이 갱신되려면 새로운 그래프를 생성해야 했었는데, 작성한 그래프를 지울 때 plot.new() 함수를 이용하면 된다는 팁도 별거 아닌 것 같지만 몰랐던 내용이라 도움이 될 것같다.

7. 프로젝트로 실력 다지기에서는 4가지 미니 프로젝트를 통해 배운 내용을 복습하고 활용할 수 있게 한다. 본격적인 데이터 분석을 통해 가설을 검정하거나 결과를 예측, 또는 분류하는 등의 내용은 아니다. 주위에서 쉽게 접할 수 있는 사회적 상황이나 트랜드를 데이터를 통해서 실제로 그러한지를 살펴보는 내용이긴 하지만, 주제 선정, 데이터 수집 및 가공, 분석, 결과 도출의 전반적인 과정을 경험해 볼 수 있도록 구성되어 있다.

그 중에서 해외 입국자 추이 확인하기는 관광지식정보시스템 투어고 페이지의 2020년 월별 국적별 입국 데이터를 다운로드받아서 데이터 가공 및 분석을 통해 코로나19가 발생한 2020년 해외 입국자 수에 얼마나 변화가 있었는지를 데이터를 통해 명확하게 보여주고 있다. 그런 과정중에 reshape2 패키지의 melt()함수를 통해 데이터를 재구조화하고, ggplot2 패키지의 그래픽 함수를 이용해서 월별 국적별 입국자 수 추이를 시각화함으로써 학습한 내용을 복습하는 효과도 있다.


마지막 장에서는 기초적인 내용만 다루고 있기는 하지만, R마크다운으로 보고서를 작성해서 RPubs라는 공유 서비스에 배포하는 절차, 샤이니로 인터랙티브 웹 앱을 만들어서 shinyapps.io 서비스로 외부에 공개하는 절차도 다루고 있어 R을 활용해 할 수 있는 전반적인 내용을 소개하려고 하고 있어 R을 전반적으로 익히고 간단하게 활용하려고 하는 혼자 공부하는 독자들에게 좋은 길잡이가 될 것이라고 생각한다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
나이스한 데이터 분석 - 데이터가 말하는 트렌드
나이스지니데이타 지음 / 이콘 / 2021년 11월
평점 :
장바구니담기




책을 읽은 느낌을 한 문장으로 표현하자면 작지만 강하다인것 같다. 책 크기는 작고, 200페이지 정도 분량이지만 데이터 분석에 관심이 있는 독자들에게 얕지 않은 지식을 제공하고 있다고 생각한다.

책은 1부와 2부로 나뉘어져 있다. 1부에서는 데이터를 활용한 트렌드 사례를 제시하고 있다. 2부는 빅데이터 담당자들이 실전에서 해야 할 일과 하지 말아야 할 실수들에 대해 이야기한다.

1부에서는 소셜 검색량, 시장점유율, 판매량 데이터 분석, 다양한 공공, 민간 데이터 등을 활용해서 우리 주위에서 일어나는 현상과 트랜드에 대해 데이터를 이용해 객관적으로 설명하고 있다. 통계로 치면 기술(descriptive) 통계와 같은 느낌이다.

1부 내용중 특히 관심을 끌었던 부분은 주류시장에 대한 것이었다. 나이스지니데이터가 보유한 전국 약 10만 개의 POS 가맹점과 약 70만 개의 외식산업에 참여중인 카드 가맹점들의 거래 데이터 중 소주와 맥주 판매량과 매출 정보를 활용해 분석을 진행한 결과라고 한다. 개인적으로 청량감에 소주보다는 맥주를 선호하고, 요새는 테라를 즐겨 마신다. 맥주 제조사에도 별 관심이 없는데, 2019년 상반기까지만 해도 오비맥주가 전국 맥주 시장점유율의 80%를 차지하면서 시장을 독차지하는 듯 했지만, 하이트진로가 2019년에 새롭게 출시한 테라가 '공유 맥주'라고도 불리는 광고효과에 힘입어 출시 100일만에 1억병 판매 기록을 세웠다고 한다. 이런 시장 상황을 반영하듯이 2020년 2분기 기준 오비맥주는 54%, 하이트진로맥주는 39%의 점유율을 보이고 있음을 그래프를 통해 알 수 있었다. 나도 그렇고 주위에서 테라 맥주를 많이 마시는 것같다는 느낌이었는데 객관적인 데이터도 이를 뒷받침함을 알 수 있었다.

수입맥주 얘기에서 'NoNo Japan' 영향으로 가정에서 소비되던 수입맥주 시장에서 오랫동안 시장점유율 1위를 차지하던 일본맥주인 '아사히'의 판매량은 전년도 대비 90% 이상 하락한 처참한 결과를 맞이했고, 반면 이에 힘입어 수입맥주내 시장점유율 2, 3위를 다투던 '칭타오', '하이네켄'의 점유율은 반등했다는 내용도 흥미로왔다. 갑자기 최근 유니클로의 매출 상황은 어떤지 궁금해졌다.



그 외에도 1부에서는 복고 트랜드와 관련해서 "죠크박(스크류바 모양에 죠스바와 수박바를 섞어 놓은 소위 뉴트로 감성의 신제품)"이라는 처음 듣는 제품명도 나오고, 수입차 구매 트랜드 관련해서는 1인당 소득과 급여소득자 비중이 높은 지역일수록 수입차 비중이 높다는 사실 등을 객관적인 데이터를 통해서 흥미롭게 알려주고 있다.

2부는 데이터 분석가를 위한 "6장. 데이터 인사이트를 찾기 위해 필요한 모든 것", 운영자를 위한 "7장. 데이터 파이프라인에서 배포까지, 운영은 실전이다!", 데이터 과학자를 위한 "8장. 데이터는 원유일까, 단지 검은 액체일까?", CEO를 위한 "9장. 데이터를 가진 CEO를 위한 맛집 레시피"로 구성되어 있다.

데이터 분석가를 위해서는 도메인 지식이 중요함을 특히 강조하고 있다.

현실적으로 데이터과학자를 꿈꾸는 신입의 절반 이상은 데이터 운영자가 된다고 한다. 묵묵히 데이터를 만들어내는 일이 어떤 것인지 확인할 수 있게 해준다.먼저 데이터를 표준화하고, 데이터 입수, 전처리, 라벨링(전처리 2단계), 가공에 이르는 데이터 파이프라인 구축, 데이터 검수 등의 업무에 대해 실무적으로 고려할 사항을 포함해서 알려주고 있다.

가트너가 발표한 2020년도 IT트랜드에 '전문성의 민주화(Democratiaztion of Expertise)'라는 단어가 등장했다고 한다. 비전문가들이 추가적으로 값비싼 훈련을 받지 않고도 단순화된 경험을 통해 머신러닝, 앱 개발 등의 기술이나 판매 프로세스, 경제분석 등의 전문지식을 얻을 수 있는 민주화 시대가 열리고 있다는 의미라고 한다. 머신러닝과 같이 전문적인 것처럼 보이는 분야에 누구나 접근할 수 있는 시대가 되어가고 있고, 빅데이터 시대에 대응하기 위해 치열하게 움직이고 있는 지금, 저자는 우리의 노력이 적절한 대처법인지 의문을 가질 필요가 있다고 한다.

저자는 데이터 분석을 요리과정에 비유하면서 요리재료를 도마에 올려놓는 것에 해당하는 데이터 입수과정에서부터 시행착오를 겪을 수 있다는 현실적인 얘기를 해주고 있다. 데이터 직군의 신입지원자들의 이력서에 등장하는 캐글 경험에서는 정제된 데이터를 다루는 경우가 많은데, 현실에서는 데이터가 여기저기 흩어져 있고, 외부에서 전달받은 데이터는 난생 처음 보는 확장자의 모습을 하고 있고, 데이터베이스 이외의 특정 위치에 존재하는 파일을 전달받을 방법을 모색해야 하는 경우 등 다양한 상황이 존재한다. 물론 실제 분석은 IT 부서에서부터 시작하는 경우가 많아 특정 위치에 저장되어 있는 데이터가 텍스트 형태, XML, JSON 등 파일 형태로 분석가에게 전달되는 경우가 많고, 이렇듯 IT담당자가 파일을 가져다 밥상을 차려주기 전에 IT 담당자의 언어로 요구하는 바를 명확하게 전달할 수 있어야 한다. 이후 잘 알려진 것처럼 데이터분석의 80%를 차지한다는 전처리도 본격적인 혼란이 시작되는 지점은

'도메인 기반 전처리'라고 하고 있다. 원본 데이터, 변수 타입을 확인하고, 결측치, 이상치 등을 확인하고 처리하는 작업과 달리 도메인 지식에 기반한 전처리는 현업을 이해하고 관련 지식을 모아야 수행할 수 있는 경우가 대부분이기 때문이다.



CEO를 위한 조언에서는 우리가 흔히 알고 있는 빅데이터의 특성인 3V(Volume, Velocity, Variety)에 더해 새로운 V들, 즉 정확성(Veracity), 가변성(Variability), 시각화(Visualization)로 확장되는, 데이터에 관심 있는 사람들이라면 알만한 내용에 추가로 3VD를 얘기하고 있다. Very Dirty, Very Difficult, Veri Dangerous가 그것이다. 궁극적으로 데이터 비즈니스를 왜 해야 하는지에 대한 이해가 필요하다고 강조하고 있다.

길지 않은 내용이지만 주위에서 쉽게 접할 수 있는 내용과 데이터 전문 집단에서 실제 업무를 수행하면서 겪는 현실적인 어려움에 대해 간결하고 진솔하게 얘기해주는 것같아 데이터분석을 나이스하게 하고자 하는 독자들에게 많은 도움이 될 것이라 감히 말씀드린다.

"서평단 이벤트에 당첨되어 출판사로부터 책을 제공받아 작성하였습니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo