def test_load_mushroom(): data = load_mushroom(num_instances=1) known = { 'bruises?': 'yes', 'cap-color': 'brown', 'cap-shape': 'convex', 'cap-surface': 'smooth', 'classification': 'poisonous', 'gill-attachment': 'free', 'gill-color': 'black', 'gill-size': 'narrow', 'gill-spacing': 'closed', 'habitat': 'urban', 'odor': 'pungent', 'population': 'scattered', 'ring-number': 'one', 'ring-type': 'pendant', 'spore-print-color': 'black', 'stalk-color-above-ring': 'white', 'stalk-color-below-ring': 'white', 'stalk-root': 'equal', 'stalk-shape': 'enlarging', 'stalk-surface-above-ring': 'smooth', 'stalk-surface-below-ring': 'smooth', 'veil-color': 'white', 'veil-type': 'partial' } assert known == data[0]
def test_load_mushroom(): data = load_mushroom(num_instances=1) known = {'bruises?': 'yes', 'cap-color': 'brown', 'cap-shape': 'convex', 'cap-surface': 'smooth', 'classification': 'poisonous', 'gill-attachment': 'free', 'gill-color': 'black', 'gill-size': 'narrow', 'gill-spacing': 'closed', 'habitat': 'urban', 'odor': 'pungent', 'population': 'scattered', 'ring-number': 'one', 'ring-type': 'pendant', 'spore-print-color': 'black', 'stalk-color-above-ring': 'white', 'stalk-color-below-ring': 'white', 'stalk-root': 'equal', 'stalk-shape': 'enlarging', 'stalk-surface-above-ring': 'smooth', 'stalk-surface-below-ring': 'smooth', 'veil-color': 'white', 'veil-type': 'partial'} assert known == data[0]
def output_json(file="forest", size=100, prune=True, seed=50, burn=1): random.seed(seed) if file == "forest": instances = ds.load_forest_fires() variables = False elif file == "voting": instances = ds.load_congressional_voting() variables = False elif file == "iris": instances = ds.load_iris() variables = False elif file == "mushroom": instances = ds.load_mushroom() variables = False elif file == "rb_com_11": instances = ds.load_rb_com_11() variables = True elif file == "rb_s_07": instances = ds.load_rb_s_07() variables = True elif file == "rb_s_13": instances = ds.load_rb_s_13() variables = True elif file == "rb_wb_03": instances = ds.load_rb_wb_03() variables = True else: instances = ds.load_forest_fires() variables = False random.shuffle(instances) pprint.pprint(instances[0]) instances = instances[:size] print(len(instances)) if variables: variablizer = ObjectVariablizer() instances = [variablizer.transform(t) for t in instances] tree = TrestleTree() tree.fit(instances, iterations=burn) pprint.pprint(tree.root.output_json()) with open('output.js', 'w') as out: out.write("var trestle_output = ") out.write(json.dumps(tree.root.output_json())) out.write(";")
def output_json(file="forest", size=100, prune=True, seed=50, burn=1): random.seed(seed) if file == "forest": instances = ds.load_forest_fires() variables = False elif file == "voting": instances = ds.load_congressional_voting() variables = False elif file == "iris": instances = ds.load_iris() variables = False elif file == "mushroom": instances = ds.load_mushroom() variables = False elif file == "rb_com_11": instances = ds.load_rb_com_11() variables = True elif file == "rb_s_07": instances = ds.load_rb_s_07() variables = True elif file == "rb_s_13": instances = ds.load_rb_s_13() variables = True elif file == "rb_wb_03": instances = ds.load_rb_wb_03() variables = True else: instances = ds.load_forest_fires() variables = False random.shuffle(instances) pprint.pprint(instances[0]) instances = instances[:size] print(len(instances)) if variables: variablizer = ObjectVariablizer() instances = [variablizer.transform(t) for t in instances] tree = TrestleTree() tree.fit(instances, iterations=burn) # pprint.pprint(tree.root.output_json()) with open('output.js', 'w') as out: out.write("var trestle_output = ") out.write(json.dumps(tree.root.output_json())) out.write(";")
from __future__ import print_function from __future__ import unicode_literals from __future__ import absolute_import from __future__ import division import matplotlib.pyplot as plt import numpy as np from concept_formation.examples.examples_utils import avg_lines from concept_formation.evaluation import incremental_evaluation from concept_formation.cobweb import CobwebTree from concept_formation.dummy import DummyTree from concept_formation.datasets import load_mushroom num_runs = 30 num_examples = 30 mushrooms = load_mushroom() naive_data = incremental_evaluation(DummyTree(), mushrooms, run_length=num_examples, runs=num_runs, attr="classification") cobweb_data = incremental_evaluation(CobwebTree(), mushrooms, run_length=num_examples, runs=num_runs, attr="classification") cobweb_x, cobweb_y = [], [] naive_x, naive_y = [], []
from __future__ import print_function from __future__ import unicode_literals from __future__ import absolute_import from __future__ import division import matplotlib.pyplot as plt import numpy as np from concept_formation.examples.examples_utils import lowess from concept_formation.predict import incremental_prediction from concept_formation.cobweb import CobwebTree from concept_formation.dummy import DummyTree from concept_formation.datasets import load_mushroom num_runs = 30 num_examples = 30 mushrooms = load_mushroom() naive_data = incremental_prediction(DummyTree(), mushrooms, run_length=num_examples, runs=num_runs, attr="classification") cobweb_data = incremental_prediction(CobwebTree(), mushrooms, run_length=num_examples, runs=num_runs, attr="classification") naive_data.sort() cobweb_data.sort() cobweb_x, cobweb_y = [], [] naive_x, naive_y = [], [] for x,y in cobweb_data: