Untitled
unknown
plain_text
2 years ago
1.4 kB
6
Indexable
from abc import ABC, abstractmethod
class ErrorCalculator(ABC):
def __init__(self, true_value, observed_value):
self._true_value = true_value
self._observed_value = observed_value
@abstractmethod
def calculate_errors(self):
pass
def get_true_value(self):
return self._true_value
def get_observed_value(self):
return self._observed_value
class SpecificErrorCalculator(ErrorCalculator):
def calculate_errors(self):
# Calculate Absolute Error
absolute_error = abs(self._true_value - self._observed_value)
# Calculate Relative Error
if self._true_value != 0:
relative_error = absolute_error / abs(self._true_value)
else:
relative_error = float('inf') # or handle division by zero appropriately
# Calculate Percentage Error
percentage_error = relative_error * 100
return absolute_error, relative_error, percentage_error
# Example usage
true_value = 45
observed_value = 50
calculator = SpecificErrorCalculator(true_value, observed_value)
absolute_error, relative_error, percentage_error = calculator.calculate_errors()
print(f"True Value: {calculator.get_true_value()}")
print(f"Observed Value: {calculator.get_observed_value()}")
print(f"Absolute Error: {absolute_error}")
print(f"Relative Error: {relative_error}")
print(f"Percentage Error: {percentage_error}%")Editor is loading...
Leave a Comment