in src/lookoutequipment/evaluation.py [0:0]
def __init__(self, model_name, tags_df):
"""
Create a new analysis for a Lookout for Equipment model.
Parameters:
model_name (string):
The name of the Lookout for Equipment trained model
tags_df (pandas.DataFrame):
A dataframe containing all the signals, indexed by time
region_name (string):
Name of the AWS region from where the service is called.
"""
self.client = boto3.client('lookoutequipment')
self.model_name = model_name
self.predicted_ranges = None
self.labelled_ranges = None
self.ts_normal_training = None
self.ts_label_evaluation = None
self.ts_known_anomalies = None
self.df_list = dict()
for signal in tags_df.columns:
self.df_list.update({signal: tags_df[[signal]]})
model_description = self.client.describe_model(ModelName=self.model_name)
if model_description['Status'] == 'FAILED':
raise Exception('Model training failed, nothing to analyze.')
# Extracting time ranges used at training time:
self.training_start = pd.to_datetime(
model_description['TrainingDataStartTime'].replace(tzinfo=None)
)
self.training_end = pd.to_datetime(
model_description['TrainingDataEndTime'].replace(tzinfo=None)
)
self.evaluation_start = pd.to_datetime(
model_description['EvaluationDataStartTime'].replace(tzinfo=None)
)
self.evaluation_end = pd.to_datetime(
model_description['EvaluationDataEndTime'].replace(tzinfo=None)
)