KNN的基本用法
1.交叉验证。
...
k_range = range(1, 31)
k_scores = []
for k in k_range:
knn = KNeighborsClassifier(n_neighbors=k)
scores = cross_val_score(knn, X, y, cv=3, scoring='accuracy')
k_scores.append(scores.mean())
2.训练集和测试集的划分函数,及评分函数。
...
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=4)
for k in range(2,30):
knn = KNeighborsClassifier(n_neighbors=k)
knn.fit(X_train, y_train)
print(knn.score(X_test, y_test))
3.模型保存和提取。
...
import pickle
with open('save/clf.pickle', 'wb') as f:
pickle.dump(clf, f)
with open('save/clf.pickle', 'rb') as f:
clf2 = pickle.load(f)
print(clf2.predict(X[0:1]))
from sklearn.externals import joblib
joblib.dump(clf, 'save/clf.pkl')
clf3 = joblib.load('save/clf.pkl')
print(clf3.predict(X[0:1]))