欢迎关注WX公众号:【程序员管小亮】

sklearn.neighbors.KNeighborsClassifier()函数用于实现k近邻投票算法的分类器。

class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights=’uniform’, algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, metric_params=None, n_jobs=None, **kwargs)

参数

  • n_neighbors : int,optional(default = 5)
    默认情况下kneighbors查询使用的邻居数。就是k-NN的k的值,选取最近的k个点。

  • weights : str或callable,可选(默认=‘uniform’)
    默认是uniform,参数可以是uniform、distance,也可以是用户自己定义的函数。uniform是均等的权重,就说所有的邻近点的权重都是相等的。distance是不均等的权重,距离近的点比距离远的点的影响大。用户自定义的函数,接收距离的数组,返回一组维数相同的权重。

  • algorithm : {‘auto’,‘ball_tree’,‘kd_tree’,‘brute’},可选
    快速k近邻搜索算法,默认参数为auto,可以理解为算法自己决定合适的搜索算法。除此之外,用户也可以自己指定搜索算法ball_tree、kd_tree、brute方法进行搜索,brute是蛮力搜索,也就是线性扫描,当训练集很大时,计算非常耗时。kd_tree,构造kd树存储数据以便对其进行快速检索的树形数据结构,kd树也就是数据结构中的二叉树。以中值切分构造的树,每个结点是一个超矩形,在维数小于20时效率高。ball tree是为了克服kd树高纬失效而发明的,其构造过程是以质心C和半径r分割样本空间,每个节点是一个超球体。

  • leaf_size : int,optional(默认值= 30)
    默认是30,这个是构造的kd树和ball树的大小。这个值的设置会影响树构建的速度和搜索速度,同样也影响着存储树所需的内存大小。需要根据问题的性质选择最优的大小。

  • p : 整数,可选(默认= 2)
    距离度量公式。在上小结,我们使用欧氏距离公式进行距离度量。除此之外,还有其他的度量方法,例如曼哈顿距离。这个参数默认为2,也就是默认使用欧式距离公式进行距离度量。也可以设置为1,使用曼哈顿距离公式进行距离度量。

  • metric : 字符串或可调用,默认为’minkowski’
    用于距离度量,默认度量是minkowski,也就是p=2的欧氏距离(欧几里德度量)。

  • metric_params : dict,optional(默认=None)
    距离公式的其他关键参数,这个可以不管,使用默认的None即可。

  • n_jobs : int或None,可选(默认=None)
    并行处理设置。默认为1,临近点搜索并行工作数。如果为-1,那么CPU的所有cores都用于并行工作。

警告 关于最近邻居算法,如果发现两个邻居,邻居k+1和k具有相同距离但不同标签,则结果将取决于训练数据的排序。

例子:

>>> X = [[0], [1], [2], [3]]
>>> y = [0, 0, 1, 1]
>>> from sklearn.neighbors import KNeighborsClassifier
>>> neigh = KNeighborsClassifier(n_neighbors=3)
>>> neigh.fit(X, y)
KNeighborsClassifier(...)
>>> print(neigh.predict([[1.1]]))
[0]
>>> print(neigh.predict_proba([[0.9]]))
[[0.66666667 0.33333333]]

k-近邻算法实现理论和代码在博客:【机器学习】《机器学习实战》读书笔记及代码:第2章 - k-近邻算法

