데이터 분석(Data Analysis)/쉽게 배우는 파이썬 데이터 분석 14

[다섯째마당_데이터 과학의 세계] 15 머신러닝을 이용한 예측 분석

머신러닝 모델을 이용해 예측 분석하는 방법을 알아보자.15-1 머신러닝 모델 알아보기머신러닝 모델이 무엇인지, 머신러닝 모델을 이용해 어떻게 예측을 하는지 알아보겠음.  머신러닝 모델이란?머신러닝모델 만들기 = 함수만들기머신러닝 모델은 함수와 비슷함. 함수에 값을 입력하면 규칙에 따라 계산한 값을 출력하듯이 머신러닝 모델도 값을 입력하면 정해진 규칙에 따라 계산한 예측값을 출력함. 머신러닝 모델이 함수와 다른 점은 만드는 방법임. 함수를 만들 때는 사람이 계산 규칙을 정해 입력해야 하지만 머신러닝 모델을 만들 때는 사람이 계산 규칙을 정하지 않고 컴퓨터가 데이터에서 패턴을 찾아 스스로 규칙을 정하게 됨. 예를 들어 환자의 정보를 입력하면 당뇨병 발병 여부를 예측하는 모델을 만든다면, 사람이 해야 할 일은..

[다섯째마당_데이터 과학의 세계] 14 통계 분석 기법을 이용한 가설 검정

통계 분석 기법을 이용해 가설을 검정하는 방법을 알아봄.14-1 가설 검정이란?기술 통계와 추론 통계통계 분석은 기술 통계와 추론 통계로 나눌 수 있음. 데이터를 요약해 설명하는 통계 분석 기법을 기술 통계(descriptive statistics)라고 함. 예를 들어 사람들이 받는 월급을 집계해 전체 월급 평균을 구한다면 이는 '기술 통계 분석'임.추론 통계(inferential statistics)는 단순히 숫자를 요약하는 것을 넘어 어떤 값이 발생할 확률을 계산하는 통계 분석 기법임. 예를 들어 데이터에서 성별에 따라 월급에 차이가 있는 것으로 나타났을 때, 이런 차이가 우연히 발생할 확률을 계산함. 만약 이런 차이가 우연히 나타날 확률이 작다면 성별에 따른 월급 차이가 통계적으로 유의하다(stat..

[넷째마당_다양한 데이터 분석의 세계] 13 마크다운으로 데이터 분석 보고서 만들기

마크다운을 이용해 코드, 설명 글, 그래프가 잘 어우러진 데이터 분석 보고서를 만드는 방법을 알아봄.13-1 신뢰할 수 있는 데이터 분석 보고서 만들기데이터 분석 결과를 잘 전달하려면 코드와 결과물이 설명 글과 함께 어우러진 데이터 분석 보고서를 작성해야 함. 그래야만 독자가 분석 과정을 명확히 이해할 수 있고, 보고서의 코드를 직접 실행하면서 똑같은 결과가 출력되는지 확인하거나 자신의 분석 작업에 활용할 수 있음.마크다운(markdown)을 활용하면 데이터를 분석하는 전 과정을 담은 보고서를 쉽게 만들 수 있음. HTML, 워드, PDF 등 다양한 포맷으로 저장할 수 있어서 문서 작성 소프트웨어를 따로 사용하지 않고도 훌륭한 데이터 분석 보고서를 만들 수 있음. 이 책도 마크다운을 이용해 만들었음.신뢰..

[넷째마당_다양한 데이터 분석의 세계] 12 인터랙티브 그래프

마우스 움직임에 반응해 실시간으로 모양이 변하는 인터랙티브 그래프를 만드는 방법을 알아보자.12-1 인터랙티브 그래프 만들기인터랙티브 그래프란?인터랙티브 그래프(interactive graph)는 마우스 움직임에 반응하며 실시간으로 모양이 변하는 그래프임. 인터랙티브 그래프를 만들면 그래프를 자유롭게 조작하면서 관심 있는 부분을 자세히 살펴볼 수 있음. 그래프를 HTML 포맷으로 저장하면 일반 사용자도 웹 브라우저에서 그래프를 조작할 수 있음.plotly.com에서 다양한 인터랙티브 그래프를 직접 조작해 볼 수 있음(plotly.com/python).     [Do it! 실습] 산점도 만들기plotly 패키지로 인터랙티브 그래프를 만드는 방법을 알아보겠음. 패키지 준비하기아나콘다 프롬프트에서 plotl..

[넷째마당_다양한 데이터 분석의 세계] 11 지도 시각화

지역별 특징을 지도에 색깔로 표현한 단계 구분도를 만드는 방법을 알아봄.11-1 시군구별 인구 단계 구분도 만들기지역별 통계치를 색깔 차이로 표현한 지도를 단계 구분도(choropleth map)라고 함. 단계 구분도를 만들면 인구나 소득 같은 통계치가 지역별로 어떻게 다른지 쉽게 이해할 수 있음. 시군구별 인구 데이터를 이용해 단계 구분도를 만들어 보겠음.import jsongeo = json.load(open('SIG.geojson', encoding = 'UTF-8'))tip) json.load()로 GeoJSON 파일을 불러오려면 open()을 이용해 파일을 열어야 함.tip) GeoJSON은 위치 정보를 JSON 포맷으로 저장한 표준 지리 정보 데이터 포맷임. 지리 정보 데이터를 다루는 대부분의..

