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(";")
Example #5
0
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: