def preprocess_redd(building, freq): building.utility.electric = building.utility.electric.sum_split_supplies() building = prepb.downsample(building, rule=freq) building = prepb.fill_appliance_gaps(building) building = prepb.drop_missing_mains(building) building = prepb.make_common_index(building) building.utility.electric.mains[(1, 1)].rename( columns={Measurement('power', 'apparent'): Measurement('power', 'active')}, inplace=True) building = prepb.filter_top_k_appliances(building, k=6) return building
def preprocess_iawe(building, freq): building.utility.electric = building.utility.electric.sum_split_supplies() building = prepb.filter_out_implausible_values( building, Measurement('voltage', ''), 160, 260) building = prepb.filter_datetime(building, '7-13-2013', '8-4-2013') building = prepb.downsample(building, rule=freq) building = prepb.fill_appliance_gaps(building) building = prepb.prepend_append_zeros( building, '7-13-2013', '8-4-2013', freq, 'Asia/Kolkata') building = prepb.drop_missing_mains(building) building = prepb.make_common_index(building) building = prepb.filter_top_k_appliances(building, k=6) return building
# Setting the limits to 5 GB RAM usage megs = 5000 resource.setrlimit(resource.RLIMIT_AS, (megs * 1048576L, -1L)) # Loading data from HDF5 store dataset = DataSet() t1 = time.time() dataset.load_hdf5(EXPORT_PATH) t2 = time.time() print("Runtime to import from HDF5 = {:.2f}".format(t2 - t1)) # Experiment on first (and only) building b = dataset.buildings[1] # Filtering to include only top 8 appliances b = filter_top_k_appliances(b, 3) # Dividing the data into train and test train, test = train_test_split(b) # Again subdivide data into train, test for testing on even smaller data #train, test = train_test_split(train, test_size=.5) # Initializing FHMM Disaggregator disaggregator = FHMM() train_mains = train.utility.electric.mains[ train.utility.electric.mains.keys()[0]][DISAGG_FEATURE] # Get appliances data app = train.utility.electric.appliances
def preprocess_pecan(building, freq): building = prepb.downsample(building, rule=freq) building = prepb.filter_top_k_appliances(building, k=6) return building