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 }] }
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)
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}], }