ID3 Java Enum Tree

后端 未结 2 500
名媛妹妹
名媛妹妹 2021-01-27 15:06

I\'m trying to make a non-binary learning tree that\'s a simplified version of the ID3 algorithm. To do this, I tried to use enums, because there are several references teachin

相关标签:
2条回答
  • 2021-01-27 15:37

    I had a similar problem, building an hierarchy of enums. But in my case, an hierarchy of classes could also do the trick. In case you are interested here is my post: How to build an hierarchy tree of categories in java using enums or any other way?

    Now, concerning only enum hierarchy, as you can see on my post, I found this that may work for you:

    http://alexradzin.blogspot.hk/2010/10/hierarchical-structures-with-java-enums_05.html

    In particular:

    public enum OsType {
    OS(null),
        Windows(OS),
            WindowsNT(Windows),
                WindowsNTWorkstation(WindowsNT),
                WindowsNTServer(WindowsNT),
            Windows2000(Windows),
                Windows2000Server(Windows2000),
                Windows2000Workstation(Windows2000),
            WindowsXp(Windows),
            WindowsVista(Windows),
            Windows7(Windows),
            Windows95(Windows),
            Windows98(Windows),
        Unix(OS) {
                @Override
                public boolean supportsXWindows() {
                    return true;
                }
            },
            Linux(Unix),
            AIX(Unix),
            HpUx(Unix),
            SunOs(Unix),
    ;
    private OsType parent = null;
    
    private OsType(OsType parent) {
        this.parent = parent;
    }
    

    I hope it helps!

    0 讨论(0)
  • 2021-01-27 15:46

    you can add a child class to features:

    import java.util.*;
    interface hasEnumChildren {
        Class clazz();
    }
    enum fuelstats {
        notempty,empty
    }
    enum lightstatus {
        Dim,Normal
    }
    enum scents {
        normal,gas
    }
    enum soundstatus {
        Normal,Howl,Screech,Click
    }
    enum turn {
        no,yes
    }
    enum problems {
        battery,starter,solenoid,outofgas,flooding
    }
    enum features implements hasEnumChildren {
        lightstatus(lightstatus.class),soundstatus(soundstatus.class),fuelstats(fuelstats.class),scents(scents.class),turn(turn.class),problems(problems.class);
        features(Class clazz) {
            this.clazz=clazz;
        }
        final Class clazz;
        @Override public Class clazz() {
            return clazz;
        }
    }
    public class So10233099 {
        public static void main(String[] args) {
            System.out.println(Arrays.asList(features.lightstatus.clazz().getEnumConstants()));
        }
    }
    
    0 讨论(0)
提交回复
热议问题