Beispiel #1
0
    def diversified_ranking(self):
        """use diversified ranking method to rank the charts"""
        self.error_throw('rank')
        instance = Instance(self.table_name)
        instance.addTable(
            Table(instance, False, '',
                  ''))  # 'False'->transformed '',''->no describe yet
        if self.import_method == 'mysql':
            instance = self.mysql_handle(instance)
        elif self.import_method == 'csv':
            instance = self.csv_handle(instance)

        instance = self.rank_generate_all_views(instance)
        instance.getM()
        instance.getW()
        instance.getScore()

        self.instance = instance
        self.rank_method = methods_of_ranking[3]
        return
Beispiel #2
0
instance.tables[0].origins = [i for i in range(instance.tables[0].column_num)]
instance.tuple_num = instance.tables[0].tuple_num = cur.execute(sys.argv[2])
instance.tables[0].D = map(list, cur.fetchall())
cur.close()
conn.close()

#get all views and their score
instance.addTables(instance.tables[0].dealWithTable())
begin_id = 1
while begin_id < instance.table_num:
    instance.tables[begin_id].dealWithTable()
    begin_id += 1
if instance.view_num == 0:
    print '{}'
    sys.exit(0)
instance.getScore()

#store views into database
#new_table_name='#'.join(sys.argv[1:])
#cur.execute('create table `'+new_table_name+'`(id int,data JSON)')
order1 = order2 = 1
old_view = ''
for i in range(instance.view_num):
    view = instance.tables[instance.views[i].table_pos].views[
        instance.views[i].view_pos]
    classify = str([])
    if view.series_num > 1:
        classify = str([v[0] for v in view.table.classes]).replace(
            "u'", '\'').decode("unicode-escape").replace("'", '"')
    x_data = str(view.X)
    if view.fx.type == Type.numerical: