美文网首页
sklearn中knn分类

sklearn中knn分类

作者: 曦宝 | 来源:发表于2018-08-17 15:49 被阅读298次

Nearest Neighbors Classification(1.6.2)

参数:

1、n_neighbors : int, optional (default = 5),默认使用邻居的数量。

2、weights : str or callable, optional (default=’uniform’),预测时使用的权重函数,可能的取值为:
1:‘uniform’,统一的权重。
2:‘distance’,权重是他们距离的倒数。在这种情况下,查询 点的更近的邻
居会比离得更远的邻居有更大的影响力。
3:[callable],一个用户定义的函数,它接受一个距离数组,并返 回一个包
含权重的相同形状的数组。

3、algorithm : {‘auto’,‘ball_tree’,‘kd_tree’,‘brute’}, optional,用于计算最近邻的算法。
1:‘ball_tree’对应BallTree
2:‘kd_tree’对应KDTree
3:‘brute’对应brute-force search(蛮力搜索)
4:‘auto’将尝试根据传递给fit方法的值来决定最合适的算法。
注意:在稀疏输入的情况下,请使用蛮子搜索。

4、leaf_size : int, optional (default = 30),传递给BallTree或者KDTree的叶子的数量。这可能会影响树的构建和查询的速度,以及存储树所需的内存。最优值取决于问题本身。

5、p : integer, optional (default = 2),闵可夫斯基参数,当p=1,相当于曼哈顿距离(l1),当p=2,相当于欧氏距离(l2)。对于任意的p使用闵可夫斯基距离(l_p)。

6、metric : string or callable, default‘minkowski’,度量标准。用于度量树的距离,默认的度量方法是闵可夫斯基,p=2等价于标准的欧几里得距离。(不要修改)

7、metric_params : dict, optional (default = None),度量函数的附加关键字。(不要修改)

8、n_jobs : int, optional (default = 1),多线程。

方法:
1、fit(X, y),拟合。
2、get_params([deep]),获取参数。
3、kneighbors([X, n_neighbors, return_distance]),找到一个点的k个邻居。返回每个点的邻居的索引和距离。
4、kneighbors_graph([X, n_neighbors, mode]),计算k个邻居的(加权)图。
5、predict(X),预测。
6、predict_proba(X),返回测试数据X的概率估计。
7、score(X, y[, sample_weight]),返回测试数据和给定label之间的平均精度。
8、set_params(**params),设置参数。

我做试验使用sklearn自带的手写数字识别的数据,在默认参数下正确率是98.33%。加上knn本身可以调的参数就比较少。
增加和减少邻居,正确率略有改变。
修改权重,统一/按距离,正确率没有改变。
修改算法,algorithm,正确率没有变化。
修改叶子数量,也没有发生变化。
修改p范数的值,有轻微上升和下降。

相关文章

  • sklearn中knn分类

    Nearest Neighbors Classification(1.6.2) 参数: 1、n_neighbors...

  • 机器学习

    1.KNN 一个小栗子 实现sklearn中的knn 将数据分为测试数据和训练数据 iris的分类: 数据归一化:...

  • 6.3.2KNN最邻近分类的python实现方法neighbor

    1--from sklearn import neighbors #导入KNN分类模块 导入模块,创建数据 2-...

  • sklearn 学习 1

    安装sklearn 找到自己需要的库 numpy+mklscipy 简单的代码学习(knn 分类)

  • 2020-05-07

    现在,我们打算回顾乳腺肿瘤数据集,它记录肿瘤的属性变将它们按照良性还是恶性分类。Sklearn 的 KNN 分类器...

  • 使用sklearn报错ValueError: Expected

    在对模型进行预测时,如使用sklearn中的KNN模型, 会报错 ValueError: Expected 2D ...

  • KNN库简介

    1.scikit-learn 中KNN相关的类库 机器学习经典库scikit-learn中的sklearn.nei...

  • 机器学习系列(十)——更多关于knn的思考

    knn算法解决回归问题简介 在前面的系列中,knn算法主要用于解决分类问题,不只是二分类问题,knn算法可以天然地...

  • 关于sklearn中KNN的使用

    一、导入相关模块 from sklearnimport datasets#数据加载模块 from sklearn....

  • 01-sklearn中的KNN

    前言 因为是用sklearn来实现KNN算法,所以基本上只需要调用API就可以了,但是可以理解一个算法的基本流程。...

网友评论

      本文标题:sklearn中knn分类

      本文链接:https://www.haomeiwen.com/subject/qgctiftx.html