knn

机器学习:KNN

不羁的心 提交于 2020-01-18 04:38:33
KNN:K-nearst neighbors 简介: k-近邻算法采用测量不同特征值之间的距离来进行分类,简而言之为: 人以类聚,物以群分 KNN既可以应用于分类中,也可用于回归中;在分类的预测是,一般采用 多数表决法 ;在做回归预测时,一般采用 平均值法 KNN三要素: 在KNN的算法中,主要考虑以下三个要素: K值的选择 :表示样本可由距离其最近的K个邻居来代替;可由 交叉验证 来选择最适合K值 当K值较小的时候,表示使用较小领域的样本进行预测,因此会导致模型更加复杂,导致过拟合; 当K值较大的时候,表示使用较大领域的样本进行预测,训练误差会增大,模型会简化,容易导致欠拟合 距离的度量: 一般使用欧式距离; 欧式距离:若 \(a(a_1,a_2,a_3)\) , \(b(b_1,b_2,b_3)\) ,则两者的欧式距离为: \[ \sqrt{(a1-b1)^2+(a2-b2)^2+(a2-b2)^2} \] 决策规则: 在 分类模型 中,主要使用多数表决或者加权多数表决法;在 回归模型 中,主要使用平均值法或者加权平均值法 多数表决/均值法:每个邻近样本权重相同; 加权多数表决/加权平均值法:每个邻近样本权重不同;一般情况下,采用权重和距离成反比的方式进行计算 KNN算法实现: 蛮力实现(brute) : 计算预测样本到所有训练集样本的距离

scikit-learn KNN模型选择

。_饼干妹妹 提交于 2020-01-17 07:56:09
import numpy as np import pandas as pd from sklearn . neighbors import KNeighborsClassifier from sklearn . model_selection import train_test_split # cv int 6 将数据分分成6份 怎么分的就用到下面的KFold from sklearn . model_selection import cross_val_score , GridSearchCV #用到下面的Kfold # KFold、StratifiedKFold将数据分成多少份 StratifiedKFold按比例进行分 from sklearn . model_selection import KFold划分 , StratifiedKFold按比例划分 data = np . random . randint ( 0 , 10 , size = ( 8 , 2 ) ) target = np . array ( [ 0 , 0 , 1 , 0 , 1 , 1 , 1 , 0 ] ) display ( data , target ) #array([[8, 9], # [8, 5], # [0, 1], # [1, 9], # [8, 2], # [0, 1], # [7

How implantation MKNN Algorithm In Matlab

拈花ヽ惹草 提交于 2020-01-17 06:31:09
问题 I have a problem I need to Implantation of below article in Matlab but i can't find any source code of that. Article link I tried by myself but it's a little complex for me . does anyone have Implantation of the article or can do it for me ? Thanks too much 来源: https://stackoverflow.com/questions/40149331/how-implantation-mknn-algorithm-in-matlab

KNeighbors: ValueError 'continuous-multioutput'

爷,独闯天下 提交于 2020-01-17 04:14:05
问题 /home/dogus/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.py:429: DataConversionWarning : Data with input dtype int8 was converted to float64 by the normalize function. warnings.warn(msg, _DataConversionWarning) Traceback (most recent call last): File "assignment5.py", line 171, in knn.fit(X_train,y_train) File "/home/dogus/anaconda2/lib/python2.7/site-packages/sklearn/neighbors/base.py", line 775, in fit check_classification_targets(y) File "/home/dogus/anaconda2/lib/python2

Python 高数篇 1

元气小坏坏 提交于 2020-01-15 04:40:49
Python 高数篇 1 零蚀 什么是机器学习 feature和label KNN模型 训练集&测试集 二维空间的KNN 什么是机器学习 机器学习就是对于数学方法的运用,利用数学模型,最总进行数据的预测,事务通过大量的数据进行训练,通过预测解决一个未知的问题。由于机器学习非常依赖硬件的性能,所以很多机器学习的功能一直被搁置到现在才出现。 输入 训练 预测 新数据 模型 历史数据 结果 feature和label feature 特征变量 label 结果标签 收集问题的相关的数据,构造数据模型,建立feature和label关系,根据模型进行预测。 feature function label KNN模型 K Nearest Neighbors基于统计学,概率论的预测模型。 数组处理案例1: import numpy as np data = np . array ( [ [ 111 , 1 ] , [ 152 , 2 ] , [ 23 , 2 ] , [ 241 , 2 ] , [ 193 , 2 ] , [ 152 , 2 ] , [ 374 , 4 ] ] ) # 取第一个 feature = data [ : , 0 ] # 取倒数第一个 label = data [ 0 : , - 1 ] # 计算每个item的距离标准值200的距离 distance = list (

