KNN实现类
import numpy as np
import math
class CustomKNeighborsClassifier():
'''
KNN 自定义实现类
'''
def __init__(self,k=3):
'''
初始化赋值,
X_train 特征测试集变量
y_train 标量测试集变量
res_class 预测结果
:param k: 默认值3
'''
self.k = k
self.X_train=[]
self.y_train=[]
self.res_class=[]
def fit(self,X_train,y_train):
'''
KNN模型训练
:param X_train: 训练集特征数据
:param y_train:训练集目标数据
:return:self
'''
assert X_train.shape[0] == y_train.shape[0], "训练集特征与目标值个数不匹配!"
assert self.k <= X_train.shape[0], "K值超出训练数据范围!"
self.X_train = X_train
self.y_train = y_train
print('K:',self.k)
print('X:', self.X_t