[Algorithms] Classify Mystery Items with the K-Nearest Neighbors Algorithm in JavaScript
JavaScript in The with ALGORITHM Algorithms items
2023-09-14 09:00:49 时间
The k-nearest neighbors algorithm is used for classification of unknown items and involves calculating the distance of the unknown item's neighbors. We'll use Euclidean distance to determine the closest neighbor and make our best guess on what the mystery fruit is.
Just a Euclidean distance, that's all...
function determineFruit({ size, redness }) { const fruit = [ { name: "grape", size: 1, redness: 0 }, { name: "orange", size: 2, redness: 1 }, { name: "grapefruit", size: 3, redness: 2 } ]; const { name } = fruit.reduce( (prev, cur) => { let curCalc = calcDistance([[size, cur.size], [redness, cur.redness]]); console.log(curCalc); return prev.dist < curCalc ? prev : { name: cur.name, dist: curCalc }; }, { name: fruit[0].name, dist: calcDistance([[size, fruit[0].size], [redness, fruit[0].redness]]) } ); return `This is most likely a ${name}`; } function calcDistance(data) { return Math.sqrt( data.reduce((acc, curr) => console.log(curr) && acc + Math.pow(curr[0] - curr[1], 2), 0) ); } console.log(determineFruit({ size: 2, redness: 2 }));
相关文章
- JavaScript思维导图
- 【说站】javascript使用new创建对象
- 【说站】javascript寄生式继承的使用
- javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
- javascript 隐式转换_mysql隐式转换
- JavaScript算法笔试[通俗易懂]
- ORA-48405: The option in the command is invalid ORACLE 报错 故障修复 远程处理
- ORA-48444: The single “.” and “*” cannot appear in the middle of the path ORACLE 报错 故障修复 远程处理
- 和in的区别深入研究MySQL查询条件中的=与IN的区别(mysql查询条件中)
- MySQL中使用IN子查询的技巧(mysql子查询in)
- MySQL中使用IN类型参数(mysql中in类型参数)
- MySQL中IN语句的限制详解(mysql中in的限制)
- MySQL中使用IN操作符的查询效率分析(mysql中in的效率)
- 解析MySQL中IN操作符的实现原理(mysql中in的原理)
- MySQL中IN操作最大长度详解(mysql中in最大长度)
- 深入探究Mysql中IN与AND逻辑运算的应用(mysql中in与and)
- 解决MySQL中IN不走索引问题的方法(mysql中in不走索引)
- 条件在Oracle中使用IN和OR查询条件的巧妙之处(oracle中in跟or)
- in用Oracle中Like和In实现模糊查询(oracle like和)
- 研究Oracle IN语句的技巧与窍门(oracle in的语句)
- javascript函数库-集合框架
- 用JavaScript检查大写键(CapsLock)是否打开的脚本
- javascript下正则匹配百分比的代码
- Javascript常用运算符(Operators)-javascript基础教程
- Javascript阻止javascript事件冒泡,获取控件ID值
- javascript函数调用的对象和方法
- JavaScript对象、属性、事件手册集合方便查询
- JavaScript函数参数是传值(byVal)还是传址(byRef)分享
- javascript删除数组元素并且数组长度减小的简单实例
- javascript原生和jquery库实现iframe自适应高度和宽度
- Javascript基础教程之数据类型(字符串String)
- JavaScript插件化开发教程(六)
- JavaScript实现的in_array函数