4-5 超参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28306361/article/details/87900081
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn import datasets

digits = datasets.load_digits()
X = digits.data
y = digits.target


from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=666)

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)

猜你喜欢

转载自blog.csdn.net/qq_28306361/article/details/87900081
4-5