[Python][sklearn] 使用from sklearn.neighbors import NearestNeighbors计算相似度
代码如下:
from sklearn.neighbors import NearestNeighbors
import numpy as npX = np.array([[-1,-1],[-2,-1],[-3,-1],[1,1],[2,1],[3,2]])nbrs = NearestNeighbors(n_neighbors=3, algorithm="ball_tree").fit(X)
distances, indices = nbrs.kneighbors(X)
print(distances)
print(indices)
上述代码,数据X尺寸为(6,2),为6行2列的数据,
n_neighbors
确定希望找到的邻居数,这里设置为3。
algorithm
为希望使用的搜索算法(有很多,可以换别的)
nbrs.kneighbors(X)指X和X比较,找相似的;也可以nbrs.kneighbors(Y),即Y和X比较,找相似的,Y的行数可以与X不同,但是Y的列应该与X相同。
(可以理解为,X和Y两个数据,找其中最相似的几行数据,每行数据的特征是不同的,每行比较的时候,需要保证每行的特征数是相同的。)
可以得到距离和相似的3个点(越靠前越相似)。
输出结果为:
[[0. 1. 2. ][0. 1. 1. ][0. 1. 2. ][0. 1. 2.23606798][0. 1. 1.41421356][0. 1.41421356 2.23606798]]
[[0 1 2][1 2 0][2 1 0][3 4 5][4 3 5][5 4 3]]
距离(distance),输出第几个数据和该行数据的距离,输出前top3.
标签(indices),第几个数据和该行的数据最相似,输出前top3.
如果是自己和自己比较,因为每行的数据都与自己最相似,所以,距离第一列都是0;所以,标签第一列都是自己;如果不是自己和自己比较,距离第一列就不都是0了。
参考:
- sklearn.neighbors_Nearest Neighbors:https://blog.csdn.net/qq_40570795/article/details/78655825
[Python][sklearn] 使用from sklearn.neighbors import NearestNeighbors计算相似度相关推荐
- Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略
Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...
- Python机器学习笔记:sklearn库的学习
自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...
- 使用Python、Pandas、Sklearn预测NBA比赛结果
Abstract: 作为课程作业,下面的内容是利用每场胜负数据.球员的生物数据等进行的NBA比赛预测.内容包括:1. 获得数据 2. 构造特征 3. 学习验证.最后能够提升16%的准确率. 获取数据集 ...
- Python中机器学习神器——sklearn模块
参考文章 Python机器学习笔记:sklearn库的学习 ML神器:sklearn的快速使用 机器学习与Sklearn的初识 传统的机器学习任务从开始到建模的一般流程是:获取数据 → 数据预处理 → ...
- 安装 sklearn 报错 ImportError: cannot import name Type
1. 安装 sklearn sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn 会默认安装 joblib , s ...
- Python:机器学习库 sklearn
安装: pip install -U scikit-learn 数据标准化 from sklearn import preprocessing a = np.array([[10, 2.7, 3.6] ...
- python的sklearn示例_KNN sklearn python实现小示例
KNN simple demok-近邻(KNN)算法可用于分类或回归.这是一种简单的机器学习算法,但它通常非常有效.它是非参数的,也就是说它没有固定数量的参数.当你训练KNN时,它找到k个" ...
- Python数模笔记-Sklearn(4)线性回归
1.什么是线性回归? 回归分析(Regression analysis)是一种统计分析方法,研究自变量和因变量之间的定量关系.回归分析不仅包括建立数学模型并估计模型参数,检验数学模型的可信度,也包括利 ...
- Python数模笔记-Sklearn(2)聚类分析
1.分类的分类 分类的分类?没错,分类也有不同的种类,而且在数学建模.机器学习领域常常被混淆. 首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised ...
最新文章
- 二叉排序树的相关操作
- hadoop_入门1
- 如何通过jq和php实现返回父级页面(附带记忆功能)
- 信息学奥赛一本通(1006:A+B问题)
- CentOS6.5+Python2.7+ GIT +IPython
- iQOO 5今日发布:厚度/重量揭晓 5G手机也能够轻薄
- EhCache缓存在web下的使用实例
- mysql select count() count(1)_select count()和select count(1)的区别和执行方式讲解
- 【优化算法】乌燕鸥优化算法(STOA)【含Matlab源码 1431期】
- linux冒险岛服务端,冒险岛V118单机版一键端,开放全职业 带GM工具和命令
- JDK官网下载与安装过程
- ios 录音生成.aac录音文件
- python 无法定位程序输入点_系统提示无法定位程序输入点于动态链接库的解决方案【图文】-太平洋电脑网PConline-太平洋电脑网...
- 计算机金融学校排名2015,金融学院2015级各专业排名情况统计表
- 使用JS和CSS实现图片的3D透视效果及动画
- mac 快速显示/隐藏隐藏文件快捷键
- 【Excel】根据空格拆分单元格
- elasticSearch API
- 介绍一个2000+star的Github项目
- graphpad画生存曲线怎么样去掉删失点_Graphpad 作图教程 | 这份超详细的生存曲线绘制指南,科研新手一看就会!...