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)
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)