목록Data Analysis (12)
천선생의 삶
안녕하세요. 천선생입니다. 교차검증 (Cross Validation) 이라는 말, 한번쯤은 들어보신 적 있으실텐데요. 우리는 예측모형을 만들고 그 정확도를 측정하기 위해서 내부적인 검증데이터 (Validation Set)을 생성하게 됩니다. 이를 통하여 실제 예측하게 될 미래 데이터(Test Set)에 얼마나 근접하게 적합되었는지를 확인할 수 있습니다. 정확도 측정의 과정을 확인하시려면 이전의 포스팅 [Kaggle] 타이타닉 생존자 예측 3부 - Modeling 을 참조하세요! [Kaggle] 타이타닉 생존자 예측 3부 - Modeling 안녕하세요. 천선생입니다. 1부와 2부를 순서대로 따라오셨다면 이제 이런 생각이 강하게 들 것이라고 생각합니다. '그래서 예측은 언제하는 데?' 이번 포스트는 바로 최..
안녕하세요. 천선생입니다. 데이터 핸들링(Data Handling) 라는 말, 많이 들어보셨나요? 분석을 하기 위해서는, 주어진 데이터를 올바르게 조작하는 방법을 알아야 합니다! 우리는 이것을 데이터 핸들링이라고 부릅니다. 오늘은 데이터 핸들링에서 제가 가장 많이 사용하는 dplyr 패키지를 소개시켜드리겠습니다. - Why dplyr? 앞에서 간단히 설명드렸듯이, 데이터 핸들링이란 말그대로 데이터를 이리저리 손으로 굴려보는 것을 뜻합니다. 범주별로 묶어서 연산을 한다던지, 변수끼리의 연산으로 새로운 변수를 만들어본다던지 하는 듯의 행위 말이죠. 물론, 기존에 알고계신 함수나 패키지를 활용하여 핸들링을 해도 됩니다! 그러나 전처리를 위한 패키지 dplyr을 활용하면 조금 더 쉽게 접근할 수 있을 것입니다...
안녕하세요. 천선생입니다. 데이터 분석을 공부할수록, 많이 접하게 되는 단어가 있습니다. 바로 시각화 인데요. 오늘은 R을 통해서 시각화를 할 때, 가장 많이 사용되는 패키지인 ggplot2에 대해서 알아보겠습니다. - 시각화? 시각화란 단순하게 말하면 데이터를 한눈에 이해할 수 있는 그림을 그리는 것을 뜻합니다. R에서는 기본적으로 Gragraphics 라는 패키지를 제공하며, 이 패키지를 통하여 이미 수많은 시각화를 할 수 있습니다. Gragraphics 에 내장된 함수를 통하여, cars 데이터(내장 데이터)의 시각화를 해보겠습니다. # cars 데이터의 구조를 확인해보겠습니다. str(cars) # 'data.frame':50 obs. of 2 variables: # $ speed: num 4 4..
안녕하세요. 천선생입니다. 데이터를 다루면서 여러 연산을 하게되는데요. 이때, 반복구문을 활용해서 연산을 해도 되지만 하나씩 접근하여 연산하기 때문에 복잡한 연산이나 큰 데이터에서는 오랜 시간 연산하게됩니다. 이번 포스트에서는 벡터기반 연산을 지원하는 apply계열 함수 에대해서 알아보도록 하겠습니다. - APPLY? apply는 배열 또는 행렬을 입력받으며 주로 2차원 데이터를 연산할 때 많이 사용되는 함수입니다. 기본 형태는 다음과 같습니다. # apply의 기본 형태 apply(array, margin, ... ) 행 / 열 값을 margin 인자에 지정해주면, 그것을 기준으로 연산을 진행하게 됩니다! 간단한 예를 통하여 apply가 작동하는 방식을 보여드리겠습니다. # apply를 활용한 연산의 ..
안녕하세요. 천선생입니다. 지난 포스트까지 반복문과 조건문에 대해 알아봤는데요. 포스트를 보시면서, '너무 대충하고 넘어가는 것 아닌가?' 라고 생각하실 수도 있는데요!! 개인적으로 조건문과 반복문의 진가는 사용자 정의 함수에서 발휘된다고 생각합니다. 따라서 이 포스트에서 사용자 정의 함수의 활용범위를 확인하시고 사용법에 맞게 조정하는 법을 연습하시면, 조건문과 반복문은 따로 시간을 들여 노력하지 않아도 쉽게 사용하실겁니다. 그럼 이제부터, 사용자 정의 함수에 대해서 알아보도록 하겠습니다! - FUNCTION? function이란, 영어 뜻 그대로 사용자 정의 함수를 정의하는 함수입니다. 기본 형태는 다음과 같습니다. # function의 기본형태 function (입력변수명1 = default값, 입력..
안녕하세요. 천선생입니다. 이번 포스트에서는 지난 포스트에서 잠깐 말씀드렸던, 반복문에 대해서 알아보도록 하겠습니다. 반복문에는 크게 for 문과 while 문 으로 나뉘는데요, 차이점을 알아보자면 for 문은 입력된 벡터의 길이만큼 반복하는 반면, while 문은 조건에 따라 반복하게 됩니다. 이로 인해 while 문은 반복횟수를 정확히 모를 때 사용하면 편리합니다. - FOR? for문은 기본적으로 벡터를 주고, 벡터의 첫번째 값부터 마지막 값까지, 순서대로 실행하는 구문입니다. 기본 형태는 다음과 같습니다. # for 구문의 기본형태 for (x in 벡터) { x(원소)를 활용한 실행 구문 } 개인적으로 반복문은 코딩을 통해서 이해하는 것이 가장 빠르고 편하다고 생각하므로, 예제코드를 풀어보겠습니..
안녕하세요. 천선생입니다. 지난 포스트까지는 데이터 유형에 대해 정리해봤습니다. 이번 포스트와 다음 포스트에서는 처음 프로그래밍을 접하셨을 때 가장 어려워하시는 조건문과 반복문에 대해 알아보도록 할건데요, 특히 이번 포스트에서는 조건문에 대해서 알아보도록 하겠습니다. - IF? 조건문이란 말그대로 지정한 조건에 해당할 때, 코드를 수행하는 구문을 의미합니다. 이를 활용하여 원하는 데이터를 출력 또는 연산할 수 있으며, 조건문 안에 들어가는 값은 논리값으로 입력합니다. - 논리값이란? TRUE / FALSE 를 의미합니다. 즉, 조건문 안에 들어가는 식은 논리연산자 형식이 올바르다고 할 수 있습니다. # if문 예제 if ( 조건문 : 반환값은 T / F ) { 조건을 만족할 때 수행할 코드 } - ELS..
안녕하세요. 천선생입니다. 이번 포스트에서는 데이터의 꽃, 데이터프레임 (dataframe)에 대해 알아보도록 하겠습니다. 이전가지의 포스트에서 다룬 데이터 유형들 역시 분석을 함에 있어서 반드시 필요한 요소이지만, 실제 우리가 '데이터' 를 받아보았을 때엔, 대부분 dataframe 의 형태로 받아오게 됩니다. 그렇다면, dataframe 이란 무엇일지 이제부터 알아보도록 하겠습니다! - DATAFRAME? 간단하게 생각해 보았을 때, dataframe은 matrix의 형태를 유지하지만, list의 접근성을 갖습니다. 지난 포스트에서 list를 서랍장에 비유했던 것 기억나시나요? 이처럼 각 column (즉, 변수)로의 접근이 가능하게 됩니다. 이렇게 보면 와닿지 않을 수 있으니, 코드와 함께 설명해드..