예제 #1
0
def save_simulation_result_to_mat():
    output = {}
    loss_set = SimulationRecord.objects.filter(estimation_method=probe_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(
            estimation_method=probe_based_name,
            loss_rate__range=(l - 0.001, l + 0.001))
        err.append(mean_relative_error(data))

    output['probe_loss_set'] = list(loss_set)
    output['probe_rel_err'] = err
    loss_set = SimulationRecord.objects.filter(estimation_method=distance_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(
            estimation_method=distance_based_name,
            loss_rate__range=(l - 0.001, l + 0.001))
        err.append(mean_relative_error(data))
    output['distance_loss_set'] = list(loss_set)
    output['distance_rel_err'] = err

    loss_set = SimulationRecord.objects.filter(estimation_method="mobsampling")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method="mobsampling",
                                               loss_rate__range=(l - 0.001,
                                                                 l + 0.001))
        err.append(mean_relative_error(data))
    output['mobsampling_loss_set'] = list(loss_set)
    output['mobsampling_rel_err'] = list(err)

    loss_set = SimulationRecord.objects.filter(estimation_method="exploiting...")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(
            estimation_method="exploiting...",
            loss_rate__range=(l - 0.001, l + 0.001))
        err.append(mean_relative_error(data))
    output['exploiting_loss_set'] = list(loss_set)
    output['exploiting_rel_err'] = list(err)

    print "writing to .mat file"
    savemat('simulator/data/data2.mat', output, appendmat=False)
예제 #2
0
def save_simulation_result_to_mat():
    output = {}
    loss_set = SimulationRecord.objects.filter(estimation_method=probe_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method=probe_based_name,
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))

    output['probe_loss_set'] = list(loss_set)
    output['probe_rel_err'] = err
    loss_set = SimulationRecord.objects.filter(estimation_method=distance_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method=distance_based_name,
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))
    output['distance_loss_set'] = list(loss_set)
    output['distance_rel_err'] = err

    loss_set = SimulationRecord.objects.filter(estimation_method="mobsampling")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method="mobsampling",
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))
    output['mobsampling_loss_set'] = list(loss_set)
    output['mobsampling_rel_err'] = list(err)

    loss_set = SimulationRecord.objects.filter(estimation_method="exploiting...")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method="exploiting...",
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))
    output['exploiting_loss_set'] = list(loss_set)
    output['exploiting_rel_err'] = list(err)

    print "writing to .mat file"
    savemat('simulator/data/data2.mat', output, appendmat=False)
예제 #3
0
def mob_sampling_plotter():
    loss_set = SimulationRecord.objects.filter(estimation_method="mobsampling")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method="mobsampling",
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))
    plt.plot(loss_set, err, color='red')
    plt.show()
예제 #4
0
def distance_based_plotter():
    loss_set = SimulationRecord.objects.filter(estimation_method=distance_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method=distance_based_name,
                                               loss_rate__range=(l-0.001, l+0.001))
        err.append(mean_relative_error(data))
    plt.plot(loss_set, err, color='red')
    plt.show()
예제 #5
0
def mob_sampling_plotter():
    loss_set = SimulationRecord.objects.filter(estimation_method="mobsampling")\
        .distinct("loss_rate").values_list("loss_rate", flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(estimation_method="mobsampling",
                                               loss_rate__range=(l - 0.001,
                                                                 l + 0.001))
        err.append(mean_relative_error(data))
    plt.plot(loss_set, err, color='red')
    plt.show()
예제 #6
0
def distance_based_plotter():
    loss_set = SimulationRecord.objects.filter(estimation_method=distance_based_name)\
        .distinct('loss_rate').values_list('loss_rate', flat=True)
    err = []
    for l in loss_set:
        data = SimulationRecord.objects.filter(
            estimation_method=distance_based_name,
            loss_rate__range=(l - 0.001, l + 0.001))
        err.append(mean_relative_error(data))
    plt.plot(loss_set, err, color='red')
    plt.show()