기본 콘텐츠로 건너뛰기

12월, 2018의 게시물 표시

6.1.4 고수들이 자주 쓰는 R코드 소개 4편 [데이터 합병하기]

Ch4. 데이터 합병하기 Ch4. 데이터 합병하기 데이터를 분석하다보면, 특정 KEY값으로 데이터를 합병해야 될 때가 있습니다. 방법은 다음과 같습니다. ### 이전 데이터 작업 코드 library(reshape) DUPLICATE = read.csv("C:/R/DUPLICATED.csv") DUPLICATED3_3 = DUPLICATE[!duplicated(DUPLICATE[,c('NAME','ID')]),] RESHAPE = read.csv("C:/R/RESHAPE.csv") CAST_DATA = cast(RESHAPE,OBS + NAME + ID + DATE ~ TEST) ## Using Value as value column. Use the value argument to cast to override this choice ### 데이터 합병 MERGE = merge(DUPLICATED3_3,CAST_DATA[,c(-1,-2,-4)] , by = "ID", all.x = TRUE) MERGE ## ID OBS NAME DATE BTW T1 T2 T3 T4 ## 1 A10153 1 A 2018-11-30 1 5 NA NA NA ## 2 A10153 1 A 2018-11-30 1 NA 4 NA NA ## 3 A15853 4 A 2018-11-29 5 NA NA NA 3 ## 4 B15432 3 B 2018-11-30 4 NA NA 2 NA ## 5 C54652 5 C 2018-11-28 5 2 NA NA NA ## 6 C54652 5 C 2018-11-28 5 NA 4 NA NA ## 7 D14568 7 D 2018-11-28 7 2 NA NA N

6.1.3 고수들이 자주 쓰는 R코드 소개 3편 [Reshape 패키지 이용]

Ch3. 하나의 변수가 여러개의 변수로 입력되어 있을 때 Ch3. 하나의 변수가 여러개의 변수로 입력되어 있을 때 병원에서 같은 환자가 여러 검사를 받는 경우는 매우 흔합니다. 그리고 각 검사 수치를 가지고 분석을 해야 되지요. 하지만 데이터 수집이 조금은 애매하게 되어 있는 경우가 종종 발생합니다. 바로 이런 경우와 같습니다. TEST 변수는 검사 종류라고 보면 됩니다. 수집체계가 잘못된 것은 아니지만, 각 검사 수치를 모델링에서 써먹으려면, TEST의 각 수준(levels, T1,T2,T3,T4)는 하나의 TEST변수가 아닌 각각의 T1, T2, T3, T4 변수로 잡혀야 합니다. 이렇게 각 검사 수치가 변수가 되어야 후에 모델링에 써먹을 수가 있습니다. 다음의 코드는 이렇게 되어 있습니다. library(reshape) RESHAPE = read.csv("C:/R/RESHAPE.csv") CAST_DATA = cast(RESHAPE,OBS + NAME + ID + DATE ~ TEST) ## Using Value as value column. Use the value argument to cast to override this choice CAST_DATA ## OBS NAME ID DATE T1 T2 T3 T4 ## 1 1 A A10153 2018-11-30 5 NA NA NA ## 2 2 A A10153 2018-11-30 NA 4 NA NA ## 3 3 B B15432 2018-11-30 NA NA 2 NA ## 4 4 A A15853 2018-11-29 NA NA NA 3 ## 5 5 C C54652 2018-11-28 2 NA NA NA ## 6 6 C C54652 2018-11-27 NA 4 NA NA ## 7 7 D D14568 2018-1

6.1.2 고수들이 자주 쓰는 R코드 소개 2편 [중복 데이터 제거 방법]

Ch2. 중복데이터 제거하기 및 데이터 프레임 정렬 Ch2. 중복데이터 제거하기 및 데이터 프레임 정렬 흔하지는 않지만, 중복으로 입력되는 데이터 셋을 마주치는 일이 생기기 마련입니다. 보통 중복데이터는 데이터 수집단계에서 많이 발생합니다. 하지만 이를 하나하나 엑셀로 처리하는 것은 한계가 있기때문에, R에서 처리하는 방법에 대해 다루어 보고자 합니다. 1차원 벡터, 리스트에서의 중복 제거 A = rep(1:10, each = 2) # 1 ~ 10까지 2번씩 반복 print(A) ## [1] 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 # 중복 제거 unique(A) ## [1] 1 2 3 4 5 6 7 8 9 10 데이터 프레임에서의 중복 제거 다음과 같은 데이터 프레임을 예시로 삼겠습니다. 변수 설명 OBS : 번호 NAME : 환자 이름 ID : 환자 고유번호 DATE : 검사 날짜 BTW : Body total water 먼저, 환자 이름이 있고, 그 환자의 고유 ID가 있습니다. 세상에 동명이인은 많기 때문에 항상 고유 ID를 기록해둡니다. # 데이터 불러오기 DUPLICATE = read.csv("C:/R/DUPLICATED.csv") DUPLICATE ## OBS NAME ID DATE BTW ## 1 1 A A10153 2018-11-30 1 ## 2 2 A A10153 2018-11-30 3 ## 3 3 B B15432 2018-11-30 4 ## 4 4 A A15853 2018-11-29 5 ## 5 5 C C54652 2018-11-28 5 ## 6 6 C C54652 2018-11-27 6 ## 7 7 D D14

