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}}