def test_get_data(self):
        # Observera att denna funktion lokalt anropar get_single_data,
        # så om något test misslyckas - kontrollera först denna funktion

        infoLog = IL.InformationLog()
        # Hämta nyckeltalen i NYCKELTAL, åren i YEARS
        keywords = NYCKELTAL.split(',')
        years = YEARS.split(',')
        # returnera alltid 290 kommuner
        for keyword in keywords:
            for year in years:
                self.assertEqual(len(DF.get_data(keyword, year, infoLog)), 290)
        # så länge inte året/nyckeltalet är fel
        infoLog.reset()
        with self.assertRaises(ValueError):
            DF.get_data("ABC", year, infoLog)

        infoLog.reset()
        with self.assertRaises(ValueError):
            DF.get_data(keyword, '1900', infoLog)
        # men returnera aldrig en lista med enbart None-värden, vilket är det man får av denna kombo
        infoLog.reset()
        self.assertNotEqual(DF.get_data('N15572', '2018', infoLog),
                            [None] * 290)
        self.assertEqual(len(DF.get_data('N15572', '2018', infoLog)), 290)
Ejemplo n.º 2
0
plot_tree = False

restore_tree = False
save = True

learning_curve = False
validation_curve = False
test = True

run_fmnist = True
run_chess = False

data_prop = 1
test_prop = 0.2

fmnist_trgX, fmnist_tstX, fmnist_trgY, fmnist_tstY = data_funcs.get_data(
    'fmnist', data_prop, test_prop)
chess_trgX, chess_tstX, chess_trgY, chess_tstY = data_funcs.get_data(
    'chess', data_prop, test_prop)

clf = tree.DecisionTreeClassifier()

# ms.validation_curve(tree.DecisionTreeClassifier(), fmnist_trgX, fmnist_trgY, )

if plot_tree:
    tree.plot_tree(clf.fit(fmnistX, fmnistY))
    dot_data = tree.export_graphviz(clf, out_file=None)
    graph = graphviz.Source(dot_data)
    graph.render("fmnist")

# Evaluate
# out = clf.predict(fmnist_tstX)