목록R (10)
천선생의 삶
안녕하세요. 천선생입니다. Predicting Titanic Survivors 1부에서는 각 변수를 탐색하며 데이터에 대한 이해도를 쌓고, 전체적인 분석에 대한 계획을 짜기 위하여 진행하는 EDA 에 대한 설명을 하도록 하겠습니다. 이번 포스트에서 우리의 목표는 다음과 같습니다. 1. 각 데이터의 성질 파악하기 2. 데이터 내부에 존재하는 NA값(결측값) 확인과 올바른 대치방법 고안 3. 모델링 이전에 진행하게 될 Feature Engineering 계획수립 - NA값 처리 탐색하기 이전에, 데이터 내부에 존재하는 NA(결측값)은 없는지 확인하도록 하겠습니다. 만약 결측값이 존재한다면, 사용자 함수를 정의하여 각 열의 평균값으로 대치하도록 하겠습니다. # 각 변수들에 존재하는 NA value의 수와 해당..
안녕하세요. 천선생입니다. 이번 포스트에서는 분석을 시작하기 이전에 확인해야 할 것들에 대해서 짧게 설명하도록 하겠습니다. 분석 목적이 무엇인지, 무엇을 분석할 것인지, 어떻게 분석할 것인지에 대한 명확한 정의가 필요할 것 같습니다. 1. 분석 목적 분석의 목적이 무엇인가에 대해서 고민할 필요가 있습니다. 분석을 하다보면 '뭘 하고 있었던 거지?' 하는 순간이 있는데 그럴때마다 확인할 수 있는 지표를 세우는 겁니다! Kaggle은 친절하게도, 데이터를 통하여 주최측이 원하는 목적을 명시해줍니다. '타이타닉 데이터의 승객 정보를 활용하여 생존여부를 예측해본다' 라는 목적을 설정했습니다. 2. 무엇을? 이제 우리는 어떤 승객 정보를 활용할 것인지에 대한 고민을 시작할 필요가 있습니다. 이러한 고민을 해소하기..
안녕하세요. 천선생입니다. 지난 포스트까지 반복문과 조건문에 대해 알아봤는데요. 포스트를 보시면서, '너무 대충하고 넘어가는 것 아닌가?' 라고 생각하실 수도 있는데요!! 개인적으로 조건문과 반복문의 진가는 사용자 정의 함수에서 발휘된다고 생각합니다. 따라서 이 포스트에서 사용자 정의 함수의 활용범위를 확인하시고 사용법에 맞게 조정하는 법을 연습하시면, 조건문과 반복문은 따로 시간을 들여 노력하지 않아도 쉽게 사용하실겁니다. 그럼 이제부터, 사용자 정의 함수에 대해서 알아보도록 하겠습니다! - 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 (즉, 변수)로의 접근이 가능하게 됩니다. 이렇게 보면 와닿지 않을 수 있으니, 코드와 함께 설명해드..
안녕하세요. 천선생입니다. 지난 포스트까지 vector, matrix, array 에 대해서 알아봤는데요, 이 3가지 데이터 유형은 모두 배열을 기반으로 한 데이터 유형입니다. 따라서 다양한 데이터 유형을 저장할 수 없다는 점에서 큰 단점을 갖기도 합니다. 따라서 이번에는 이러한 단점을 극복하기 위해 필요한 list 에 대하여 알아보도록 하겠습니다. - LIST? 이전의 데이터 유형은 차원에 따른 모양을 가지며, 동일 데이터 타입만을 가질 수 있었습니다. 그러나 list의 경우, 데이터 타입과 데이터의 모양에 무관하게 저장이 가능합니다. 즉, 기존과는 다르게 '여러 데이터를 담아낸다.' 라고 받아들이시면 이해가 빠르실 것 같습니다. 각 서랍은 KEY라고 불리우는 인자로 이름붙여지며, 이는 Python의 ..
안녕하세요. 천선생입니다. 지난시간에는 matrix (https://cheon9.tistory.com/8)에 대해 알아보았는데요. vector와 matrix는 데이터의 기본을 구성하지만, 일차원 혹은 이차원의 데이터만을 품을 수 있다는 단점이 있는데요. 이 포스트에서는 다차원 데이터를 구성하는데 필요한 array 에 대하여 알아보도록 하겠습니다. - ARRAY? 어레이란 동일 데이터 타입을 갖는 다차원 배열을 의미합니다. 벌써 세번째로 만나는 동일 데이터 타입으로 구성되는 배열인데요, 간단하게 정리해드리면 동일 데이터 타입에서, 배열의 구분은 다음 표와 같습니다. 1차원 2차원 3차원 이상 벡터 (vector) 매트릭스 (matrix) 어레이 (array) - CODE 어레이를 저장할 때는, array ..