knn

sklearn中knn的各种用法总结

我的梦境 提交于 2019-11-28 06:21:08
knn四种选择 auto ball tree kd tree brute(暴力选择) KNeighborsClassifier(更常用,适用于均匀采样数据) RadiusNeighborsClassifier(非均匀采样数据) 权重参数weights选项: uniform(数据的权重全部统一) distance(与距离成反比) 自定义 维度超过20维使用Ball Tree,20维以下使用KD tree 当数据集小于30的时候,会自动使用brute intrinsic dimensionality(本征维数)的意思就是 一条数据中非零数据有多少,当维度很大的数据中,本征维度很小的话,那么ball tree和kd tree很小 当K的值和N可比拟时,使用Brute进行暴力搜索更加划算。 KNN官方文档 中KNN的各章节内容汇总如下: 来源: CSDN 作者: 东方朔盗仙桃 链接: https://blog.csdn.net/appleyuchi/article/details/96318421

Sklearn中的knn算法基本讲解

≯℡__Kan透↙ 提交于 2019-11-28 06:20:42
sklearn内置数据集 数据是机器学习的关键,在机器学习工作中我们需要花费大量的时间来采集和整理数据,合理且科学的数据是得到良好机器学习效果的关键。一般而言,一个分类问题的机器学习过程需要用到四块数据内容,分别是: 训练数据,一般用 train 来表示 训练数据的分类属性,一般用 target 来表示 测试数据,一般用 test 来表示 测试数据的真实分类属性,用于评估分类器性能,一般用 expected 来表示 为了方便学习和测试机器学习中的各种内容,sklearn内置了各种有用的数据集,文本处理、图像识别等具有代表性的问题的数据在sklearn中均有收集(对于初学者来说,不得不说很人性化)。 本文中用的鸢尾花数据集同样可以在sklearn中的 datasets 模块中找到。 KNN算法实现 不多说,直接先上代码,后面再进行详解。 #-*-coding:utf-8 -*- from sklearn import datasets #导入内置数据集模块 from sklearn.neighbors import KNeighborsClassifier #导入 sklearn.neighbors模块中KNN类 import numpy as np np.random.seed(0) #设置随机种子,不设置的话默认是按系统时间作为参数

13,SKlearn实现KNN算法,约会网站与鸢尾花数据集

℡╲_俬逩灬. 提交于 2019-11-28 06:19:42
import numpy as np import matplotlib.pyplot as plt #约会网站测试数据的分别表示1.每年飞行的里程数,2.玩游戏和看视频占的时间的比,3.每周消费冰淇淋的公升数 raw_data_X=[[54483,6.317292,0.018209], [18475,12.664194,0.595653], [33926,2.906644,0.581657], [43865,2.388241,0.913938], [26547,6.024471,0.486215], [44404,7.226764,1.255329], [16674,4.183997,1.275290], [8123,11.850211,1.096981], [42747,11.661797,1.167935]] #样本标签中1表示不喜欢,2表示魅力一般,3表示极具魅力 raw_data_y=[1,3,1,1,3,3,2,3,3] X_train=np.array(raw_data_X) y_train=np.array(raw_data_y) x=np.array([56054,3.574967,0.494666]) from sklearn.neighbors import KNeighborsClassifier #导入sklearn的相应的模块 kNN

利用sklearn实现KNN--乳腺癌诊断代码实战与分析

不想你离开。 提交于 2019-11-28 06:19:33
这篇文章是利用sklearn实现KNN算法,如何调整参数,实战代码。 如果要看具体原理和python代码实现简单的KNN转这里: https://blog.csdn.net/qq_40589051/article/details/98482987 ---------目录---------- 1. sklearn.neighbors.KNeighborsClassifier参数介绍 2. 利用sklearn中的自带库的实战代码分析(乳腺癌诊断) 正文: 1. sklearn.neighbors.KNeighborsClassifier参数介绍 官网文档中对这个类的定义是这样的: https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier class sklearn.neighbors. KNeighborsClassifier ( n_neighbors=5 , weights=’uniform’ , algorithm=’auto’ , leaf_size=30 , p=2 , metric=’minkowski’ , metric_params=None , n_jobs

基于Sklearn的KNN的代码实现

依然范特西╮ 提交于 2019-11-28 06:19:19
Sklearn的KNN 很早以前就写过SK的KNN但一直没写过博客,一直偷懒,最近良心发现!ps:找工作,没的博客拿不出手啊哈哈,于是开始 来把以前的学习的知识一起share #sklearn.datasets 里面调入波士顿房价的数据 from sklearn.datasets import load_boston boston=load_boston() # sklearn.cross_validation 导入数据分割器 from sklearn.cross_validation import train_test_split import numpy as np X=boston.data y=boston.target 直接点,从sk里面拿到一个数据集,可能输出有点慢不要急来下一步 1.标准化数据,保证你的数据波动范围,确保预测性 from sklearn.neighbors import KNeighborsRegressor #从sklearn. from sklearn.preprocessing import StandardScaler #标准化处理 #StandardScaler 去均值和方差 X_scaler=StandardScaler() X=X_scaler.fit_transform(X) y=np.array(y).reshape(-1,1) y

