예제 #1
0
    def task(self):
        listInstClean = get_clean_insts()
        listInstNoisy = get_noisy_insts()
        listData = []
        listNames = ["Clean", "Noisy"]
        for listInst, sName in zip([listInstClean, listInstNoisy], listNames):

            dt = dtree.build_tree(listInst)
            tf = dtree.TreeFold(listInst, listInst)
            rslt = dtree.evaluate_classification(tf)
            dblCorrect, dblIncorrect = dtree.weight_correct_incorrect(rslt)
            dblAccuracy = dblCorrect / (dblCorrect + dblIncorrect)
            listData.append(dblAccuracy)
        return {
            "chart": {
                "defaultSeriesType": "column"
            },
            "title": {
                "text": "Clean vs. Noisy Training Set Accuracy"
            },
            "xAxis": {
                "categories": listNames
            },
            "yAxis": {
                "title": {
                    "text": "Accuracy"
                },
                "min": 0.0,
                "max": 1.0
            },
            "series": [{
                "name": "Training Set Accuracy",
                "data": listData
            }]
        }
예제 #2
0
 def test_weight_corrrect_incorrect(self):
     def make_list(cLen):
         listI = []
         dblSum = 0.0
         for _ in xrange(cLen):
             dbl = math.exp(-random.random() - 0.1) * 10.0
             listI.append(dtree.Instance([],randbool(),dbl))
             dblSum += dbl
         return listI,dblSum
     listInstCorrect,dblCorrect = make_list(random.randint(0,10))
     listInstIncorrect,dblIncorrect = make_list(random.randint(0,10))
     rslt = dtree.EvaluationResult(listInstCorrect, listInstIncorrect,None)
     dblC,dblI = dtree.weight_correct_incorrect(rslt)
     self.assertAlmostEqual(dblCorrect,dblC)
     self.assertAlmostEqual(dblIncorrect,dblI)
 def test_weight_corrrect_incorrect(self):
     def make_list(cLen):
         listI = []
         dblSum = 0.0
         for _ in xrange(cLen):
             dbl = math.exp(-random.random() - 0.1) * 10.0
             listI.append(dtree.Instance([], randbool(), dbl))
             dblSum += dbl
         return listI, dblSum
     listInstCorrect, dblCorrect = make_list(random.randint(0, 10))
     listInstIncorrect, dblIncorrect = make_list(random.randint(0, 10))
     rslt = dtree.EvaluationResult(listInstCorrect, listInstIncorrect, None)
     dblC, dblI = dtree.weight_correct_incorrect(rslt)
     self.assertAlmostEqual(dblCorrect, dblC)
     self.assertAlmostEqual(dblIncorrect, dblI)
예제 #4
0
파일: dttasks.py 프로젝트: dzhu/cs181
    def task(self):
        listInstClean = get_clean_insts()
        listInstNoisy = get_noisy_insts()
        listData = []
        listNames = ["Clean", "Noisy"]
        for listInst, sName in zip([listInstClean, listInstNoisy], listNames):

            dt = dtree.build_tree(listInst)
            tf = dtree.TreeFold(listInst, listInst)
            rslt = dtree.evaluate_classification(tf)
            dblCorrect, dblIncorrect = dtree.weight_correct_incorrect(rslt)
            dblAccuracy = dblCorrect / (dblCorrect + dblIncorrect)
            listData.append(dblAccuracy)
        return {
            "chart": {"defaultSeriesType": "column"},
            "title": {"text": "Clean vs. Noisy Training Set Accuracy"},
            "xAxis": {"categories": listNames},
            "yAxis": {"title": {"text": "Accuracy"}, "min": 0.0, "max": 1.0},
            "series": [{"name": "Training Set Accuracy", "data": listData}],
        }