[R 기초] 범주형 변수를 지시형 변수로 변환, Imputation #dummy variable #지시 변수 #결측치 #missing value
Dummy Variables
범주형 데이터를 Dummy 지시 변수로 변환 : 회귀 분석시 범주형 변수를 변환하여 사용할 필요시
R 코드
> install.packages("dummies")
> library(dummies)
> data("iris")
> head(iris,10)
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.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
> d<-dummy.data.frame(iris)
> head(d)
Sepal.Length Sepal.Width Petal.Length Petal.Width Speciessetosa Speciesversicolor Speciesvirginica
1 5.1 3.5 1.4 0.2 1 0 0
2 4.9 3.0 1.4 0.2 1 0 0
3 4.7 3.2 1.3 0.2 1 0 0
4 4.6 3.1 1.5 0.2 1 0 0
5 5.0 3.6 1.4 0.2 1 0 0
6 5.4 3.9 1.7 0.4 1 0 0
소실 데이터 채워넣기 Missing Value Imputation
1) 중심 경향 값 넣기 (평균, 중앙값, 최빈값 등) - 분산이 줄어들고, 소수의 평균이 전체를 대표하는 경우가 생김, 극단값에의해 평균이 영향 받음, Mid-minimum spacing: 양측 5%제거하고 평균 예) 피겨스케이팅 점수 계산
2) 랜덤 추출(분포 기반) - 랜덤에의해 자주 나타나는 값이 채워짐
3) Regression Imputation 회귀 삽입 - 변수내의 값들의 평균이 아닌 각 관측치의 특성을 고려하여 삽입, 기초 Imputation 먼저하고 회귀식에 의해 타겟 소실 데이터를 채움
4) EM algorithm - 기초 Imputation - 회귀분석 - Y데이터 변형 - 회귀분석 - Y데이터 변형.. 변화량이 작을 때 까지 반복
5) Multiple Imputation - 다양한 모델 여러번 반복
> install.packages("Hmisc", repos="http://cran.nexr.com")
> library(Hmisc)
> age <- c(1,2,NA,4)
> age.i <- impute(age)
> age.im <- impute(age,mean)
> age.ir <- impute(age,"random")
> age.i
1 2 3 4
1 2 2* 4
> age.im
1 2 3 4
1.000000 2.000000 2.333333* 4.000000
> age.ir
1 2 3 4
1 2 4* 4
> str(age.i)
Class 'impute' atomic [1:4] 1 2 2 4
..- attr(*, "imputed")= int 3
> summary(age.i)
1 values imputed to 2
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 1.75 2.00 2.25 2.50 4.00
> is.imputed(age.i)
[1] FALSE FALSE TRUE FALSE
'Data > R' 카테고리의 다른 글
html 파싱하기 rvest 패키지 (0) | 2017.04.14 |
---|---|
[R] 잡음 처리(MAF), 이상치 검출(카이제곱분포, LOF) (0) | 2016.03.31 |
[R 기초] 통계, 분포함수, t-검정 (0) | 2016.03.06 |
[R 기초] 패키지와 그래프 (0) | 2016.03.06 |
[R 기초] 사용자정의함수, 재귀함수, z-test (0) | 2016.03.06 |