본문 바로가기

R

(68)
한국인의 삶을 파악하라! -04 연령대에 따른 월급 차이 - "어떤 연령대의 월급이 가장 많을까?" 앞에서는 각 나이별 평균 월급을 분석했습니다. 이번에는 나이를 연령대로 분류해서 비교해 보겠습니다. 분석절차 1. 변수 검토 및 전처리 -연령대, 월급 2. 변수 간 관계 분석 -연령대별 월급 평균표 만들기, 그래프 만들기 연령대 변수 검토 및 전처리하기 파생변수 만들기 - 연령대 앞에서 만든 나이 변수를 이용해 연령대 변수를 만들겠습니다. 표의 기준에 따라 연령대 변수를 만든 후 각 범주에 몇 명이 있는지 살펴보겠습니다. welfare % mutate(ageg = ifelse(age % summarise(mean_income = mean(income)) a..
한국인의 삶을 파악하라! -03 비정규직이 많아지면서 안정된 직장에 취업하는 것도 어려워졌지만, 젊은 세대를 더욱 힘들게 하는 것은 세대 간 소득 겨차가 심해서 사회가 불평등하게 느껴진다는 점입니다. 나이에 따라 월급이 어떻게 다른지 데이터 분석을 통해 알아보겠습니다. 먼저 나이 변수를 검토하고 전처리하겠습니다. 월급 변수 전처리는 앞 실습에서 완료했으니 생략하고 변수 간 관계를 분석하겠습니다. 분석절차 1. 변수 검토 및 전처리 -나이,월급 2.변수 간 관계 분석 -나이에 따른 월급 평균표 만들기, 그래프 만들기 나이 변수 검토 및 전처리 1. 변수 검토하기 나이와 월급의 관계를 분석하려면 나이 변수가 있어야 합니다. 그런데 한국복지패널데이터에는 나이 변수는 없고 태어난 연도 변수만 있기 때문에 태어난 연도를 이용해서 나이 변수를 만..
대한민국 시도별 인구, 결핵 환자 수 단계 구분도 만들기 대한민국의 인구통계와 지도 데이터를 이용해 단계 구분도를 만들어 보겠습니다. kormaps2014 패키지를 이용하면 대한민국의 지역 통계 데이터와 지도 데이터를 사용할 수 있습니다. 1. 패키지 준비하기 먼저 kormaps2014 패키지를 이용하는데 필요한 stringi 패키지를 설치하겠습니다. 그런 다음, devtools 패키지를 설치한 후 install_github()를 이용해 패키지 개발자가 깃허브에 공유한 kormaps2014 패키지를 설치하고 로드하겠습니다. install.packages("stringi") install.packages("devtools") devtools::install_github("cardiomoon/kormaps2014") library(kormaps2014) 2. 대한..
한국인의 삶을 파악하라! - 02 "성별에 따라 월급이 다를까??" 과거에 비해 여성들이 활발하게 사회 진출을 한다고는 하지만 직장에서 받는 대우에는 여전히 차별이 존재합니다. 데이터 분석을 통해 성별에 따라 월급 차이가 있는지 알아보겠습니다. 먼저 성별과 월급 두 변수를 검토하고 전처리한 뒤 변수 간의 관계를 분석하겠습니다. 분석 절차를 요약하면 아래와 같습니다. 1단계 : 변수 검토 빛 전처리 -성별 -월급 2단계 : 변수 간 관계 분석 -성별 월급 평균표 만들기 -그래프 만들기 1. 변수 검토하기 class()로 sex 볂수의 타입을 파악하고, table()로 각 범주에 몇 명이 있는지 알아보겠습니다. 출력 결과를 보면 sex는 numeric 타입이고 1과 2로 구성됩니다. 1은 7578명, 2는 9086명이 존재합니다. > cla..
한국인의 삶을 파악하라! - 01 '한국복지패널데이터' 분석 준비하기 한국복지패널데이터는 한국보건사회연구원에서 가구의 경제활동을 연구해 정책 지원에 반영할 목적으로 발간하는 조사 자료입니다. 전국에서 7000여 가구를 선정해 2006년부터 매년 추적 조사한 자료로, 경제활동, 생활실태, 복지욕구 등 천여 개 변수로 구성되어 있습니다. 다양한 분야의 연구자와 정책전문가들이 복지패널데이터를 활용해 논문과 연구보고서를 발표하고있습니다. 복지패널데이터는 엄밀한 절차로 수집되었고, 다양한 변수를 담고 있기 때문에 데이터 분석을 연습하는 데 훌륭한 재료입니다. 데이터는 다양한 삶의 모습이 담겨 있습니다. 한국복지패널데이터를 분석하면 대한민국 사람들이 어떻게 살아가고 있는지 알 수 있습니다. 1. 데이터 준비하기 깃허브(bit.ly/doit_rb)에..
클래스 불균형 구분할 각 분류에 해당하는 데이터의 비율이 반반이 아닌 경우 훈련 데이터 내 비율이 높은 분류 쪽으로 결과를 내놓는 모델을 만들게 될 수 있다. 이런 상황을 클래스 불균형(Class Imbalance)이라고 한다. 이 절에서는 클래스 불균형의 예와 해결 방법을 알아본다. 예를 들어, 다음의 유방암 데이터를 보자. > library(mlbench) > data(BreastCancer) > table(BreastCancer$Class) benign malignant 458 241 유방암 데이터의 양성(benign)의 수는 458, 악성(malignant)의 수는 241이다. 이 데이터로 기계 학습 모델을 만들면 주어진 입력에 대해 benign을 결과로 줄 확률이 malignant를 줄 확률에 비해 높아진다...
서포트 벡터 머신 서포트 벡터 머신(SVM, Support Vector Machine)은 서로 다른 분류에 속한 데이터 간에 간격이 최대가 되는 선(또는 평면)을 찾아 이를 기준으로 데이터를 분류하는 모델이다. 서포트 벡터 머신 모델 그림 10-10에 서포트 벡터 머신의 개념을 그림으로 나타냈다. 흰색 원과 검은색 원은 서로 다른 분류를 뜻한다. 서포트 벡터 머신은 각 분류에 속하는 데이터로부터 같은 간격으로, 그리고 최대로 멀리 떨어진 선 또는 평면을 찾는다. 이러한 선 또는 평면을 최대 여백 초평면(Maximum Margin Hyperplane)이라고 하고, 이 평면이 분류를 나누는 기준이 된다. 그림 10-10에서는 대각선 방향의 직선이 최대 여백 초평면에 해당한다. 그리고 이 직선과 가장 가까운 각 분류에 속한 점..
신경망 신경망(Neural Network)은 인간의 뇌를 본 따서 만든 모델이다. 신경망에는 뉴런을 흉내 낸 노드들이 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)으로 구분되어 나열되어 있다. 입력층에 주어진 값은 입력층, 은닉층, 출력층 순서로 전달된다. 신경망은 예측 성능이 우수하다고 알려져 있다. 특히 은닉층에서 입력 값이 조합되므로 비선형적인 문제를 해결할 수 있는 특징이 있다. 그러나 의사 결정 나무 등의 모델과 비교해 만들어진 모델을 직관적으로 이해하기가 어렵고 수작업으로 모델을 수정하기도 어렵다. 신경망 모델 그림 10-7에 신경망 모델의 개념도를 보였다. 신경망에 입력이 주어지면 그 값은 그림 10-7에 보인 화살표를 따라 전달되어 은닉층에 도달..