2. 앙상블(Ensemble Model)

Ch3. 앙상블(Ensemble) 기법 기계학습의 목적은 주어진 과제(데이터)에 대해서 가장 정확한 하나의 모형을 만드는 것입니다. 하지만 앙상블 기법은 목적과는 조금 다른 접근 방식입니다. 하나의 모형만 만들지 않고, 여러 개의 모형을 만들고 이를 한 세트로 구성합니다. 여러 개의 모형들의 예측값을 합게내서 결과값을 냅니다. 이러한 방법을 Model ensemble 이라고 합니다. 앙상블기법은 전문가들이 모여 아이디어를 함께 내는 것이 한 명의 전문가가 해결하는 것보다 결과가 더 좋다는 경험과 비슷하게 시작되었습니다. 하지만 전문가들이 함께 일할 때여도, 전문가는 그룹에서의 생각과 다르게 독자적으로 결정을 내릴 수 있어야 합니다. 앙상블 기법도 마찬가지로 여러가지의 모형이 있어도 각 모형이 독립적으로 결과를 뽑아냅니다. 그 후, 각 모형들의 결과값을 집계내어 예측값을 정하도록 합니다. Response 변수가 Categorical 변수 일 때 : 투표 형식으로 각 모형에서 가장 많이 뽑힌 값이 예측 값이 됩니다. Response 변수가 Numerical 변수 일 때 : 평균 혹은 중위수를 계산함으로써 중심 경향을 나타내는 값이 예측 값이 됩니다. 다음으로는 앙상블 기법에서 대표적으로 쓰이는 2개의 접근법(Bagging, Boosting)에 대해 다루도록 하겠습니다. Boosting Boosting 기법은 가중치를 이용하여 약한 학습기(Weak learners)를 강한 학습기(Strong learners)로 만드는 과정을 말합니다. Boosting 기법은 독립적인 모델이 만들어질 때마다 이전 모델의 오류를 반영한 후, 다음 모형에는 오분류 된 데이터에 대해 가중치를 주고 모형을 만듭니다. 예를 들자면, 틀린 연습 문제에 대하여 다음 시험때까지 틀린 유형의 연습문제를 더 많이 풀게함으로써(가중치를 올려줌으로써) 오분류되었던 데이터에 대해 정분류를 할 수 있도록 수정을 하는 것입니다. 먼저 Bootstrap이란 용

1. 기계학습(Machine Learning)에 대한 소개

Ch1. 기계학습에 대한 정의 데이터로부터 패턴을 뽑아내는 자동화 프로세스를 기계학습이라고 정의합니다. 기계학습의 적용 분야는 매우 다양한데, 예시를 들자면 다음과 같습니다. 스팸메일 분류 알고리즘 고객들의 구매 패턴 분석 알고리즘 환자 진단 알고리즘 비젼, 음성, 문자 등 많은 분야에 적용이 가능 기계학습 모형의 가장 큰 목적은 예측 모형을 만드는 것에 있습니다. 좋은 예측 모형이란, 현재에 존재하지 않는 데이터에 대해서도 예측값을 잘 맞추는 모형을 좋은 모형이라고 하며, 이런 모형을 일반화(generalize)가 잘 되었다고 합니다. Ch2. 기계학습에서 주의할 점 기계학습에서 예측 모형의 정확성을 떨어트리는 문제점은 2가지가 있습니다. Underfitting Underfitting은 Feature 변수가 Response 변수를 너무 간단하게 설명하려고 할 때 발생합니다. Overfitting Overfitting은 Underfitting과 대조적으로 알고리즘이 너무 복잡하고 데이터에 너무 밀접하게 짜여졌을 때, 잡음(noise)에 예민해지는 문제가 발생합니다. Over(Under)fitting은 예시를 들자면, 이런 경우가 있습니다. 대부분의 대학교 학과에서 최소 강의 1개 이상은 시험 족보가 돌아다니길 마련입니다. 하지만 현명하신 교수님들께서는 족보그대로 시험문제를 출제하는게 아니라, 족보에서 60%, 안나왔던 문제 40%를 배치시켜 균형있게 문제를 내십니다. 이런 경우, Underfitting은 그냥 공부를 안해서 시험을 못보는 거라고 할 수 있습니다. Overfitting은 공부는 열심히 했는데 족보만 공부해가지고 새로운 문제를 못풀어 시험을 못보는 거라고 할 수 있습니다. Machine Learning은 '학습'입니다. 기계한테 데이터를 학습시킴으로써 새로운 데이터가 들어왔을 때, 문제 없이 예측값을 뽑아낼 수 있느냐가 중요합니다. 그런 이유로 항상 예측모형을 학습시킬 때

