Monitoramento de Machine Learning em Python
Hakim Elakhrass
CEO and co-founder

Kolmogorov-Smirnov — apenas contínuas
L-infinito — apenas categóricas
Qui-quadrado — apenas categóricas
# Inicializar o calculador de drift univariado
uv_calc = nannyml.UnivariateDriftCalculator(
continuous_methods=['wasserstein', 'hellinger'],
categorical_methods=['jensen_shannon', 'l_infinity', 'chi2'],
column_names=feature_column_names,
timestamp_column_name='timestamp',
chunk_period='d'
)
# Ajustar, calcular e plotar os resultados
uv_calc.fit(reference)
uv_results = uv_calc.calculate(analysis)
uv_results.plot().show()
# Filtrar os resultados univariados
filtered_figure = uv_results.filter(column_names=['trip_distance', 'fare_amount'],
methods=['jensen_shannon'])
# Plotar os resultados filtrados
filtered_figure.show().plot()
# Inicializar o ranqueador por contagem de alertas
alert_count_ranker = nannyml.AlertCountRanker()
alert_count_ranked_results = alert_count_ranker.rank(
uv_results,
only_drifting=False)
# Exibir os resultados
display(alert_count_ranked_results)

# Inicializar o ranqueador por correlação
correlation_ranker = nannyml.CorrelationRanker()
correlation_ranker.fit(perf_results.filter(period='reference'))
correlation_ranked_results = correlation_ranker.rank(uv_results, perf_results)
# Exibir os resultados
display(correlation_ranked_results)

# Criar gráficos de distribuição
distribution_results = uv_results.plot(kind='distribution')
# Mostrar os gráficos
distribution_results.show()

Monitoramento de Machine Learning em Python