1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package classifier;
- import de.tu_darmstadt.tk.SmartHomeNetworkSim.core.Packet;
- import weka.clusterers.HierarchicalClusterer;
- import weka.core.EuclideanDistance;
- import weka.core.Instance;
- import weka.core.Instances;
- public class HierarchicalClustering extends BasicPacketClassifier {
-
- private HierarchicalClusterer clusterer;
-
-
- public HierarchicalClustering() {
- clusterer = new HierarchicalClusterer();
- clusterer.setDistanceFunction(new EuclideanDistance());
- }
-
- @Override
- public void trainModel(Instances instances) {
- try {
- clusterer.buildClusterer(instances);
- } catch (Exception e) {
-
- e.printStackTrace();
- }
- }
- @Override
- public void classifyInstance(Instance instance, Packet origin) {
- try {
- clusterer.clusterInstance(instance);
- } catch (Exception e) {
- System.out.println("Anomaly Detected on Packet: "+origin.getTextualRepresentation());
- }
- }
- @Override
- public long getClassificationStart() {
- return 10000;
- }
- }
|