def transform_data(data_df, model_info, cols_to_remove): """ Función que permite realizar las primeras tareas de transformación de los datos de entrada. Args: data_df (DataFrame): Dataset de entrada. model_info (dict): Información del modelo en producción. cols_to_remove (list): Columnas a retirar. Returns: DataFrame. Dataset transformado. """ print('------> Removing unnecessary columns') data_df = remove_unwanted_columns(data_df, cols_to_remove) data_df['Pclass'] = data_df['Pclass'].astype(str) # creando dummies originales print('------> Encoding data') print('---------> Getting encoded columns from cos') enc_key = model_info['objects']['encoders'] + '.pkl' # obteniendo las columnas presentes en el entrenamiento desde COS enc_cols = cos.get_object_in_cos(enc_key) # columnas dummies generadas en los datos de entrada data_df = pd.get_dummies(data_df) # agregando las columnas dummies faltantes en los datos de entrada data_df = data_df.reindex(columns=enc_cols, fill_value=0) return data_df.copy()
def load_model(file, bucket_name='proyecto4-uem-db'): """ Función para cargar el modelo desde IBM COS Args: file (str): Nombre del archivo del modelo Kwargs: bucket_name (str): depósito de IBM COS a usar. """ model = cos.get_object_in_cos(file, bucket_name) return model
def load_model(name, bucket_name='uem-models-mzs'): """ Función para cargar el modelo en IBM COS Args: name (str): Nombre de objeto en COS a cargar. Kwargs: bucket_name (str): depósito de IBM COS a usar. Returns: obj. Objeto descargado. """ return cos.get_object_in_cos(name, bucket_name)
def input_missing_values(data_df, key): """ Función para la imputación de nulos Args: data_df (DataFrame): Dataset de entrada. key (str): Nombre del objeto imputador en COS. Returns: DataFrame. Datasets de salida. """ print('------> Inputing missing values') # obtenemos el objeto SimpleImputer desde COS imputer = cos.get_object_in_cos(key) data_df = pd.DataFrame(imputer.transform(data_df), columns=data_df.columns) return data_df.copy()