Пример #1
0
    def trainClasificator(self):
        
        class0 = readSamples(self.routeClase0, self.dimenssion)
        print("clase0: " +str(class0) + "\n")
        class1 = readSamples(self.routeClase1, self.dimenssion) 
        
        print("clase1: " +str(class1)+ "\n")       
        
        
        print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n clusterinr \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") 
        clusterContainer0 = ClusterContainer(class0,class1)
        clusterContainer1 = ClusterContainer(class1,class0)        
        
        writeClusters(clusterContainer0, class0,routeCluster0)
        writeClusters(clusterContainer1, class1, routeCluster1)
    
        parameters = [(len(class0 + class1)), self.dimenssion, len(class0), len(class1), self.numGroups, clusterContainer0.getCantClusters(), clusterContainer1.getCantClusters(),M]
        writeParameters(parameters, routeParameters)
        print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n grupeo \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") 

        groupContainer = Grouper.GroupContainer(class0,class1, clusterContainer1, self.numGroups)
        Grouper.deleteOutliers(class0, clusterContainer0, groupContainer.model.e0Vals)
        
        print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n definiendo hiperplanos \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") 

        regions = Hiperplane.defineHiperplanes(groupContainer, clusterContainer0)
        return regions
 def testDefineGroupsOnlyOneSampleK3(self):
     claseA = [(1.0, 1.0)]
     claseB = [(0.0, 0.0), (2.0, 2.0)]
     k = 3
     d = 2
     
     clusterContainerA, model = prepare(claseA, claseB, k, d)
     self.assertEquals([((1.0, 1.0),)], Grouper.defineGroups(clusterContainerA, model, k))
    def testDefineGroupsOnlyOneGroupK33D(self):
        claseA = [(1.0, 1.0, 0.0), (2.0, 1.0, 0.0), (3.0, 1.0, 0.0)]
        claseB = [(0.0, 1.0, 0.0), (4.0, 1.0, 0.0)]
        k = 3
        d = 3
        
        clusterContainerA, model = prepare(claseA, claseB, k, d)

        self.assertEquals([((3.0, 1.0, 0.0), (1.0, 1.0, 0.0), (2.0, 1.0, 0.0))], Grouper.defineGroups(clusterContainerA, model, k))
        pass
    def testdefineGroups4D(self):
        
        claseA = [(0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 2.0, 0.0), (0.0, 0.0, 3.0, 0.0), (0.0, 0.0, 4.0, 0.0), (0.0, 0.0, 5.0, 0.0), (0.0, 0.0, 6.0, 0.0), (0.0, 0.0, 7.0, 0.0), (0.0, 0.0, 8.0, 0.0), (0.0, 0.0, 9.0, 0.0), (0.0, 0.0, 10.0, 0.0), (0.0, 0.0, 11.0, 0.0)]
        claseB = [(0.0, 0.0, 2.5, 0.0), (0.0, 0.0, 5.5, 0.0), (0.0, 0.0, 9.5, 0.0)]
        k = 4
        d = 4
        
        writeSample(claseA, "model/class1.dat")
        writeSample(claseB, "model/class0.dat")
        
        clusterContainerA, model = prepare(claseA, claseB, k, d)
        
        self.assertEquals(set([((0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 2.0, 0.0)), ((0.0, 0.0, 5.0, 0.0), (0.0, 0.0, 3.0, 0.0), (0.0, 0.0, 4.0, 0.0)), ((0.0, 0.0, 10.0, 0.0), (0.0, 0.0, 11.0, 0.0)), ((0.0, 0.0, 6.0, 0.0), (0.0, 0.0, 7.0, 0.0), (0.0, 0.0, 8.0, 0.0), (0.0, 0.0, 9.0, 0.0))]), set(Grouper.defineGroups(clusterContainerA, model, k)))

        pass
 def testdefineGroups3D(self):
     
     claseA = [(0.0, 0.0, 1.0), (0.0, 0.0, 2.0), (0.0, 0.0, 3.0), (0.0, 0.0, 4.0), (0.0, 0.0, 5.0), (0.0, 0.0, 6.0), (0.0, 0.0, 7.0), (0.0, 0.0, 8.0), (0.0, 0.0, 9.0), (0.0, 0.0, 10.0)]
     claseB = [(0.0, 0.0, 2.5), (0.0, 0.0, 5.5), (0.0, 0.0, 9.5)]
     k = 4
     d = 3
     
     clusterContainerA, model = prepare(claseA, claseB, k, d)
     
     self.assertEquals(set([((0.0, 0.0, 1.0), (0.0, 0.0, 2.0)), ((0.0, 0.0, 5.0), (0.0, 0.0, 3.0), (0.0, 0.0, 4.0)), ((0.0, 0.0, 10.0),), ((0.0, 0.0, 6.0), (0.0, 0.0, 7.0), (0.0, 0.0, 8.0), (0.0, 0.0, 9.0))]), set(Grouper.defineGroups(clusterContainerA, model, k)))
     pass
 def testDefineGroupsOneGroupForeachSample4D(self):
     claseA = [(0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 2.0, 0.0), (0.0, 2.0, 0.0, 0.0), (0.0, 2.0, 2.0, 0.0)]
     claseB = [(0.0, 0.0, 0.1, 0.0), (0.0, 1.0, 2.0, 0.0), (0.0, 2.0, 1.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 1.0, 1.0, 0.0)]
     k = 4
     d = 4
     
     clusterContainerA, model = prepare(claseA, claseB, k, d)
     self.assertEquals([((0.0, 0.0, 0.0, 0.0),), ((0.0, 2.0, 0.0, 0.0),), ((0.0, 2.0, 2.0, 0.0),), ((0.0, 0.0, 2.0, 0.0),)], Grouper.defineGroups(clusterContainerA, model, k))
    def testDefineGroupsOnlyOneGroupK24D(self):
        claseA = [(0.0, 1.0, 1.0, 0.0), (0.0, 2.0, 1.0, 0.0), (0.0, 3.0, 1.0, 0.0)]
        claseB = [(0.0, 0.0, 1.0, 0.0), (0.0, 4.0, 1.0, 0.0)]
        k = 2
        d = 4
        
        clusterContainerA, model = prepare(claseA, claseB, k, d)

        self.assertEquals([((0.0, 3.0, 1.0, 0.0), (0.0, 1.0, 1.0, 0.0), (0.0, 2.0, 1.0, 0.0))], Grouper.defineGroups(clusterContainerA, model, k))
        pass