Scikit-learn Knn사용법 / 정규화 및 기능 정리
데이터에 대한 교차검증
KNN
classifier.fit(매개변수)
classifier.predict(features[test])
를 이용하면 쉽게 Knn을 구현할수 있다. Knn은 최근접 이웃분류로써, 훈련데이터에서 가장 가까운 예제를 사려보고 그 라벨을 반환한다.
from sklearn.neighbors import KNeighborsClassifier
from sklearn.cross_validation import KFold
classifier = KNeighborsClassifier(n_neighbors = 1)
# 데이터에 대한 교차검증
kf = KFold(len(features), n_folds=5, shuffle=True)
means = []
for train, test in kf :
classifier.fit(features[train], labels[train])
prediction = classifier.predict(features[test])
curmean = np.mean(prediction == labels[test])
means.append(curmean)
print("accuracy : {:.1%}".format(np.mean(means)))
정규화
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import Standard Scaler
classifier = KNeighborsClassifier(n_neighbors = 1)
classifier = Pipeline([('norm', StandardScaler()), ('knn',classifier)])