首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >weka EuclideanDistance

weka EuclideanDistance
EN

Stack Overflow用户
提问于 2013-12-05 21:20:11
回答 1查看 1.4K关注 0票数 2

下面是使用EuclideanDistance计算weka.core.EuclideanDistance距离的代码,其中两个实例都是缺失的值,如下所示

首先,所有缺失的值都是:?,?,?

例二是所有缺失的值:?,?,?

代码语言:javascript
复制
EuclideanDistance distance = new EuclideanDistance();
distance.setInstances(test);
Instance first = test.get(0);
Instance second = test.get(1);
double d = distance.distance(first, second);

但是,当我运行代码时,我得到的结果是4.0,我不知道这4.0是从哪里来的,有人能告诉我吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-18 01:10:07

K-最近邻算法中的缺失值通常按照以下标准处理:

对于名义属性:

代码语言:javascript
复制
if isMissingValue(a) or isMissingValue(b), then
    distance = 1

对于数值属性:

代码语言:javascript
复制
if isMissingValue(a) and isMissingValue(b), then
    distance = 1

if isMissingValue(a) and !isMissingValue(b), then
    distance = max(b, 1-b)

if !isMissingValue(a) and isMissingValue(b), then
    distance = max(a, 1-a)

您可以检查来源中的实现(沃尔特提供的链接)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20410954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档