갈루아의 반서재

728x90

이제 모델링에 부적절한 일부 변수를 무시하는 작업이다. 


IDs and Outputs

앞에서도 언급했듯이 risk 변수는 아웃풋 변수이다. 

이 변수는 모델링에서 할 역할이 없다.

항상 조심해야 하는데 아웃풋 변수를 모델링에 인풋으로 넣는 점이다.

입문자가 흔히 저지르기 쉬운 실수 중 하나다.


> igonre <- union(id, if(exists("risk")) risk)  // union : 합집합(중복되는 값 제외)

어떤 관찰 결과에도 일정한 값을 가지는 변수가 없는지 확인해야 한다. 

이런 것들은 종종 식별자이고 만약 그렇다면 이 또한 무시해야할 대상이다.


(ids <- which( sapply(ds, function(x) length(unique(x))) == nrow(ds))) 

// sapply return the simplest data object, such as vector or matrix instead of list.

// sapply select columns meeting the condition

// nrow  return the number of rows

## date

## 1

> ignore <- union(ignore, names(ids))

[1] FALSE FALSE FALSE

All Missing 

다음으로 전체 값이 측정되지 않은 변수를 제거한다.  

각각의 변수의 missing values(결측값) 의 수를 카운트한 다음, missing values 를 가진 변수명을 나열한다.


> mvc <- sapply(ds[vars], function(x) sum(is.na(x))) 

// is.na(x) : x값들이 NA이면 TRUE 아니면 FALSE를 리턴하는 함수로, sum은 TRUE를 1, FALSE를 0으로 카운트한다.

mvn <- names(which(mvc == nrow(ds))) // 100% 수준 

ignore <- union(ignore, mvn)

Many Missing 

70% 이상의 결측만 보이는 변수에 대해서만 무시.

mvn <- names(which(mvc >= 0.7*nrow(ds))) // 70% 수준

ignore <- union(ignore, mvn)



728x90