package knn; import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; public class KNN { public String getKnnValue(double[][] value, String[] tags, int k, double[] verifyValue) { String tag = null; if (value == null || tags == null || verifyValue == null || k < 1) { // para error } else { if (value.length == tags.length && value[0].length == verifyValue.length) { PriorityQueue<Item> queue = new PriorityQueue<Item>(k + 1); for (int i = 0; i < value.length; i++) { queue.add(new Item(getOuDistance(value[i], verifyValue), tags[i])); if (queue.size() > k) { queue.poll(); } } Map<String, Item> map = new HashMap<String, Item>(); for (Item item : queue) { Item countItem = null; if (!map.containsKey(item.strValue)) { map.put(item.strValue, new Item(0, item.strValue)); } countItem = map.get(item.strValue); countItem.numValue = countItem.numValue + 1.0; } queue.clear(); queue.addAll(map.values()); tag = queue.poll().strValue; } } return tag; } private double getOuDistance(double[] fs, double[] validateValue) { double value = 0; for (int i = 0; i < fs.length; i++) { value += Math.pow((fs[i] - validateValue[i]), 2.0); } return Math.sqrt(value); } private class Item implements Comparable<Item> { public Item(double num, String str) { this.numValue = num; this.strValue = str; } public double numValue = 0; public String strValue; @Override public int compareTo(Item o) { if (numValue > o.numValue) { return -1; } else if (numValue < o.numValue) { return 1; } else { return 0; } } } }
相关推荐
用java实现k-近邻算法分类器的完整工程代码,测试结果正确
数据挖掘课程实验作业,在参考网上一些资源的情况下完成的,实验结果正确率达将近百分之九十
这是我自己写的java代码,做任务用数据测试过 这是我自己写的代码,做任务用数据测试过 这是我自己写的代码,做任务用数据测试过
机器学习算法KNN(K近邻)应用实例 使用KNN(K近邻)算法对是否容易得糖尿病问题进行预测。 资源中包括完成的KNN算法训练和实现过程,以及用于机器学习的糖尿病数据集。 数据特征包括: Pregnancies:怀孕次数 ...
该文件包括K近邻课件,以及java实现代码,与李航的《统计学习方法》相对应
我的 MapReduce 程序实现了 KNN(K-近邻分类)算法,使用的数据集是非常经典的 KNN 算法数据集—Iris 数据集。 Iris 数据集也称鸢尾花卉数据集,由 Fisher,1936 收集整理。数据集包含 150 个数据样本,分为 3 类,每...
基于matlab采用K-近邻算法实现MNIST手写体数据集的识别.zip
机器学习算法KNN的一种java实现方式,含源代码和测试数据。
在要将这些特征作为分类器的输入环节,运用改进的K近邻算法对这些特征进行分类,得出 识别结果。 人体行为识别的特征反映在数据上是通过子空间投影后得到投影系数向量矩阵Cb,每 一个训练样本和测试样本通过投影后都...
编写程序实现近邻聚类算法或者最大最小距离聚类算法(已实现) 编写程序实现层次聚类算法(已实现) 编写程序实现 K-means 或者K-中心点聚类算法(已实现,但有 bug) 编写程序实现 ISODATA 算法(未完成) 使用统一...
通常使用机器学习库(如Scikit-learn)来实现机器学习操作,例如K近邻算法、决策树算法、支持向量机算法等。 预测与输出:将输入的验证码图像传递给训练好的模型进行预测,输出识别结果。通常使用机器学习库(如...
与CABDDCC算法相反,最后是通过对小簇集合的合并,形成最终的结果,在第一阶段主要是通过K近邻的思想形成小规模的连通图,第二阶段通过RI(相对互连性)和RC(相对近似性)来选一个最佳的簇进行合并。详细介绍链接 ...
包含机器学习的特征抽取、数据预处理、算法(k-近邻算法、朴素贝叶斯、决策树、随机森林、岭回归、逻辑回归、k-means)、模型评估
在Apache Spark上实现的k最近邻居算法(k-NN)。 这使用混合溢出树方法来实现高精度和搜索效率。 k-NN的简单性和调整参数的缺乏使k-NN成为许多机器学习问题的有用基线模型。 如何使用 该软件包使用,链接信息可在...
个性化推荐模型使用了 随机梯度下降(SGD)、 K近邻分类算法(KNN)、协同过滤等传统机器学习领域算法进行音乐推荐的,同时使用了类似于Word2vec的词袋模型和词向量模型来对歌词进行文本处理,构建了异构文本网络,...
ML:包含传统机器学习算法,如支持向量机(SVM)、K近邻(KNN)、决策树等。 DNN:深度神经网络模块,支持导入和运行预训练的深度学习模型,如卷积神经网络(CNN)。 应用领域 OpenCV广泛应用于: 科研与教育...
内容概要: 针对设备故障的预防和...根据系统的需 求,本文采用基于物品的K近邻协同过滤算法对维修工单进行了推 荐,并且通过实验选取最优的K值从而保证推荐性能。 适用人群:大四毕业同学 使用场景:应用于毕业设计
这是Metrized Small World数据结构(MSW)的Java实现。 MSW是一种高度可扩展的数据结构,用于任意度量空间中的近似最近邻居搜索(ann)。 MSW展示了在数据大小(记录数量)和数量维度上对数扩展的能力。 近似是根据...
KNN - K_近邻 Bayes - 贝叶斯 OSC - 正交信号校正 GDescent - 梯度下降 ANN - 人工神经网络 BOOSTING - 提升算法 1、资源内容: 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码...
OpenCV(Open Source Computer Vision Library... ML:包含传统机器学习算法,如支持向量机(SVM)、K近邻(KNN)、决策树等。 DNN:深度神经网络模块,支持导入和运行预训练的深度学习模型,如卷积神经网络(CNN)。