- 어떤 기준으로 적절한 데이터 전처리 방법을 결정하나요?
- 데이터는 어느 한 쪽으로 치우치거나(샘플링 편향), 결측치가 있거나, 데이터들 scale(단위, 규모)의 차이가 있는 등, 알고리즘 실행 이전 ‘전처리’ 과정이 필요한 경우가 대부분이다. 최근접 이웃 알고리즘은 이웃 간의 거리를 기반으로 데이터값을 결정하지만, 모든 알고리즘이 그런 것은 아니다. 때문에, 각 모델의 알고리즘에 알맞게 데이터들을 전처리해야 하며, 이는 최종 알고리즘의 성능을 높이는데 중요한 토대가 될 수 있다.
데이터 전처리의 주요 작업들
- 데이터 정리: 누락된 값을 채우거나 노이즈가 많은 데이터와 이상치값을 검색하고 제거합니다.
- 누락된 값이 존재하는 샘플을 제거
- 누락된 값을 더미값, 평균값, 빈도값, 회귀값 등으로 대체
- 데이터 변환: 데이터를 정규화하여 차원 및 노이즈를 줄입니다.
- 최소-최대 정규화 : 0과 1사이의 값으로 설정
- z 점수 정규화 : 평균 및 표준편차를 활용
- 데이터 감소: 데이터를 쉽게 처리할 수 있도록 데이터 레코드 또는 특성을 샘플링합니다.
- 데이터의 특성들 중에서 가장 중요한 특성들만 선택 - feature selection
- 특성이 너무 많아지면 curse of dimensinality가 발생할 수 있다 (차원이 높아질수록 데이터 사이의 거리가 멀어지고, 빈공간이 증가하는 현상이 보임) → 저장공간과 처리시간이 불필요하게 증가된다
- 데이터 분할: 특정 기계 학습 방법에 쉽게 사용할 수 있도록 연속 특성을 범주 특성으로 변환합니다.
출처 : https://learn.microsoft.com/ko-kr/azure/architecture/data-science-process/prepare-data
- k - 최근접 이웃 알고리즘에서 n_neighbors 값 설정 기준과 변화는 어떻게 이루어지나요?
K = n_neighbors
값의 설정기준은 상황에 따라 다른 것 같습니다.. n값을 줄이면 결정경계가 매우 강건하게 생기고 이에따라 overfitting이 일어날 가능성이 높습니다. n값을 과도하게 늘리면 이상치에 대해 적절히 대응하기 어렵습니다. 그렇기에 overfitting을 고려하면서 하이퍼파라미터를 튜닝하는 것이 중요합니다. K 값이 변화함에 따라 참고하는 주변 데이터 양이 변합니다 이에따라 결정경계가 변합니다.

- k - 최근접 이웃 알고리즘이 다양한 데이터셋에서 어떤 성능을 보여주나요?
k - 최근접 이웃 알고리즘은 기본적으로 비슷한 특성을 가진 데이터는 비슷한 범주에 속하는 경향이 있다는 가정하에 사용하는 분류 알고리즘이다. 주변의 가장 가까운 K개의 데이터를 보고 데이터가 속할 그룹을 판단한다. 어떤 데이터 분포를 갖는지와 상관없이 다양한 데이터에서 사용할 수 있다. 인근 이웃 데이터와의 유사도에 따라 결과값을 예측하기 때문이다. 알고리즘의 훈련 방식은 사실상 데이터를 저장하는 것이 전부이며, 교재예시의 경우 xy값의 스케일을 조절해 오류를 해결할수 있다.
- 비선형 데이터셋에서 k-최근접 이웃 알고리즘이 어떻게 동작하나요?