Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Comparison doSMOTE因“故障”导致的故障;“距离指示器”;计算与比较_Comparison_Weka - Fatal编程技术网

Comparison doSMOTE因“故障”导致的故障;“距离指示器”;计算与比较

Comparison doSMOTE因“故障”导致的故障;“距离指示器”;计算与比较,comparison,weka,Comparison,Weka,我使用SMOTE机制来过滤我的数据集,但是过滤操作往往会失败 我在doSMOTE函数中找到了我的案例的原因,其中: 1-计算实例之间的距离 2-使用比较器根据这些距离对实例进行排序: public int compare(Object o1, Object o2) { double distance1 = (Double) ((Object[]) o1)[0]; double distance2 = (Double) ((Object[]) o2)[0]; r

我使用SMOTE机制来过滤我的数据集,但是过滤操作往往会失败

我在doSMOTE函数中找到了我的案例的原因,其中:

1-计算实例之间的距离

2-使用比较器根据这些距离对实例进行排序:

public int compare(Object o1, Object o2) {
      double distance1 = (Double) ((Object[]) o1)[0];
      double distance2 = (Double) ((Object[]) o2)[0];
      return (int) Math.ceil(distance1 - distance2);
} 
但是在这个阶段,Java的比较规则被打破,并引发异常

我怀疑原因是我的实例彼此太接近。远处的一瞥附在这篇文章的末尾

我的问题是:

1-这是合理的情况吗

2-有没有办法绕过它

3-如果SMOTE在这种情况下不起作用-您可以推荐其他哪种过滤器

距离抽样:

0.0000000000000000000

0.0012141773193000000

0.00384324612409900

0.0061871080511999900

0.0100299787545999000

0.010486809109699000

0.0105987645799090000

0.0108892893852699000

0.0117478589556099000

1.0309228276616200000

1.0310198235697600000

1.0313107565587700000

2.1496389158514700000

2.1507375480523100000

3.0822389928979700000

3.0824063362008500000

3.0827550748437000000

3.13155052392400000

4.0849290781932300000

4.0849749023536100000

5.0827069584694600000

5.0827154979640900000

5.08275625688700000

6.0680583877232500000

6.0680629044326200000

6.0680841744788300000

6.0681194562755100000

6.068166671904390000

7.064050792431330000

7.06408648832750000

99983.1268106843000000000

99983.12873146360000000

99983.130657687100000000

99983.132589385000000000

99983.1345265875000000000

99983.145417546700000000

99983.147554891800000000

99983.149698988369000000

99983.1518494214000000000

99983.1540066853000000000

99983.1561706687000000000

99983.15834141240000000000

99983.160518957200000000

99983.16270334440000000

99983.169297980000000000

99983.1715101578000000

99983.1737293904000000000

99983.175955721400000000

99983.178189194800000000

99983.180429855100000000

99983.232559001800000000

99983.278469350600000000

99984.116413154000000000

99984.1167570050000000

99984.12902938830000000000

99984.140563585600000000

99984.1514150653000000000

99984.161633231000000000

99984.1987066124000000000

99984.204928899000000000

99984.64215964000000000

99985.0506858703000000000

99985.106502675100000000

99985.7425293353000000000

99985.745604325600000000

99985.7486938850000000000

99985.879995750000000000

99985.891800102100000000

99986.0036067922000000000

99986.01637815780000000

99986.028409363700000000

99986.0362028056000000000

99986.039755111900000000

99986.05046483540000000

99986.580567264900000000

99986.5908405239000000000

99986.6006520000000

99986.8206430289000000000

99986.8239828836000000000

99986.82734115740000000

99986.8307180474000000000

99986.83369752450000000000

99986.83411375370000000000

99986.9395424908000000

99986.9570787376000000000

99986.9729798986000000000

99987.1063584039000000000

99987.2804998215000000

99987.281480356800000000

99987.2824628995000000000

99987.28344757200000000

99987.284434038300000000

99987.2854226507000000

99987.2864133025000000000

99987.2874060019000000000

99987.288400757100000000


99987.313587701700000000

此问题已在Weka 3.7.x的SMOTE包中修复

该修复程序也应用于Weka 3.6。使用weka 3.7版时,可通过软件包管理器进行更新

有关更多信息:


.

什么是失败消息,异常?是的,空指针异常。stacktraces不包含任何信息-显示空指针异常,而不仅仅是我的代码中对SMOTE调用的引用。