• batch process
    了解作者
  • matlab
    开发工具
  • 2KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 7
    下载次数
  • 2020-04-10 23:11
    上传日期
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。
k近邻.zip
  • find_nn.m
    2.8KB
  • L2_distance.m
    2.3KB
内容介绍
function [D, ni] = find_nn(X, k1) %FIND_NN Finds k nearest neigbors for all datapoints in the dataset %[D, ni] = find_nn(X, k) % Finds the k nearest neighbors for all datapoints in the dataset X. % In X, rows correspond to the observations and columns to the % dimensions. The value of k is the number of neighbors that is % stored. The function returns a sparse distance matrix D, in which % only the distances to the k nearest neighbors are stored. For % equal datapoints, the distance is set to a tolerance value. % The method is relatively slow, but has a memory requirement of O(nk). % This file is part of the Matlab Toolbox for Dimensionality Reduction v0.7.2b. % The toolbox can be obtained from http://homepage.tudelft.nl/19j49 % You are free to use, change, or redistribute this code in any way you % want for non-commercial purposes. However, it is appreciated if you % maintain the name of the original author. % (C) Laurens van der Maaten, 2010 % University California, San Diego / Delft University of Technology if ~exist('k', 'var') || isempty(k1) k1 = 12; end % Perform adaptive neighborhood selection if desired %if ischar(k) %[D, max_k] = find_nn_adaptive(X); % ni = zeros(size(X, 1), max_k); % for i=1:size(X, 1) %tmp = find(D(i,:) ~= 0); %tmp(tmp == i) = []; %tmp = [tmp(2:end) zeros(1, max_k - length(tmp) + 1)]; %ni(i,:) = tmp; %end % Perform normal neighborhood selection % Memory conservative implementation % else k1 = k1 + 1; if size(X, 1) > 2000 X = X'; n = size(X, 2); D = zeros(n, k1); XX = sum(X .^ 2, 1); onez = ones(1,n); if nargout > 1, ni = zeros(n, k1, 'uint16'); end for i=1:n p = X(:,i); xx = sum(p .^ 2); xX = p' * X; d = bsxfun(@plus, XX - 2 * xX, xx); [d, ind] = sort(d); d = sqrt(d(1:k1)); ind = ind(1:k1); d(d == 0) = 1e-7; D(i,:) = d; ni(i,:) = ind; end D = sparse(repmat((1:size(ni, 1))', [1 size(ni, 2)]), double(ni(:)), double(D(:)), size(ni, 1), size(ni, 1)); % Faster implementation else n = size(X, 1); D = L2_distance(X', X'); [foo, ind] = sort(D, 2); flat = repmat((1:n)', 1, n - k1) + n * ind(:,k1+1:end) - n; D(flat(:)) = 0; D(1:n+1:end) = 1e-7; D = sparse(double(D)); if nargout > 1, ni = uint16(ind(:,1:k1)); end end if nargout > 1 ni = ni(:,2:end); end end
评论
    相关推荐
    • matlab歪度峭度代码-Hand-Gesture-Recognition-System:kMATLAB中基于最近邻的手势识别系
      matlab歪度斜度代码手势识别系统 MATLAB 中基于 k 最近邻 (kNN) 的手势识别系统 该项目从一组 ...k-最近邻算法进行分类。 下载文件夹并在 MATLAB 中运行 code/main.m 文件。 计算的效率作为输出打印。
    • k-nearest-neighbors:k-近邻分类算法在MNIST数字数据集上的实现
      k-最近邻 k-近邻分类算法在MNIST数字数据集上的实现。 用法:python knn.py
    • kNN分类器:k-NN分类器-matlab开发
      -k-NN 分类器:使用 k-最近邻算法进行分类。 最近的邻居- 搜索方法是欧氏距离-用法: [predicted_labels,nn_index,accuracy] = KNN_(3,training,training_labels,testing,testing_labels) Predicted_labels = KNN_(3...
    • 大间隔最近邻分类算法
      大间隔最近邻居(Large margin nearest neighbor (LMNN))分类算法是统计学的一种机器学习算法。该算法是在k近邻分类其中学习一...基于欧式距离度量学习函数的大间隔最近邻居分类算法能够很好的改善k近邻算法分类效果。
    • Fuzzy k-NN:模糊k-最近邻分类算法-matlab开发
      执行模糊 k-最近邻 [1] 分类。 [1] JM Keller、MR Gray 和 JA Givens, Jr.,“模糊 K-最近邻算法”,IEEE 系统、人与控制论汇刊,卷。 15,第 4 期,第 580-585 页。
    • K近邻分类算法
      knn,即k最近邻算法是模式识别中的一种比较简单而经典的分类算法,,在邮局问题中得到了广泛的应用。对于最近邻搜索算法有个比较好的描述。
    • k近邻分类算法
      当输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k近邻算法...
    • 1 K近邻.zip
      k近邻算法详解,修改相应参数便可直接调用
    • k最近邻估计.rar
      可以分别对1、2、3类数据进行k最近邻估计,
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载