R : knnImputation Giving Error

回眸只為那壹抹淺笑 提交于 2020-01-13 05:18:13
问题 Getting below error in R coding. in my Brand_X.xlsx dataset, there are few NA values which I am trying to compute using KNN imputation but I am getting below error. whats wrong here? Thanks! > library(readxl) > Brand_X <- read_excel("Brand_X.xlsx") > str(Brand_X) Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 101 obs. of 8 variables: $ Rel_price_lag5: num 108 111 105 103 109 104 110 114 103 108 ... $ Rel_price_lag1: num 110 109 217 241 855 271 234 297 271 999 ... $ Rel_Price : num 122 110 109 217

knn算法的优缺点

别来无恙 提交于 2020-01-11 05:42:03
简述K近邻算法的优缺点 优点 1、简单,易于理解,易于实现。 2、只需保存训练样本和标记,无需估计参数,无需训练。 3、不易受小错误概率的影响。经理论证明,最近邻的渐进错误率最坏时不超过两倍的贝叶斯错误率,最好时接近或达到贝叶斯错误率。 缺点 1、K的选择不固定。 2、预测结果容易受含噪声数据的影响。 3、当样本不平衡时,新样本的类别偏向训练样本中数量占优的类别,容易导致预测错误。 4、具有较高的计算复杂度和内存消耗,因为对每一个待分类的文本,都要计算它到全体已知样本的距离,才能求得它的K个最近邻。 来源: CSDN 作者: 恰巧偶遇 链接: https://blog.csdn.net/weixin_44420421/article/details/103876730

Sklearn实现knn

坚强是说给别人听的谎言 提交于 2020-01-11 04:21:24
#----------------------------------Sklearn实现Knn------------------------------ # KNeighborsClassifier(n_neighbors=5, weights=’uniform’, # algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, # metric_params=None, n_jobs=None, **kwargs)[source] #--------------------------------------实例一----------------------------------------------- from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.cross_validation import train_test_split import numpy as np np.random.seed(0)#设置随机种子,设置后每次产生的随机数都一样 #加载数据集 iris=datasets.load_iris() #样本是150*4二维数据,代表150个样本,每个样本有4个特征 X

OpenCV 3.0.0-beta missing KNN?

一笑奈何 提交于 2020-01-10 03:11:05
问题 Having just upgraded from opencv-2.4.11, KNearest seems to be missing In [27]: import cv2 In [28]: print(cv2.__version__) 3.0.0-beta In [29]: cv2.KNearest() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-29-d2ea29abad59> in <module>() ----> 1 cv2.KNearest() AttributeError: 'module' object has no attribute 'KNearest' In [30]: cv2.K cv2.KAZE_DIFF_CHARBONNIER cv2.KAZE_DIFF_WEICKERT cv2.KMEANS_RANDOM

Python KNN算法

僤鯓⒐⒋嵵緔 提交于 2020-01-09 05:00:11
  机器学习新手,接触的是《机器学习实战》这本书,感觉书中描述简单易懂,但对于python语言不熟悉的我,也有很大的空间。今天学习的是k-近邻算法。    1. 简述机器学习   在日常生活中,人们很难直接从原始数据本身获得所需信息。 而机器学习就是把生活中无序的数据转换成有用的信息。 例如,对于垃圾邮件的检测,侦测一个单词是否存在并没有多大的作用,然而当某几个特定单词同时出现时,再辅以考虑邮件的长度及其他因素,人们就可以更准确地判定该邮件是否为垃圾邮件。   机器学习分为 监督学习 和 无监督学习 ,其中:   (1) 监督学习: 包含分类和回归。分类,是将实例数据划分到合适的分类中。回归,主要用于预测数值形数据。因为这类算法必须知道预测什么,即目标变量的分类信息,所以称为监督学习。   (2) 无监督学习 :此时数据没有类别信息,不能给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程称为 聚类 ,将寻找描述数据统计值的过程称为 密度估计 ,此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。   以下是机器学习的主要算法:   监督学习: k-近邻算法(KNN) ,朴素贝叶斯算法,支持向量机(SVM),决策树        线性回归,局部加权线性回归,Ridge回归,Lasso最小回归系数估计   无监督学习:K