add additional penalty for freqs above the eod_freq in f_zero error
This commit is contained in:
parent
ad7a8bcfd3
commit
365b108daf
@ -396,7 +396,7 @@ class Fitter:
|
|||||||
# error_f_zero_slopes = calculate_list_error(f_zero_slopes, self.f_zero_slopes)
|
# error_f_zero_slopes = calculate_list_error(f_zero_slopes, self.f_zero_slopes)
|
||||||
error_f_zero_slope_at_straight = abs(self.f_zero_slope_at_straight - f_zero_slope_at_straight) \
|
error_f_zero_slope_at_straight = abs(self.f_zero_slope_at_straight - f_zero_slope_at_straight) \
|
||||||
/ abs(self.f_zero_slope_at_straight+1)
|
/ abs(self.f_zero_slope_at_straight+1)
|
||||||
error_f_zero = calculate_list_error(f_zeros, self.f_zero_values) / 10
|
error_f_zero = calculate_list_error(f_zeros, self.f_zero_values, self.eod_freq) / 10
|
||||||
|
|
||||||
error_f0_curve = self.calculate_f0_curve_error(model, fi_curve_model) / 20
|
error_f0_curve = self.calculate_f0_curve_error(model, fi_curve_model) / 20
|
||||||
|
|
||||||
@ -537,11 +537,16 @@ class Fitter:
|
|||||||
# return abs(model_area_above - cell_area_above)
|
# return abs(model_area_above - cell_area_above)
|
||||||
|
|
||||||
|
|
||||||
def calculate_list_error(fit, reference):
|
def calculate_list_error(fit, reference, eod_freq=0):
|
||||||
error = 0
|
error = 0
|
||||||
for i in range(len(reference)):
|
for i in range(len(reference)):
|
||||||
# error += abs_freq_error(fit[i] - reference[i])
|
# error += abs_freq_error(fit[i] - reference[i])
|
||||||
error += normed_quadratic_freq_error(fit[i], reference[i])
|
|
||||||
|
if eod_freq != 0 and fit[i] > 1.1*eod_freq:
|
||||||
|
error += normed_quadratic_freq_error(fit[i], reference[i]) * 10
|
||||||
|
else:
|
||||||
|
error += normed_quadratic_freq_error(fit[i], reference[i])
|
||||||
|
|
||||||
norm_error = error / len(reference)
|
norm_error = error / len(reference)
|
||||||
|
|
||||||
return norm_error
|
return norm_error
|
||||||
|
Loading…
Reference in New Issue
Block a user