데이터분석/Machine Learning

Scikit-learn Knn사용법 / 정규화 및 기능 정리

늘근이 2015. 11. 29. 20:17

데이터에 대한 교차검증


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)])