준비한 데이터를 전처리하고 훈련과 테스트 데이터셋으로 분리합니다.
코드 3-2 훈련과 테스트 데이터셋 분리
X = dataset.iloc[:, :-1].values ------ 모든 행을 사용하지만 열(칼럼)은 뒤에서 하나를 뺀 값을 가져와서 X에 저장
y = dataset.iloc[:, 4].values ------ 모든 행을 사용하지만 열은 앞에서 다섯 번째 값만 가져와서 y에 저장
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20) ------ X, y를 사용하여 훈련과 테스트 데이터셋으로 분리하며, 테스트 데이터셋의 비율은 20%만 사용
from sklearn.preprocessing import StandardScaler
s = StandardScaler() ------ 특성 스케일링(scaling), 평균이 0, 표준편차가 1이 되도록 변환
X_train = s.transform(X_train) ------ 훈련 데이터를 스케일링 처리
X_test = s.transform(X_test) ------ 테스트 데이터를 스케일링 처리
모델을 생성하고 훈련시킵니다.
코드 3-3 모델 생성 및 훈련
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=50) ------ K=50인 K-최근접 이웃 모델 생성
knn.fit(X_train, y_train) ------ 모델 훈련