knn算法 k近邻算法demo(8) 数据归一化

it2025-06-17  18

from sklearn import datasets#引入数据集,sklearn包含众多数据集 from sklearn.model_selection import train_test_split#将数据分为测试集和训练集 from sklearn.model_selection import GridSearchCV #参数 from sklearn.neighbors import KNeighborsClassifier#利用邻近点方式训练数据\ from sklearn.preprocessing import StandardScaler from sklearn.metrics import accuracy_score import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt digits=datasets.load_iris() # print(digits.keys()) # print(digits.DESCR) X=digits.data y=digits.target X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=666)#利用train_test_split standardScaler=StandardScaler() standardScaler.fit(X_train) print(standardScaler.mean_) print(standardScaler.scale_) X_train=standardScaler.transform(X_train) X_test_standard=standardScaler.transform(X_test) myknn=KNeighborsClassifier(n_neighbors=3) myknn.fit(X_train,y_train) print(myknn.score(X_test_standard, y_test)) # # print(sum(y_predict == y_test)/len(y_test)) # print(accuracy_score(y_test,y_predict)) # param_grid=[ # { # 'weights':['uniform'], # 'n_neighbors':[i for i in range(1,11)] # }, # { # 'weights': ['distance'], # 'n_neighbors': [i for i in range(1, 11)], # 'p':[i for i in range(1, 6)] # } # ] # knn_clf=KNeighborsClassifier() # grid_search=GridSearchCV(knn_clf,param_grid,n_jobs=-1,verbose=2)#n_jobs使用全部core verbose=2显示细节 # grid_search.fit(X_train,y_train) # print(grid_search.best_estimator_) # print(grid_search.best_score_) # print(grid_search.best_params_) # print(grid_search.best_index_)

最新回复(0)