About Blog

블로그 포스팅 목록(링크) Chpater Title (클릭하면 페이지로 이동) 비고 1. R Code 기본 1단계 R 기본 문법 1편 - 진짜 기본 문법 R 기본 문법 2편 - 변수 형태에 대한 소개 R 기본 문법 3편 - 논리문 및 자동문 R 데이터 불러오기 - 데이터 불러오기-데이터 소개 R 시각화 1편 ggplot2 - 막대도표 R 시각화 2편 ggplot2 - 히스토그램 - 밀도함수 - 상자그림 - 산점도 R 데이터 핸들링 기본 ifelse, subset, ddply - 조건에 따라 값 코딩하기 - 조건에 따라 데이터 추출 - 데이터 집계 통계값 뽑아내기 - 간단한 평균, 편차 등 2. R Code 기본 2단계 결측치 처리 방법 - 결측치 삭제 - 결측치 대체 이상치 처리 방법 - 이상치 탐색 - 이상치 제거 문자열 데이터 처리 1편 - 문자열 추출 - 문자열 붙이기 - 문자열 분리 - 문자열 대체 - 텍스트마이닝(Corpus 활용) - 텍스트 시각화 문자열 데이터 처리 2편 - 간단한 응용 방법 3. R Flexdashboard Flexdashboard 시작하기 전 - markdown 소개 - typora 소개 Flexdashboard를 통해 Dashboard 만들기 1편 - 출력 옵션 설정 - layout 설정 Flexdashboard를

직관으로 이해하는 의학통계학 책 리뷰

직관으로 이해하는 의학통계학 리뷰 먼저 장단점, 추천 대상 3줄 요약부터 시작. 장점 통계분석 결과의 해석능력을 키우기에 최고의 책. 종사 분야가 의료계열이 아니더라도, 매우 추천하는 통계학 이론 설명 책 수식이 없고, 설명이 깔끔하여 정신력 소모가 적음 단점 이 책은 분석 모형을 어떻게 돌리고, 구하는가?에 대해서는 설명하지 않음. (코드도 X) 통계학 기본 용어 및 지식이 필요한 책 (반대로, 기본 용어 및 지식이 깔려 있으면 최고의 책) 좀 비싸고 무겁다. 추천 대상 통계학을 어느정도 공부했지만, 해석에 있어서 이런 저런 의심이 생기시는 분들. 비추천 대상 해석이전에 코드를 돌리고 모델 구하는 방법에 대해 더 관심이 있으신 분들. 최근 의학통계학을 공부할 일이 있어서 나에 대한 투자라 생각하고 5만원이라는 거금을 써서 통계학책을 샀다. 가끔 통계학 혹은 데이터 분석관련 서적을 추천해달라는 주변 사람들의 질문에 이렇게 대답하고는 한다. 그 어떤 책을 산다고 해서 지금 느끼고 있는 갈증을 해결하기는 힘들 것이다. 그 갈증을 해소하려면 직접 데이터를 분석하면서 부딪히며 배우는 것말고는 방법이 없다고 생각한다. 그리고 이게 또 사람들마다 데이터 분석에 접근하는 방식이 다르다. 크게 보면 두가지로 나뉜다. 직접 돌리고 싶어하시는 분들 직접 돌리는 것보다는 넓게 이해하는 것이 더 중요하신 분들 이 의학통계학 책은 직접 돌리기를 원하시는 분들보다는 후자에 해당되시는 분들에게 매우 유용할 것이다. 이 책은 일단 서론에서부터 '돌리는 법, 구하는 법은 안 알랴줌ㅎ' 이라고 적혀있다. (애초에 제목부터 '통계적 사고'를 위한다고 적혀있다.) 그래서 R 코드니 SPSS니 STATA니 뭐 이건 어떻게 돌려야 되는가?에 대해선 하나도 안적혀 있다. 하지만 오히려 나는 이런 부분이 이 책에 더 매력을 느낀다. 애초에 데이터 분석을 책으로 쓸 때, 코드와 이론 모두

