KNeighborsClassifier参数说明KNeighborsClassifier
(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None, **kwargs)算法
n_neighbors:所选用的近邻数,至关于K.数组
weights:预测的权函数,几率值。函数
weights的参数设置测试
‘uniform’:同一的权重,即每一个邻域中的全部点都是平均加权的。spa
‘distance’ :这种状况下,距离越近权重越大,反之,距离越远其权重越小。code
[callable](可调用):用户定义的函数,它接受一个距离数组,并返回一个包含权重的相同形状的数组orm
algorithm :用于计算最近邻居的算法,。有{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}排序
‘auto’ :根据样本数据自动刷选合适的算法。内存
‘ball_tree’:构建“球树”算法模型。ci
‘kd_tree’ :‘’kd树‘’算法。
‘brute’ :使用蛮力搜索,即或至关于Knn算法,需遍历全部样本数据与目标数据的距离,进而按升序排序从而选取最近的K个值,采用投票得出结果。
leaf_size:叶的大小,针对算法为球树或KD树而言。这个设置会影响构造和查询的速度,以及存储树所需的内存。最优值取决于问题的性质。
metric:用于树的距离度量。默认度量是Minkowski,p=2等价于标准的欧几里德度量。有关可用度量的列表,能够查阅距离度量类的文档。若是度量是“预先计算的”,则假定X是距离矩阵,在拟合期间必须是平方。
p:Minkowski度量参数的参数来自sklearn.emeics.pairwise.pairwise_距离。当p=1时,这等价于使用曼哈顿距离(L1),欧几里得距离(L2)等价于p=2时,对于任意的p,则使用Minkowski_距离(L_P)。
metric_params:度量函数的附加关键字参数,设置应为dict(字典)形式。
n_jobs:要为邻居搜索的并行做业的数量。None
指1,除非在 joblib.parallel_backend背景。-1
意味着使用全部处理器,若要了解相关的知识应该具体查找一下。
方法:
fit(self, X[, y]) |
以X为训练数据,y为目标值拟合模型 |
get_params(self[, deep]) |
获取此估计器的参数。 |
kneighbors(self[, X, n_neighbors, …]) |
找到点的K邻域。 |
kneighbors_graph(self[, X, n_neighbors, mode]) |
计算X中点的k-邻域(加权)图 |
predict(self, X) |
预测提供的数据的类标签 |
predict_proba(self, X) |
返回测试数据X的几率估计。 |
score(self, X, y[, sample_weight]) |
返回给定测试数据和标签的平均精度。 |
set_params(self, \*\*params) |
设置此估计器的参数。 |
KNeighborsClassifier:
from sklearn.neighbors import KNeighborsClassifierimport numpy as npimport pandas as pddataset = pd.read_csv('f:pycharm data/colors.csv',dtype = np.str)#取全部特征列x = dataset.iloc[:,:-1]#取标签列y = dataset.iloc[:,-1]#创建模型model = KNeighborsClassifier(3)#训练模型model.fit(x,y)#预测predict_data = [[3,3,2], [1,3,2], [5,2,5]]result = model.predict(predict_data)print(result)