다음은 목표 클래스가 x1 로만 정해지고 x2 는 척도가 매우 큰 잡음… | [ADsP] 데이터분석 준전문가 기출유형 모의고사 8회 상세 페이지
1[ADsP] 데이터분석 준전문가 기출유형 모의고사 8회
다음은 목표 클래스가 x1 로만 정해지고 x2 는 척도가 매우 큰 잡음 변수인 자료에 k-NN 을 적용한 R 코드와 출력이다. 옳은 것은?> library(class) > set.seed(1) > n <- 200 > x1 <- rnorm(n); x2 <- rnorm(n, sd = 1000) > y <- factor(ifelse(x1 > 0, "A", "B")) > X <- data.frame(x1, x2) > idx <- sample(n, 140) > p1 <- knn(X[idx, ], X[-idx, ], y[idx], k = 5) > Z <- scale(X) > p2 <- knn(Z[idx, ], Z[-idx, ], y[idx], k = 5) > c(raw = mean(p1 == y[-idx]), scaled = mean(p2 == y[-idx]))raw scaled 0.5166667 0.9166667
1
k 를 키우면 결정경계가 더 복잡해진다
2
표준화 전에는 x1 이 거리를 지배한다
3
k-NN 은 학습 때 회귀계수를 추정한다
4
표준화한 뒤의 정확도가 더 높게 나온다
해설
출력의 raw 는 약 0.52, scaled 는 약 0.92로 표준화 후 정확도가 크게 높아졌다.
k-NN 은 유클리드 거리로 이웃을 찾으므로 표준편차 1000인 x2 가 거리를 지배해 분류가 우연 수준이었고, 표준화로 두 변수의 척도를 맞추자 x1 정보가 살아났다.
- 표준화 전: 척도가 큰 x2 가 거리를 지배한다
- 학습: 계수를 추정하지 않고 자료를 저장하는 게으른 학습이다
- k 증가: 더 많은 이웃을 평균해 경계가 매끄러워진다
오류나 개정된 내용이 보이면 알려주세요