Example #1
0
def different_window_sizes(W_PRR, W_HISTORY):
    print(f'*** PRR={W_PRR}, HISTORY={W_HISTORY} ***')

    dataset = load_rutgers()
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi',
                                  strategy='constant',
                                  constant=0).fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi',
                                window_size=W_HISTORY).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=W_PRR, ahead=1,
                  target='prr').fit_transform(dataset)
    print('PRR created ...')

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()

    X, y = dataset[features].copy(), dataset['class'].ravel()

    y_pred = model_selection.cross_val_predict(pipe, X, y, cv=cv, n_jobs=-1)

    return y, y_pred
def guassian(pipe):
    print('*** Gaussian interpolation ***')

    dataset = []
    for df in load_rutgers():
        df.loc[df['received'] == 0, 'rssi'] = np.nan
        dataset.append(df)
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi', strategy='gaussian').fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi', window_size=10).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=10, ahead=1, target='prr').fit_transform(dataset)
    print('PRR created ...')

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()

    X, y = dataset[features].copy(), dataset['class'].ravel()

    y_pred = model_selection.cross_val_predict(pipe, X, y, cv=cv, n_jobs=-1)

    return y, y_pred
def prepare_data():
    dataset = load_rutgers()
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi', strategy='constant', constant=0).fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi', window_size=10).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=10, ahead=1, target='prr').fit_transform(dataset)
    print('PRR created ...')

    for df in dataset:
        df['class_overall'] = prr_to_label( df['received'].astype(bool).sum() / 300. )
    print('Created special feature `class_overall`')

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')


    #dataset = dataset.dropna()
    dataset = dataset.sample(frac=1, random_state=SEED)

    return dataset
Example #4
0
def prepare_data():
    dataset = load_rutgers()
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi',
                                  strategy='constant',
                                  constant=0).fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi',
                                window_size=20).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=20, ahead=1,
                  target='prr').fit_transform(dataset)
    print('PRR created ...')

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()
    dataset = dataset.drop(['noise', 'src', 'dst', 'received', 'prr'], axis=1)
    print('Drop useless features, drop lines with NaN')

    return dataset
Example #5
0
def prepare_data():
    dataset = load_rutgers()
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi', strategy='constant', constant=0).fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi', window_size=10).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=10, ahead=1, target='prr').fit_transform(dataset)
    print('PRR created ...')

    print('Apply discrete derivation (backward difference)')
    for i in range(len(dataset)):
        dataset[i]['drssi'] = dataset[i]['rssi'].diff()

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()

    X, y = dataset[features].copy(), dataset['class'].ravel()

    return X, y
def prepare_data():
    dataset = load_rutgers()
    print('Rutgers loaded ...')

    dataset = CustomInterpolation(source='rssi',
                                  strategy='constant',
                                  constant=0).fit_transform(dataset)
    print('Interpolation applied ...')

    dataset = SyntheticFeatures(source='rssi',
                                window_size=10).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=10, ahead=1,
                  target='prr').fit_transform(dataset)
    print('PRR created ...')

    print('Apply discrete derivation (backward difference)')
    for i in range(len(dataset)):
        dataset[i]['drssi'] = dataset[i]['rssi'].diff()

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()
    dataset = dataset.drop(['noise', 'src', 'dst', 'received', 'prr'], axis=1)
    print('Drop useless features, drop lines with NaN')

    dataset = poly_features(dataset,
                            include=['rssi', 'rssi_avg', 'rssi_std'],
                            degree=4,
                            include_bias=True)
    print('Polynomials applied ...')

    # Special synthetic features
    dataset['rssi^-1'] = 1. / dataset['rssi']
    dataset['rssi^-2'] = 1. / dataset['rssi^2']
    dataset['rssi^-3'] = 1. / dataset['rssi^3']
    dataset['rssi^-4'] = 1. / dataset['rssi^4']

    dataset['rssi_avg^-1'] = 1. / dataset['rssi_avg']
    dataset['rssi_avg^-2'] = 1. / dataset['rssi_avg^2']
    dataset['rssi_avg^-3'] = 1. / dataset['rssi_avg^3']
    dataset['rssi_avg^-4'] = 1. / dataset['rssi_avg^4']

    dataset['rssi_std^-1'] = 1. / dataset['rssi_std']
    dataset['rssi_std^-2'] = 1. / dataset['rssi_std^2']
    dataset['rssi_std^-3'] = 1. / dataset['rssi_std^3']
    dataset['rssi_std^-4'] = 1. / dataset['rssi_std^4']

    return dataset
def without(pipe):
    print('*** Without interpolation ***')

    #dataset =load_rutgers(
    dataset = []
    for df in load_rutgers():
        df.loc[df['received'] == 0, 'rssi'] = np.nan
        df.dropna()
        dataset.append(df)

    print('Rutgers loaded ...')

    #dataset = CustomInterpolation(on_column='rssi', strategy='gaussian').fit_transform(dataset)
    #print('Interpolation applied ...')


    dataset = SyntheticFeatures(source='rssi', window_size=10).fit_transform(dataset)
    print('Synthetic features created ...')

    dataset = PRR(source='received', window_size=10, ahead=1, target='prr').fit_transform(dataset)
    print('PRR created ...')

    print('Apply discrete derivation (backward difference)')
    for i in range(len(dataset)):
        dataset[i]['drssi'] = dataset[i]['rssi'].diff()

    dataset = CustomMerger().fit_transform(dataset)
    print('Datasets merged ...')

    dataset['class'] = dataset['prr'].apply(prr_to_label)
    print('Classification applied ...')

    dataset = dataset.dropna()

    X, y = dataset[features].copy(), dataset['class'].ravel()

    y_pred = model_selection.cross_val_predict(pipe, X, y, cv=cv, n_jobs=-1)

    return y, y_pred