Waikato / moa

MOA is an open source framework for Big Data stream mining. It includes a collection of machine learning algorithms (classification, regression, clustering, outlier detection, concept drift detection and recommender systems) and tools for evaluation.
http://moa.cms.waikato.ac.nz/
GNU General Public License v3.0
603 stars 352 forks source link

AdaHoeffdingOptionTreeTest is failing on latest master (6eacf9b) #273

Open nuwangunasekara opened 1 year ago

nuwangunasekara commented 1 year ago

AdaHoeffdingOptionTreeTest is failing on latest master (6eacf9b)

with mvn clean package

Running moa.classifiers.trees.AdaHoeffdingOptionTreeTest
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.759 sec <<< FAILURE! - in moa.classifiers.trees.AdaHoeffdingOptionTreeTest
testRegression(moa.classifiers.trees.AdaHoeffdingOptionTreeTest)  Time elapsed: 0.74 sec  <<< FAILURE!
junit.framework.AssertionFailedError: Output differs:
52c52
<   1: 1.24768970176524544E17
---
>   1: 1.2476897017652454E17

    at junit.framework.Assert.fail(Assert.java:57)
    at junit.framework.Assert.assertTrue(Assert.java:22)
    at junit.framework.Assert.assertNull(Assert.java:277)
    at junit.framework.TestCase.assertNull(TestCase.java:418)
    at moa.classifiers.AbstractClassifierTestCase.testRegression(AbstractClassifierTestCase.java:350)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at junit.framework.TestCase.runTest(TestCase.java:177)
    at moa.test.MoaTestCase.runTest(MoaTestCase.java:137)
    at junit.framework.TestCase.runBare(TestCase.java:142)
    at junit.framework.TestResult$1.protect(TestResult.java:122)
    at junit.framework.TestResult.runProtected(TestResult.java:142)
    at junit.framework.TestResult.run(TestResult.java:125)
    at junit.framework.TestCase.run(TestCase.java:130)
    at junit.framework.TestSuite.runTest(TestSuite.java:241)
    at junit.framework.TestSuite.run(TestSuite.java:236)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
    at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
nuwangunasekara commented 1 year ago

Only happens with below settings :

moa % mvn -v 
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/local/Cellar/maven/3.8.6/libexec
Java version: 19.0.2, vendor: Homebrew, runtime: /usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home
Default locale: en_NZ, platform encoding: UTF-8
OS name: "mac os x", version: "13.2.1", arch: "x86_64", family: "mac"

Does NOT happen with:

mvn -v                                            
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /Users/ng98/Desktop/condaJava/opt/maven
Java version: 11.0.13, vendor: JetBrains s.r.o., runtime: /Users/ng98/Desktop/condaJava
Default locale: en_NZ, platform encoding: UTF-8
OS name: "mac os x", version: "13.2.1", arch: "x86_64", family: "mac"

Most probably it is the Java version which is causing the higher precision.