[넷째마당_다양한 데이터 분석의 세계] 10 텍스트 마이닝

문자로 된 데이터에서 가치 있는 정보를 얻어 내는 텍스트 마이닝을 알아보자.10-1 대통령 연설문 텍스트 마이닝문자로 된 데이터에서 가치 있는 정보를 얻어 내는 분석 기법을 텍스트 마이닝(text mining)이라고 함. 텍스트 마이닝을 할 때 가장 먼저 하는 작업은 문장을 구성하는 어절들이 어떤 품사인지 파악하는 형태소 분석(morphology analysis)임. 형태소 분석으로 어절의 품사를 파악한 다음 명사, 동사, 형태소 등 의미를 지닌 품사를 추출해 어떤 단어가 얼마나 많이 사용됐는지 확인함. 텍스트 마이닝을 이용해 SNS나 웹 사이트에 올라온 글을 분석하는 사람들이 어떤 이야기를 나누고 있는지 파악할 수 있음.문재인 대통령의 출마 선언문을 이용해 텍스트 마이닝을 하는 방법을 알아보겠음. 대통..

[셋째마당_실전! 데이터 분석 프로젝트] 09 데이터 분석 프로젝트 - 한국인의 삶을 파악하라!

대한민국 사람들은 어떻게 살아가고 있을까? 데이터를 분석해 낱낱이 파헤쳐보자.09-1 '한국복지패널 데이터' 분석 준비하기분석 기술을 익혔으니 실제 데이터 분석해 보겠음. 실습에는 '한국복지패널 데이터'를 이용하겠음.한국복지패널 데이터는 한국보건사회연구원에서 우리나라 가구의 경제활동을 연구해 복지 정책에 반영할 목적으로 발간하는 조사 자료임. 전국에서 7,000여 가구를 선정해 2006년부터 매년 추적 조사한 자료로, 경제활동, 생활상태, 복지욕구 등 천여 개 변수로 구성되어 있음. 다양한 분야의 연구자와 정책전문자들이 복지패널 데이터를 활용해 논문과 연구보고서를 발표하고 있음.복지패널 데이터는 엄밀한 절차를 따라 수집되었고 다양한 변수를 담고 있으므로 데이터 분석 기술을 연습하는데 훌륭한 재료임. 데이..

[둘째마당_본격실습! 데이터 갖고 놀기] 08 그래프 만들기

데이터를 그래프로 표현하면 특징을 쉽게 이해할 수 있음. 이 장에서는 그래프를 만드는 방법을 익힘.08-1 파이썬으로 만들 수 있는 그래프 살펴보기데이터를 보기 쉽게 그림으로 표현한 것을 그래프(graph)라고 함. 데이터 원자료나 통계표는 수많은 숫자와 문자로 구성되어 있어 내용을 파악하기 어려움. 데이터를 그래프로 표현하면 추세와 경향성이 드러나기 때문에 특징을 쉽게 이해할 수 있고, 그래프를 만드는 과정에서 새로운 패턴을 발견하기도 함. 특히 분석 결과를 발표할 때 그래프를 활용하면 데이터의 특징을 잘 전달할 수 있음. 파이썬으로 어떤 그래프를 만들 수 있을까?파이썬을 이용하면 다양한 그래프를 만들 수 있음. 파이썬에는 2차원 그래프뿐만 아니라 3차원 그래프, 지도 그래프, 네트워크 그래프, 시간에..

[둘째마당_본격실습! 데이터 갖고 놀기] 07 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기

현장에서 만들어진 실제 데이터는 오류를 포함하고 있기 때문에 분석하기 전에 수정부터 해야 함. 이 장에서는 데이터의 오류를 찾아 정제하는 방법을 익힘.07-1 빠진 데이터를 찾아라! - 결측치 정제하기결측치(missing value)는 누락된 값, 비어 있는 값을 의미함. 현장에서 만들어진 실제 데이터는 수집 과정에서 발생한 오류 때문에 결측치가 포함되어 있을 때가 많음. 결측치가 있으면 함수가 적용되지 않거나 분석 결과가 왜곡되는 문제가 발생함. 앞에서 사용한 예제 데이터들은 결측치가 없기 때문에 바로 분석했지만 실제 데이터를 분석할 때는 결측치가 있는지 확인해 제거하는 정제 과정을 거친 다음 분석해야 함. [Do it! 실습] 결측치 찾기결측치를 제거하는 방법을 알아보겠음. 먼저 결측치가 포함된 데이..

[둘째마당_본격실습! 데이터 갖고 놀기] 06 자유자재로 데이터 가공하기

데이터를 분석하려면 데이터를 자유자재로 다룰 수 있어야 함. 이 장에서는 데이터를 추줄하거나 여러 데이터를 합치는 등 데이터를 가공하는 방법을 익힘.06-1 데이터 전처리 - 원하는 형태로 데이터 가공하기주어진 데이터를 그대로 사용하기보다 원하는 형태로 변형해 분석할 때가 많음. 분석에 적합하게 데이터를 가공하는 작업을 데이터 전처리(data preprocessing)라고 함. 일부를 추출하거나 종류별로 나누거나, 여러 데이터를 합치는 등 데이터를 자유롭게 가공할 수 있어야 목적에 맞게 분석할 수 있음.Tip) 데이터 가공(data manipulation), 데이터 핸들링(data handling), 데이터 랭글링(data wrangling), 데이터 먼징(data munging) 등의 용어도 데이터 전..