sklearn.neighbors.KNeighborsClassifier()函数解析(最清晰的解释)相关推荐

  1. sklearn.neighbors.KNeighborsClassifier()函数解析

    sklearn.neighbors.KNeighborsClassifier`` class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, ...

  2. API sklearn.neighbors.KNeighborsClassifier

    https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html?highli ...

  3. sklearn.neighbors.KNeighborsClassifier

    (1)fit(X, y) : Fit the model using X as training data and y as target values(把X当做训练数据,把y当做真值来训练我们的模型 ...

  4. SKlearn中的函数学习总结(持续更新)

    关于SKlearn中的函数学习及关键代码部分,会持续更新 (参考sklearn官方文档) 一:分类.回归 二:降维 三:模型评估与选择 四:数据预处理 五:模型保存 大类 小类 适用问题 实现文档 说 ...

  5. sklearn中的train_test_split()函数解析

    sklearn中的train_test_split()函数解析 train_test_split()函数:机器学习中用于分割数据集(训练集和测试集) X_train,X_test,y_train,y_ ...

  6. pd.DataFrame()函数解析(最清晰的解释)

    欢迎关注WX公众号:[程序员管小亮] DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 文章目录 欢迎关注WX公众号:[程序员管小亮] ==DataF ...

  7. ML之sklearn:sklearn的make_pipeline函数、RobustScaler函数、KFold函数、cross_val_score函数的代码解释、使用方法之详细攻略

    ML之sklearn:sklearn的make_pipeline函数.RobustScaler函数.KFold函数.cross_val_score函数的代码解释.使用方法之详细攻略 目录 sklear ...

  8. sklearn.neighbors 最近邻相关算法,最近邻分类和回归

    文章目录 sklearn.neighbors 最近邻相关算法,分类和插值 1. 查找最近邻元素 2. 最近邻分类 3. 最近邻回归 4. NearestCentroid 最近邻质心分类 5. Neig ...

  9. ML之sklearn:sklearn的RobustScaler函数、KFold函数、cross_val_score函数的代码解释、使用方法之详细攻略

    ML之sklearn:sklearn的RobustScaler函数.KFold函数.cross_val_score函数的代码解释.使用方法之详细攻略 目录 sklearn的RobustScaler函数 ...

  10. json数据解析_VBA 实践指南 -- Split函数解析Json数据

    什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的数据交换格式,它是 ECMAScript (欧洲计算机协会制定的JavaScript规范)的一个子 ...

最新文章

  1. docker 运行 php nginx_docker搭建nginx+mysql+php
  2. ajax 更新页面变量,[Django 1.5] jQuery/Ajax 在Django使用 ,如何更新模板里里变量
  3. SLAM中有关占据栅格地图的的表示方法和利用激光传感器构建占据栅格地图的方法
  4. 通俗易懂地搞懂决策树(Decision Tree)那些事儿
  5. C#中的Lock锁深入理解
  6. 【渝粤教育】国家开放大学2018年春季 0043-22T计算机文化 参考试题
  7. 搜索关键字字符串NSSCanner:scanString()详解
  8. .NET平台4.0 发布网站流程及出错总结
  9. 绿幕通通扔掉 ੧ᐛ੭ | 谷歌AI实时「抠」背景
  10. 纯CSS3实现流星划过动画
  11. Cisco命令大全(清除配置和恢复口令)
  12. 深度森林:探索深度神经网络以外的方法
  13. 新华linux桌面操作系统3.0
  14. tibco rv java实例_Tibco介绍及应用.pptx
  15. Linux ssh登陆命令
  16. GBase 8a 集群维护工具C3介绍
  17. Linux查看文件内容的方法
  18. 华为nova5ipro的优缺点_华为nova5pro的优缺点有哪些?
  19. MySql数据库去除重复的数据
  20. 国标28181:什么是RTSP协议

热门文章

  1. Microsoft FxCop 的设计规则 .
  2. 算法刷题记录(Day 73)
  3. XGBOOST与GBD区别笔记
  4. application octet stream java_我是否需要Content-Type:application / octet-stream进行文件下载?...
  5. 是你需要的前端编码风格吗?
  6. 本地系统盘放到服务器上,如何将本地盘映射在云服务器上
  7. CPU 和 GPU - 异构计算的演进与发展
  8. 腾讯地图 地图组件 缩放级别
  9. linux 重启apache:apachectl -k graceful
  10. 鸿蒙系统安全模式,安全模式怎么连接wifi