library(e1071)
skewValues <- apply(dat[,-1], 2, skewness)
skewValues
히스토그램:
hist(dat$Alcohol) # 13을 기준으로 대칭
hist(dat$Nonflavanoid.phenols) # 오른쪽으로 꼬리가 긴 형태를 띰
hist(dat$Magnesium) # 오른쪽으로 꼬리가 긴 형태를 띰
dat$log_Magnesium <- log(dat$Magnesium) # 로그로 변환
skewness(dat$log_Magnesuim)
# 1.08이었던 왜도 0.59로 줄어듦
bctrans_Mg <- BoxCoxTrans(dat$Magnesium)
bctrans_Mg
# 178개 포인트가 lambda를 추정하기 위해 사용
# 추정된 lambda는 -1.4
dat$bc_Magnesium <- predict(bctrans_Mg, dat$Magnesium) # 데이터 포인트를 확인
skewness(dat$bc_Magnesium)
# 왜도가 0에 가까워짐
hist(dat$bc_Magnesium)
분산이 거의 0에 가까운 자료는 그 자체로 정보가가 거의 없다고 볼 수 있으며 예측에 치명적인 오류를 유발하기도 합니다. 이를 알아보기 위해 caret의 기능을 활용해봅시다.
x <- matrix(c(rep(0, 99), 1), rnorm(100, 0, 1), c(rep(1, 99), 2), ncol=3)
View(x)
nearZeroVar(x) # 분산이 0에 가까운 컬럼 번호 반환
nearZeroVar(dat[,-1]) # 분산이 0에 가까운 컬럼은 없음