In [1]:
%matplotlib inline
import sys
import os.path
sys.path.append(os.path.abspath(os.path.join(os.pardir,os.pardir)))
import disaggregator as da
import disaggregator.PecanStreetDatasetAdapter as psda
import pickle
import numpy as np
import pdb
import matplotlib.pyplot as plt
from disaggregator.appliance import ApplianceSet
import random

schema = 'shared'
tables = [u'validated_01_2014',
          u'validated_02_2014',
          u'validated_03_2014',
          u'validated_04_2014',
          u'validated_05_2014',]

In [2]:
reload(da)
reload(psda)

db_url = "postgresql://USERNAME:PASSWORD@db.wiki-energy.org:5432/postgres"
psda.set_url(db_url)

The goal of this notebook is to figure out a nice way to generate randomly sampled appliance sets.

Built a function called generate_random_appliance_sets


In [3]:
dataids = psda.get_table_dataids(schema,tables[0])
k=5
n=2

In [4]:
seed_sets = []
for dataid in dataids[:n]:
    appliance_set = psda.generate_set_by_table_and_dataid(schema,tables[0],dataid)
    top_k_appliance_set = appliance_set.generate_top_k_set(k)
    seed_sets.append(top_k_appliance_set)

In [5]:
random_sets = da.utils.generate_random_appliance_sets(seed_sets,k,2)

In [12]:
for instance in random_sets[0].instances:
    print instance.metadata


{'dataid': 2129, 'source': 'PecanStreet', 'device_name': u'garage2', 'table': u'validated_01_2014', 'schema': 'shared'}
{'dataid': 744, 'source': 'PecanStreet', 'device_name': u'garage1', 'table': u'validated_01_2014', 'schema': 'shared'}
{'dataid': 744, 'source': 'PecanStreet', 'device_name': u'disposal1', 'table': u'validated_01_2014', 'schema': 'shared'}
{'dataid': 744, 'source': 'PecanStreet', 'device_name': u'garage2', 'table': u'validated_01_2014', 'schema': 'shared'}
{'dataid': 2129, 'source': 'PecanStreet', 'device_name': u'furnace1', 'table': u'validated_01_2014', 'schema': 'shared'}

In [ ]: