R:분류분석
R언어 공부를 위한 틀 틀:R
개요[편집 | 원본 편집]
수집된 데이터를 갖고 자동으로 분류할 수 없을까? 머신러닝의 원리.
학습을 통해 분류분석 모델을 만들어 분류기준으로 활용한다.
의사분석 트리[편집 | 원본 편집]
모델 정확도[편집 | 원본 편집]
Kappa계수 = (정확도 - 우연히일치할가능성) / (1-우연히일치할가능성)
0.8~1 라면 완벽.
0.5 즈음부터 적당하다 보면 된다.
모델 나누기[편집 | 원본 편집]
훈련데이터와 검증데이터로 구분해야 한다. 데이터셋1$model 안에 분류값이 들어가 있다.
벡터 <- createDataPartition(데이터셋1$model, p=0.8, list=F) #훈련데이터로 사용할 인덱스를 얻을 수 있다. 이건 패키지 caret을 이용하는듯?
훈련데이터 <- 데이터셋[벡터, ]
검증데이터 <- 데이터셋[-벡터, ]
#패키지 rpart를 설치, 불러온다.
분류모델 <- rpart(model~., data=훈련데이터, contro=rpart.control(minsplit=노드에포함되는데이터겟수) #.은 모든 요인이라는 의미. 대략 2??
데이터 해석(시각화)[편집 | 원본 편집]
rpart.plot 패키지 설치, 이용한다.
rpart.plot(분류모델) #분류알고리즘을 시각화하여 보여준다. 1행은 예상분류. 2행의 숫자는 각 사과별로 확률, 3행의 퍼센트는 해당 거름망에 도달한 데이터 비율을 나타낸다. 왼쪽이 yes, 우측이 no를 의미하는 길이다.
테스트[편집 | 원본 편집]
예측객체 = predick(분류모델, 검증데이터, type="class")
actual <- 검증데이터$모델
confusionMatrix(actual, 예측객체, mode="everything") #행렬로 정확도를 예측한다.