sklearn实现knn

岁酱吖の 提交于 2019-11-28 06:17:43
1 # sklearn实现KNN 2 步骤: 3 1 、导入分类器 4 2 、加载数据集 5 3 、分割训练数据、测试数据 6 4 、用分类器拟合数据 7 5 、预测数据 8 9 from sklearn import datasets 10 from sklearn.model_selection import train_test_split 11 from sklearn.neighbors import KNeighborsClassifier 12 13 # 创建数据 14 iris= datasets.load_iris() 15 iris_X= iris.data 16 iris_Y= iris.target 17 print (iris_X[:5 ,:]) 18 print (iris_Y[:5 ]) 19 20 X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_Y,test_size=0.3 ) 21 print (y_train) 22 23 knn= KNeighborsClassifier() 24 knn.fit(X_train,y_train) 25 print (knn.predict(X_test)) 26 print (y_test) < iframe src= "http:/

机器学习之用sklearn实现knn

醉酒当歌 提交于 2019-11-28 06:17:26
K近邻的详细算法,建议参考 李航老师的统计学习方法。下面是python3的代码 from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier import numpy as np data = [] with open ( 'E:\python 文件 \python 机器学习实践指南 /iris 数据 .txt' ) as txtData: lines = txtData.readlines() for line in lines: lineData = line.strip().split( ',' ) # 去除空白和逗号 “,” data.append(lineData) 虽然sklearn里面已经有iris的数据 ,但是我还是用python读取txt文件中的数据,因为数据的预处理往往要花费更多的时间以此方法来得到训练 data.pop( 0 ) # 删除花宽等文字 # print(data) arr = np.array(data) # 将列表转化成数组型 np.reshape(arr , - 1 , 5 ) # 把一行的数组转化成 n 行 5 列 # print(arr) iris_X = arr[: , : 4 ] #

基于sklearn实现kNN

落爺英雄遲暮 提交于 2019-11-28 06:16:47
春节前的一篇文章给大家介绍了kNN算法,算法有助于大家理解运行机制,方便对参数调优。成熟的算法,自然已经有现成的模块可以使用。 scikit-learn包是Python的一个机器学习组件,其中实现了kNN,支持向量机,k均值聚类等一系列机器学习算法。 安装scikit-learn包需要下面三个命令: pip/pip3 install numpy pip/pip3 install scipy pip/pip3 install sklearn 本篇文章看看如何使用scikit-learn包实现kNN。scikit-learn本身自带了很多经典的数据集,如分类中经常使用的鸢尾花数据集。 数据集的准备 >>> from sklearn import datasets >>> import numpy as np >>> iris=datasets.load_iris() >>> iris_x=iris.data >>> iris_y=iris.target 上面的代码,首先导入了鸢尾花数据集,然后分离了鸢尾花数据集的特征数据和标签。我们可以先观察一下数据。 >>> np.shape(iris_x) (150, 4) >>> np.shape(iris_y) (150,) 数据总共有150条,有四个特征,如果了解鸢尾花数据集,应该知道,这四个特征是花萼长度,花萼宽度,花瓣长度,花瓣宽度。 >

【机器学习系列】之纯python及sklearn实现kNN

久未见 提交于 2019-11-28 06:14:56
作者:張張張張 github地址: https://github.com/zhanghekai 【转载请注明出处,谢谢!】 【机器学习系列】之k近邻(kNN) 【机器学习系列之】纯python及sklearn实现kNN 文章目录 一、纯python实现kNN Brute-Force法 kNN项目案例:优化约会网站的配对效果 二、sklearn实现kNN:KDTree和BallTree 一、纯python实现kNN Brute-Force法 kNN项目案例:优化约会网站的配对效果 项目概述 拉克丝使用约会网站寻找约会对象,经过一段时间之后,她发现曾交往过三种类型的人: 不喜欢的人 魅力一般的人 极具魅力的人 她希望: 工作日与魅力一般的人约会 周末与极具魅力的人约会 不喜欢的人则直接排除掉 现在她收集到了一些约会网站未曾记录的数据信息,这更有助于匹配对象的归类。拉克丝约会的对象主要包含以下3种特征: 每年获得的飞行常客里程数 玩视频游戏所耗时间百分比 每周消费的冰淇淋公升数 文本文件数据格式如下,完整数据集可在我的github中找到。 40920 8.326976 0.953952 3 14488 7.153469 1.673904 2 26052 1.441871 0.805124 1 75136 13.147394 &ThickSpace;&ThickSpace; 0

Sklearn kNN usage with a user defined metric

。_饼干妹妹 提交于 2019-11-27 18:47:10
Currently I'm doing a project which may require using a kNN algorithm to find the top k nearest neighbors for a given point, say P. im using python, sklearn package to do the job, but our predefined metric is not one of those default metrics. so I have to use the user defined metric, from the documents of sklearn, which can be find here and here . It seems that the latest version of sklearn kNN support the user defined metric, but i cant find how to use it: import sklearn from sklearn.neighbors import NearestNeighbors import numpy as np from sklearn.neighbors import DistanceMetric from sklearn