Find hyperparameters

best_score = 0.0
best_k = -1
for k in range(1,11):
    knn_clf = KNeighborsClassifier(n_neighbors=k)
    knn_clf.fit(X_train,y_train)
    score = knn_clf.score(X_test,y_test)
    if score > best_score:
        best_k = k
        best_score = score
        
print('best_k =>',best_k)
print('best_score =>',best_score)

 

Whether to consider the distance parameter

best_method=''
best_score = 0.0
best_k = -1
for method in ['uniform','distance']:
    for k in range(1,11):
        knn_clf = KNeighborsClassifier(n_neighbors=k,weights = method)
        knn_clf.fit(X_train,y_train)
        score = knn_clf.score(X_test,y_test)
        if score > best_score:
            best_k = k
            best_score = score
            best_method=method

print('best_method =>',best_method)
print('best_k =>',best_k)
print('best_score =>',best_score)

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325873257&siteId=291194637