import numpy as np import pandas as pd from sklearn import neighbors T = [ [3, 104, -1], [2, 100, -1], [1, 81, -1], [101, 10, 1], [99, 5, 1], [98, 2, 1]] # 初始化待测样本 x = [[18, 90]] # 初始化K值 K = 3 data = pd.DataFrame(T, columns=['A', 'B', 'label']) # print(data) # 训练数据提取 X_train = data.iloc[:, :-1] # print(X_train) Y_train = data.iloc[:, -1] # print(Y_train) # 激活KNN分类,不加权 KNN1 = neighbors.KNeighborsClassifier(n_neighbors=3) KNN1.fit(X_train, Y_train) y_predict = KNN1.predict(x) print(y_predict) score = KNN01.score(X=X_train, y=Y_train) print(score) # 激活KNN,加权 KNN2 = neighbors.KNeighborsClassifier(n_neighbors=3, weights='distance') KNN2.fit(X_train, Y_train) y_predict = KNN2.predict(x) print(y_predict) print('---------------------------KNN回归-----------------------------') T = [ [3, 104, 98], [2, 100, 93], [1, 81, 95], [101, 10, 16], [99, 5, 8], [98, 2, 7]] # 初始化待测样本 x = [[18, 90]] # x =[[50, 50]] # 初始化K值 K = 5 data = pd.DataFrame(T, columns=['A', 'B', 'label']) # print(data) X_train = data.iloc[:, :-1] # print(X_train) Y_train = data.iloc[:, -1] # print(Y_train) # 激活KNN回归,不加权 KNN3 = neighbors.KNeighborsRegressor(n_neighbors=K) KNN3.fit(X_train, Y_train) y_predict = KNN3.predict(x) print(y_predict) # 激活KNN回归,加权 KNN4 = neighbors.KNeighborsRegressor(n_neighbors=K, weights='distance') KNN4.fit(X_train, Y_train) y_predict = KNN4.predict(x) print(y_predict)
07-27