sklearn.neighbors.KNeighborsClassifier(k近邻分类器)

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)
相关文章
相关标签/搜索