sklearn—无监督最近邻(代码片段)

在路上-UP 在路上-UP     2022-10-24     683

关键词:

 

无监督最近邻

NearestNeighbors (最近邻)实现了 unsupervised nearest neighbors learning(无监督的最近邻学习)。 它为三种不同的最近邻算法提供统一的接口:BallTreeKDTree, 还有基于 sklearn.metrics.pairwise 的 brute-force 算法。算法的选择可通过关键字 ‘algorithm‘ 来控制, 并必须是 [‘auto‘, ‘ball_tree‘, ‘kd_tree‘, ‘brute‘] 其中的一个。当默认值设置为 ‘auto‘ 时,算法会尝试从训练数据中确定最佳方法。有关上述每个选项的优缺点,参见 `Nearest Neighbor Algorithms`_ 。

找到最近邻

为了完成找到两组数据集中最近邻点的简单任务, 可以使用 sklearn.neighbors 中的无监督算法:

X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
# k个最近的点中包含自己
nbrs = NearestNeighbors(n_neighbors=3, algorithm=ball_tree).fit(X)
#n_neighbors 指定包括本样本在内距离本样本最近的 n 个点
#algorithm   指定最临近算法
distances,indices = nbrs.kneighbors(X)
#distances len(X)*n_neighbors的向量,每一行表示距离本样本距离由小到大的样本的index
#distances len(X)*n_neighbors的向量,每一行表示最邻近的n_neighbors个样本距离本样本点的距离
# k个最近点的下标,按升序排列
print(indices)
print(distances)
plt.figure()
plt.scatter(X[:,0],X[:,1])
plt.xlim(X[:,0].min()-1,X[:,0].max()+1)
plt.ylim(X[:,1].min()-1,X[:,1].max()+1)
plt.title("Unsupervised nearest neighbors")
plt.show()

当然KDtree和ball_tree在sklearn中还有单独的实现方式具体操作请看链接

http://sklearn.apachecn.org/cn/0.19.0/modules/neighbors.html#unsupervised-neighbors1.6.1.2

sklearn.neighbors.KNeighborsClassifier

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]]))

print(neigh.predict_proba([[4]]))

 

使用具有 NaN 的无监督最近邻

】使用具有NaN的无监督最近邻【英文标题】:UseUnsupervisedNearestNeighborswithNaN【发布时间】:2019-07-0106:26:21【问题描述】:我想使用无监督的最近​​邻居,并且我的数据中有NaN。我希望当记录的特征是NaN时,它不计入与任何其他... 查看详情

机器学习sklearn无监督学习聚类算法dbscan(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportDBSCANfromsklearn.clusterimportKMeansfromsklearnimportdatasets#生成数据x1,y1=datasets.make_circles(n_samples=2000,factor=0.5 查看详情

机器学习sklearn无监督学习聚类算法dbscan(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportDBSCANfromsklearn.clusterimportKMeansfromsklearnimportdatasets#生成数据x1,y1=datasets.make_circles(n_samples=2000,factor=0.5 查看详情

机器学习sklearn无监督学习降维算法pca(代码片段)

importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfromsklearn.datasetsimportmake_blobsfromsklearn.decompositionimportPCA#X为样本特征,Y为样本簇类别,共1000个样本,每个样本3个特征,共4个簇 查看详情

机器学习sklearn无监督学习降维算法pca(代码片段)

importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfromsklearn.datasetsimportmake_blobsfromsklearn.decompositionimportPCA#X为样本特征,Y为样本簇类别,共1000个样本,每个样本3个特征,共4个簇 查看详情

机器学习sklearn无监督学习降维算法nmfnon-negativematrixfactorization(代码片段)

importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfromsklearn.datasetsimportmake_blobsfromsklearn.decompositionimportNMFfromsklearn.datasetsimportload_irisiris=load_iris()iris_X= 查看详情

机器学习sklearn无监督学习降维算法nmfnon-negativematrixfactorization(代码片段)

importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfromsklearn.datasetsimportmake_blobsfromsklearn.decompositionimportNMFfromsklearn.datasetsimportload_irisiris=load_iris()iris_X= 查看详情

无监督学习——kmeans使用(代码片段)

...成K个簇文档地址:http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html class sklearn.cluster.KMeans(n_clusters=8, 查看详情

05_无监督学习--聚类模型--k均值(代码片段)

...p;npimport matplotlib.pyplot as plt# 这里直接 sklearn 里的数据集from sklearn.dat 查看详情

机器学习sklearn无监督学习聚类算法k-means(代码片段)

importmatplotlib.pyplotaspltfromsklearn.datasets.samples_generatorimportmake_blobsfromsklearn.clusterimportKMeans#生成测试数据#X为样本特征,Y为样本簇类别,共1000个样本,每个样本2个特征,对应x和y轴,共4个簇 查看详情

监督学习--k近邻算法

...2015:18:25k近邻(k-NearestNeighbour,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单,对某个给定的测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个‘邻居’的信息进行预测。一般... 查看详情

1.2:无监督学习导学

...学习。无监督学习最常应用的场景是聚类和降维。聚类(sklearn.cluster模块)定义聚类(clustering),就是根据数据的“相似性”将数据分为多类的过程。评估两个不同样本之间的“相似性”,通常使用的方法就是计算两... 查看详情

sklearn:最近邻搜索sklearn.neighbors

http://blog.csdn.net/pipisorry/article/details/53156836ball treek-d tree也有问题[最近邻查找算法kd-tree]。矩形并不是用到这里最好的方式。偏斜的数据集会造成我们想要保持树的平衡与保持区域的正方形特性的冲突。另外,矩形甚至是... 查看详情

04_有监督学习--分类模型--k近邻(knn)(代码片段)

有监督学习--分类模型--K近邻(kNN)0.引入依赖1.数据的加载和预处理2.核心算法实现3.测试4.自动化测试有监督学习--分类模型--K近邻(kNN)0.引入依赖import numpy as np # 数值计算、矩阵运算、向量运算import pand... 查看详情

机器学习之监督学习-分类模型k近邻(knn)算法实现(代码片段)

机器学习之监督学习-分类模型K近邻(KNN)算法实现监督学习中常用的分类分类模型有k近邻,逻辑斯谛回归,决策树。今天我们主要学习,K近邻模型。最简单,最初级的分类器就是将全部的训练数据所对应的类别都... 查看详情

sklearn监督学习(代码片段)

本系列博文是根据SKlearn的一个学习小结,并非原创!                     1.直接学习TensorFlow有点不知所措,感觉需要一些基础知识做铺垫。                     2.之前机... 查看详情

机器学习sklearn的k近邻算法api初步使用(代码片段)

目录1k近邻算法api初步使用2Scikit-learn工具介绍2.1安装2.2Scikit-learn包含的内容3K-近邻算法API4案例4.1步骤分析4.2代码过程5小结1k近邻算法api初步使用K近邻算法介绍:https://blog.csdn.net/ZGL_cyy/article/details/125583129机器学习流程复习... 查看详情

opencv-python实战(13)——opencv与机器学习的碰撞(代码片段)

...)——OpenCV与机器学习的碰撞0.前言1.机器学习简介1.1监督学习1.2无监督学习1.3半监督学习2.K均值(K-Means)聚类2.1K-Means聚类示例3.K最近邻3.1K最近邻示例4.支持向量机4.1支持向量机示例小结系列链接0.前言机器学习是人工智能的子... 查看详情