Data Analysis

R/머신러닝 & 딥러닝

[R] 변수선택 관련 간단한 실습

Holy_Water 2022. 11. 4. 15:46

핵심 함수

lm() 회귀분석 함수

step() 변수선택 방식을 선택하고 적용하는 함수 (forward, backward, both 총 3개가 있음)

summary() 결과값을 나타내는 함수

formula() 제거법 적용 후 남은 값들을 나타내는 함수

 

실습1

사전준비

install.packages("mlbench") #패키지 설치
library(mlbench) #'mlbench' 라이브러리 실행하여 BodstonHousing 데이터 사용
data("BostonHousing") #데이터 생성
head(BostonHousing) #데이터 확인

 

전진선택법 (Forward Selection) 활용해보기

ss <- lm(medv ~ .,data=BostonHousing);ss #lm()함수로 회귀분석 하기

#step()함수로 전진선택법 실행 , 여기선 direction = "forward" 임으로 전진선택
ss1 <- step(ss, direction = "forward");ss1 

 

후진제거법 (Backward Elimination) 활용해보기

ss <- lm(medv ~ .,data=BostonHousing)
ss2 <- step(ss, direction = "backward") #direction = 'backward'이므로 후진제거법 
formula(ss2) #제거법 적용 후 남은 값들을 나타낸다

 

실습2

사전준비

data(attitude) #데이터 불러오기
head(attitude) #데이터 확인

 

회귀분석 및 전처리

model <- lm(rating~. , data=attitude) #회귀분석 하기
summary(model) #결과값 나타내기

#독립변수 제거
reduced <- step(model, direction="backward")
summary(reduced)

# 단계적 선택법
ss3 <- step(ss, direction = "both")
formula(ss3)