Ejemplo n.º 1
0
def test_insert():
    with test_csv.bayesdb_csv_stream(test_csv.csv_data) as (bdb, f):
        bayeslite.bayesdb_read_csv(bdb, 't', f, header=True, create=True)
        guess.bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
        bdb.execute('initialize 2 models for t_cc')
        bdb.execute('analyze t_cc for 1 iteration wait')
        generator_id = core.bayesdb_get_generator(bdb, 't_cc')
        row = (41, 'F', 96000, 73, 'data science', 2)
        bqlfn.bayesdb_insert(bdb, generator_id, row)
Ejemplo n.º 2
0
def test_insert():
    with test_csv.bayesdb_csv_stream(test_csv.csv_data) as (bdb, f):
        bayeslite.bayesdb_read_csv(bdb, 't', f, header=True, create=True)
        guess.bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
        bdb.execute('initialize 2 models for t_cc')
        bdb.execute('analyze t_cc for 1 iteration wait')
        generator_id = core.bayesdb_get_generator(bdb, 't_cc')
        row = (41, 'F', 96000, 73, 'data science', 2)
        bqlfn.bayesdb_insert(bdb, generator_id, row)
Ejemplo n.º 3
0
def test_insert():
    with test_csv.bayesdb_csv_stream(test_csv.csv_data) as (bdb, f):
        bayeslite.bayesdb_read_csv(bdb, "t", f, header=True, create=True)
        guess.bayesdb_guess_generator(bdb, "t_cc", "t", "crosscat")
        bdb.execute("initialize 2 models for t_cc")
        bdb.execute("analyze t_cc for 1 iteration wait")
        generator_id = core.bayesdb_get_generator(bdb, "t_cc")
        row = (41, "F", 96000, 73, "data science", 2)
        bqlfn.bayesdb_insert(bdb, generator_id, row)
Ejemplo n.º 4
0
    def dot_guess(self, line):
        """guess data generator
        <generator> <table>

        Create a generator named <generator> for the table <table>,
        guessing the statistical types of the columns in <table>.
        """
        # XXX Lousy, lousy tokenizer.
        tokens = line.split()
        if len(tokens) != 2:
            self.stdout.write("Usage: .guess <generator> <table>\n")
            return
        generator = tokens[0]
        table = tokens[1]
        try:
            guess.bayesdb_guess_generator(self._bdb, generator, table, self._metamodel)
        except Exception:
            self.stdout.write(traceback.format_exc())
Ejemplo n.º 5
0
    def dot_guess(self, line):
        '''guess data generator
        <generator> <table>

        Create a generator named <generator> for the table <table>,
        guessing the statistical types of the columns in <table>.
        '''
        # XXX Lousy, lousy tokenizer.
        tokens = line.split()
        if len(tokens) != 2:
            self.stdout.write('Usage: .guess <generator> <table>\n')
            return
        generator = tokens[0]
        table = tokens[1]
        try:
            guess.bayesdb_guess_generator(self._bdb, generator, table,
                                          self._metamodel)
        except Exception:
            self.stdout.write(traceback.format_exc())
Ejemplo n.º 6
0
def test_guess_generator():
    bdb = bayeslite.bayesdb_open(builtin_metamodels=False)
    bdb.sql_execute('CREATE TABLE t(x NUMERIC, y NUMERIC, z NUMERIC)')
    a_z = range(ord('a'), ord('z') + 1)
    aa_zz = ((c, d) for c in a_z for d in a_z)
    data = ((chr(c) + chr(d), (c + d) % 2, math.sqrt(c + d)) for c, d in aa_zz)
    for row in data:
        bdb.sql_execute('INSERT INTO t (x, y, z) VALUES (?, ?, ?)', row)
    cc = crosscat.LocalEngine.LocalEngine(seed=0)
    metamodel = CrosscatMetamodel(cc)
    bayeslite.bayesdb_register_metamodel(bdb, metamodel)
    with pytest.raises(ValueError):
        # No modelled columns.  (x is key.)
        bayesdb_guess_generator(bdb,
                                't_cc',
                                't',
                                'crosscat',
                                overrides=[('y', 'ignore'), ('z', 'ignore')])
    bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
    with pytest.raises(ValueError):
        # Generator already exists.
        bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
    assert bdb.sql_execute('SELECT *'
                           ' FROM bayesdb_generator_column').fetchall() == [
                               (1, 1, 'categorical'),
                               (1, 2, 'numerical'),
                           ]
Ejemplo n.º 7
0
def test_guess_generator():
    bdb = bayeslite.bayesdb_open(builtin_metamodels=False)
    bdb.sql_execute('CREATE TABLE t(x NUMERIC, y NUMERIC, z NUMERIC)')
    a_z = range(ord('a'), ord('z') + 1)
    aa_zz = ((c, d) for c in a_z for d in a_z)
    data = ((chr(c) + chr(d), (c + d) % 2, math.sqrt(c + d)) for c, d in aa_zz)
    for row in data:
        bdb.sql_execute('INSERT INTO t (x, y, z) VALUES (?, ?, ?)', row)
    cc = crosscat.LocalEngine.LocalEngine(seed=0)
    metamodel = CrosscatMetamodel(cc)
    bayeslite.bayesdb_register_metamodel(bdb, metamodel)
    with pytest.raises(ValueError):
        # No modelled columns.  (x is key.)
        bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat',
            overrides=[('y', 'ignore'), ('z', 'ignore')])
    bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
    with pytest.raises(ValueError):
        # Generator already exists.
        bayesdb_guess_generator(bdb, 't_cc', 't', 'crosscat')
    assert bdb.sql_execute('SELECT *'
            ' FROM bayesdb_generator_column').fetchall() == [
        (1, 1, 'categorical'),
        (1, 2, 'numerical'),
    ]