def test_LR(self): #~ data = [ #~ [3.0, 1.0, 3.0], #~ [3.0, 1.0, 3.0], #~ [0, 3.0, 1.0] #~ ] #~ result = np.ma.array(data = data, mask = (data==0)) lr = LR(ns=0) # 3-class problem lr.setState(self.state) lr.setFactors(self.factors) lr.setOutput(self.output) lr.setTrainingData() lr.train() predict = lr.getPrediction(self.state, self.factors) predict = predict.getBand(1) assert_array_equal(predict, self.output.getBand(1)) lr = LR(ns=1) # Two-class problem (it's because of boundary effect) lr.setState(self.state1) lr.setFactors(self.factors1) lr.setOutput(self.output1) lr.setTrainingData() lr.train() predict = lr.getPrediction(self.state1, self.factors1, calcTransitions=True) predict = predict.getBand(1) self.assertEquals(predict.dtype, np.uint8) data = [ [0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 2.0, 0.0], [0.0, 2.0, 2.0, 0.0], [0.0, 0.0, 0.0, 0.0], ] result = np.ma.array(data=data, mask=(data == 0)) assert_array_equal(predict, result) # Confidence is zero confid = lr.getConfidence() self.assertEquals(confid.getBand(1).dtype, np.uint8) # Transition Potentials potentials = lr.getTransitionPotentials() cats = self.output.getBandGradation(1) for cat in [1.0, 2.0]: map = potentials[cat] self.assertEquals(map.getBand(1).dtype, np.uint8)
def test_LR(self): #~ data = [ #~ [3.0, 1.0, 3.0], #~ [3.0, 1.0, 3.0], #~ [0, 3.0, 1.0] #~ ] #~ result = np.ma.array(data = data, mask = (data==0)) lr = LR(ns=0) # 3-class problem lr.setState(self.state) lr.setFactors(self.factors) lr.setOutput(self.output) lr.setTrainingData() lr.train() predict = lr.getPrediction(self.state, self.factors) predict = predict.getBand(1) assert_array_equal(predict, self.output.getBand(1)) lr = LR(ns=1) # Two-class problem (it's because of boundary effect) lr.setState(self.state1) lr.setFactors(self.factors1) lr.setOutput(self.output1) lr.setTrainingData() lr.train() predict = lr.getPrediction(self.state1, self.factors1, calcTransitions=True) predict = predict.getBand(1) self.assertEquals(predict.dtype, np.uint8) data = [ [0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 2.0, 0.0], [0.0, 2.0, 2.0, 0.0], [0.0, 0.0, 0.0, 0.0], ] result = np.ma.array(data = data, mask = (data==0)) assert_array_equal(predict, result) # Confidence is zero confid = lr.getConfidence() self.assertEquals(confid.getBand(1).dtype, np.uint8) # Transition Potentials potentials = lr.getTransitionPotentials() cats = self.output.getBandGradation(1) for cat in [1.0, 2.0]: map = potentials[cat] self.assertEquals(map.getBand(1).dtype, np.uint8)