[책 소개] (서평이벤트) [제이펍] [베이지안 데이터 분석 바이블(제2판)]

안녕하세요 [ 통계와조사나라 ]  회원 여러분 ! 제이펍 소통기획팀 민지환입니다 . 새로운 신간 소식으로 찾아왔습니다 . [ 베이지안 데이터 분석 바이블 ( 제 2 판 )] 이 곧 출간됩니다 . 베이지안 데이터 분석서로는 세계 최고의 책이라 평가받고 있는 서적입니다 . 무려  6 년이라는 집필 시간을 거쳐 출간한  1 판이 독자들로부터 극찬을 받았고 , 여기에  R  언어 (3 장 ), JAGS(8 장 ), Stan(14 장 ) 을 새롭게 추가하고 기존 내용을 보강하여  2 판을 내놓게 되었습니다 . “21 세기에 베이지안 패러다임은 데이터 과학의 핵심에 있습니다 . 인공지능이 범람하는 시대일수록 인간지능이 요긴하기 때문이고 인간지능은 근본적으로 베이지안이기 때문입니다 . 이 땅의 모든 젊은 데이터 과학자에게 이 책을 추천합니다 .” —  허명회 ( 고려대학교 교수 ,  통계학과 ) ▶  출간 소식 바로 가기 ( 샘플  PDF 도 제공 ) http://jpub.tistory.com/875 ☞  이벤트 참여방법 [ 모집기간 ] 2018 년  12 월  19 일 ( 수 ) [ 발표 ] 12 월  20 일 ( 목 ) [ 도서발송 예정일 ] 12 월  21 일 ( 금 ) [ 선정인원 ] 5 명 ⏰ 출간 예정일 : 2018 년  12 월  20 일 이 게시글을 블로그에 스크랩한  URL  주소 ( 전체공개 필수 ) 서평올릴 인터넷서점  ( 인터파크 ,  예스 24,  알라딘 ,  교보문고 ) 중  2 곳 아이디 필수 ! 많은 분들의 참여 바랍니다  :) 감사합니다 . 도서 상세 관련 자료는 첨부한 한글 파일 참고해주세요..

6.1.1 고수들이 자수 쓰는 R 코드 소개 1편 (dplyr , %>%)

4장. 고수들이 자주 쓰는 R 코드 소개 4장. 고수들이 자주 쓰는 R 코드 소개 Ch1. dplyr 패키지 및 %>%의 쓰임 소개 R에는 매우 많은 명령어가 존재하며, 그 중 다수의 코드는 같은 기능을 하지만 명령어만 다를 뿐입니다. 작성자의취향에 따라 자유롭게 작성할 수 있는 자유가 있습니다. 하지만 이는 R을 처음 배우는 입장에서는 매우 어렵게 다가옵니다. 고수들이 자기 스타일대로 짜둔 코드들을 입문자들이 이해하기는 어려우며, 이는 곧 입문자들이 많은 시간을 투자하여도, 코드 공부가 제대로 되지 않는 문제가 생깁니다. 이번 챕터의 목적은 통계값을 뽑아낼 때 자주 쓰이는 명령어들을 정리하면서, 같은 기능을 하는 코드들도 다뤄보도록 하겠습니다. 아마, 여기까지 따라오셨다면 이제 R코드의 구조는 다 이해하실 거라고 생각합니다. 이번 챕터에서 주로 다룰 패키지는 다음과 같습니다. library(dplyr) library(reshape) ## ## Attaching package: 'reshape' ## The following objects are masked from 'package:plyr': ## ## rename, round_any ## The following object is masked from 'package:dplyr': ## ## rename dplyr 및 reshape 패키지는 매우 자주 쓰이는 패키지 입니다. 주로 이 패키지들을 위주로 다뤄보도록 하겠습니다. 데이터 불러오기 데이터 다운로드 링크: [ https://www.kaggle.com/liujiaqi/hr-comma-sepcsv HR = read.csv("C:/R/HR_comma_sep.csv") dplyr 소개 시작에 앞서… apply라는 함수는 많은 코드에서 볼 수 있는 함수입니다. appl