ReferenceMetaData.get_meta_new¶
- ReferenceMetaData.get_meta_new(new_data, meta_dict=None)¶
Recupera i metadati per un nuovo dataset mappandolo con un dizionario di metadati di riferimento.
Questa funzione genera le feature del nuovo dataset a partire da quelle del dizionario di metadati di riferimento, calcolando i valori minimi e massimi per le variabili numeriche, applicando la mappatura dei bin predefiniti e calcolando le percentuali di valori mancanti.
- Parameters:
new_data (pd.DataFrame) – Nuovo dataset da mappare con i metadati di riferimento.
meta_dict (dict, opzionale) – Dizionario di metadati di riferimento. Se None, verrà utilizzato l’attributo predefinito meta_ref_dict, ovvero il dizionario creato dal metodo get_meta_reference. Default: None.
- Returns:
Dizionario contenente i metadati per il nuovo dataset, inclusi tipo di variabile, min/max, bin e valori mancanti.
- Return type:
dict
Note
Se non viene passato il dizionario di metadati meta_dict deve essere chiamato prima il metodo get_meta_reference.
In caso di mismatch tra le feature dei nuovi dati e il dizionario dei metadati viene sollevato un warning e vengono considerate solo le variabili comuni.
Esempio:
>>> from model_monitoring.reference_metadata import ReferenceMetaData >>> data_storico = pd.DataFrame({'feature_num': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],'feature_cat': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'A', 'B', 'C']}) >>> data_corrente = pd.DataFrame({'feature_num': [2, 3, 4, 5, 6, 7, 8, 9, 10, 11],'feature_cat': ['B', 'A', 'C', 'B', 'A', 'C', 'D', 'E', 'C', 'A'] }) >>> RMD = ReferenceMetaData() >>> meta_storico = RMD.get_meta_reference(data_storico) >>> RMD.get_meta_new(data_corrente,meta_storico) {'feature_num': {'type': 'numerical', 'min_val': 2, 'max_val': 11, 'bin_0': {'min': -inf, 'max': 1.0, 'freq': 0.0}, 'bin_1': {'min': 1.0, 'max': 2.0, 'freq': 0.1}, 'bin_2': {'min': 2.0, 'max': 3.0, 'freq': 0.1}, 'bin_3': {'min': 3.0, 'max': 4.0, 'freq': 0.1}, 'bin_4': {'min': 4.0, 'max': 5.0, 'freq': 0.1}, 'bin_5': {'min': 5.0, 'max': 6.0, 'freq': 0.1}, 'bin_6': {'min': 6.0, 'max': 7.0, 'freq': 0.1}, 'bin_7': {'min': 7.0, 'max': 8.0, 'freq': 0.1}, 'bin_8': {'min': 8.0, 'max': 9.0, 'freq': 0.1}, 'bin_9': {'min': 9.0, 'max': inf, 'freq': 0.2}, 'missing_values': 0.0, 'not_missing_values': 10}, 'feature_cat': {'type': 'categorical', 'A': {'labels': ['A'], 'freq': 0.3}, 'B': {'labels': ['B'], 'freq': 0.2}, 'C': {'labels': ['C'], 'freq': 0.3}, '_other_': {'labels': ['E', 'D'], 'freq': 0.2}, 'missing_values': 0.0, 'not_missing_values': 10}}