본문 바로가기

SW/R

R : K-fold Cross Validation ( 개념 및 예제 ) K-fold Cross Validation 오직 하나의 분류 실험만으로 충분할까요? Test 데이터셋을 다르게 만들면 accuracy가 달라질 것입니다. 따라서 Test 데이터셋이 어떻게 구성되었는가에 따라 accuracy가 원래 성능보다 높거나 낮게 나올 수도 있습니다. 그렇다면 어떻게 해야 분류 모델 또는 분류 알고리즘의 성능을 보다 정확히 알 수 있을까요? 데이터셋의 K-fold partition을 생성합니다. 각각의 k의 실험에서 훈련을 위해 k-1 부분을 테스팅용으로 남기는 방식으로 진행합니다. 보통 k는 10으로 많이 사용합니다. 델(or 알고리즘)의 정확도는 각 fold의 정확도들의 평균으로 계산합니다. 평균을 구하는 식 3-fold cross validation모든 클래스에서 균등한 비율(..
R : KNN classification (개념 및 예제) KNN 아이디어- 새로운 포인트( * )에 가장 가까운 K를 찾는다.- 새로운 포인트( * )는 주요 클래스(A)에 속하는 것으로 결정한다.A 클래수 이웃한 수 > B 클래스 이웃한 수 알고리즘(Algorithm)- 주어진 지점과 각 지점 사이의 거리를 계산합니다.- 거리별 가장 가까운 K 지점을 선택합니다.- K 포인트로부터 주요 클래스를 선택합니다. (클래스는 새로운 점을 위한 것입니다) 어떻게 두 요소 사이의 거리를 계산할까요? 유클리드 ditance 공식을 이용합니다. K 를 얼마로 하는 것이 좋을까요?- 크게 할 때와 작게 할 때 각각 장단점이 있습니다.- 보통은 데이터 수가 N 이라고 할 때 K < sqrt(N) 을 권장합니다.- k의 값에 따라 분류는 매우 달라질 수 있습니다. 아래 그림을 ..
R : k-means clustering- 군집화 ( 개념 및 예제 ) 군집화 거리 계산군집화에 대한 거리를 계산하는 공식은 아래와 같습니다. R에서 내장된 공식을 통해 k-means clustering 실습을 진행해보도록 하겠습니다. R function: kmeans kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong", "Lloyd", "Forgy","MacQueen")) kmeans에 대한 매개 변수는 다음과 같습니다.- x : 수치형 데이터 matrix- centers : 몇 개의 그룹으로 나눌 것인가- iter.max : 그룹 중심점을 찾기 위한 최대 반복 횟수- nstart : 초기에 그룹 중심점을 임의로 잡을 때 몇 개의 점을 이용할것인가- algorithm : 사용할 알고리즘 k..
R : 군집화-Clustering, 분류-Classification (개념 및 예제) 군집화(Clustering)대상 데이터를 일부 카테고리(클래스)로 그룹화하는 것을 뜻합니다. 같은 그룹의 데이터는 비슷한 특징을 가지고 있습니다. 따라서 그룹이 1에 얼마나 "근접"하고 있는가를 근거로 군집을 가리킵니다. 보통 비지도 학습(Unsupervised learning)에서 활용됩니다. 분류(Classification)새로운 데이터를 알려진 범주 중 하나로 분류하는 것을 뜻합니다. 카테고리에는 "라벨"을 보유합니다. 현실에서는 예측 문제에서 적용하고 있습니다. 주로 지도 학습(Supervised learning)에서 활용합니다. 분류분석 절차1. 라벨(클래스) 정보가 있는 대상 데이터셋을 준비한다.2. 대상 데이터셋을 트레이닝 데이터 및 테스트 데이터로 나눈다. - 테스트 데이터의 라벨은 모른다..
R : 로지스틱 회귀 ( 개념 및 예제 ) 로지스틱 회귀일반적인 회귀 문제에서는 종속변수가 수치데이터(양적 자료)입니다. 즉, 예측 해야 할 종속 변수가 수치데이터가 아닌 범주형 데이터 (Yes or No) 일 때를 로지스틱 회귀라고 한다. 또, 범주나 그룹을 예측하는 문제를 ‘분류(classification)’ 문제 라고 합니다. 실습 : iris 품종 예측먼저 iris 품종을 예측하기 위해 회귀식을 구하겠습니다. head(iris)# Sepal.Length Sepal.Width Petal.Length Petal.Width Species# 1 5.1 3.5 1.4 0.2 setosa# 2 4.9 3.0 1.4 0.2 setosa# 3 4.7 3.2 1.3 0.2 setosa# 4 4.6 3.1 1.5 0.2 setosa# 5 5.0 3.6 1...
R : 중선형 회귀 분석 (개념 및 예제) 중선형 회귀영어로 Multiple linear regression입니다. 독립 변수가 2개 이상일 때 중선형 회귀라 합니다. 따라서 중선형 회귀식의 형태는 선형 회귀식과 유사합니다. 실습 : 연봉 예측 모델특정 직군의 연봉을 3가지 변수(교육년수, 여성비율, 평판)를 가지고 예측해보겠습니다. 사용하는 데이터는 car 패키지의 Prestige입니다. library(car)# 필요한 패키지를 로딩중입니다: carData head(Prestige)# education income women prestige census type# gov.administrators 13.11 12351 11.16 68.8 1113 prof# general.managers 12.26 25879 4.02 69.1 1130 prof#..
R : 데이터 마이닝과 단순 선형 회귀 (개념 및 예제) 데이터 마이닝지금까지는 주로 전통적인 통계 분석 도구를 이용하여 데이터를 분석하는 방법을 배웠습니다. 데이티 마이닝 도구를 학습하면 데이터로 부터 다양한 정보를 얻을 수 있습니다. 데이터 마이닝은 데이터 안에서 의미 있는 패턴, 추세 등을 발견해나가는 과정을 의미합니다. 앞으로 회귀분석, 분류, 군집화 등에 대해 알아보겠습니다. 단순 선형 회귀종속 변수(y) 와 독립변수(x) 사이의 선형 관계를 파악하고 이를 예측에 활용하는 방법을 뜻합니다. (x)와 (y) 사이의 관계식을 모델(model) 이라 한다. 보통 회귀 모델, 예측 모델이라 합니다. 단순 선형 회귀식은 다음과 같은 형태를 나타냅니다. y = Wx + b 즉, 상수인 W와 b 를 찾는 것이 모델을 만드는 과정이다. 현실세계에서는 두 변수가 선형..
R : ggmap-데이터 크기를 지도에 표현 (개념 및 예제) 데이터의 크기를 지도에 표현R 에서 재공하는 지진 발생 데이터(quakes)를 이용하여 지진 규모를 발생지역에 표시할 수 있습니다. theme은 x,y축 레이블을 보이지 않게합니다. 우선 지진이 난 지역을 표시해보도록 하겠습니다. 결과는 아래와 같이 나옵니다. library(ggmap) library(ggplot2) df