Вторая версия уже лучше: показывает тематические срезы, разброс и размер выборок. Но порог count < 30 не делает остальные выводы надёжными автоматически, а общая лучшая средняя не должна решать выпуск.
Практическое задание
Вторая версия уже лучше: показывает тематические срезы, разброс и размер выборок. Но порог count < 30 не делает остальные выводы надёжными автоматически, а общая лучшая средняя не должна решать выпуск.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Практическое задание
AI сгенерировал код для решения о выпуске новой LLM. Проведи ревью: измени его так, чтобы редактор мог сравнить качество версий по тематическим сегментам, увидеть разброс оценок и заметить риск ухудшения на малой группе данных.
import matplotlib.pyplot as plt import pandas as pd
scores = pd.read_csv('model_scores.csv') summary = scores.groupby('model_version')['score'].mean() plt.bar(summary.index, summary.values) plt.title('Качество моделей') plt.ylabel('Средняя оценка') plt.show()
print('Лучшая версия:', summary.idxmax())
import matplotlib.pyplot as plt import pandas as pd
scores = pd.read_csv('model_scores.csv')
stats = ( scores.groupby(["topic", "model_version"])["score"] .agg(["mean", "std", "count"]) .reset_index() )
print(stats)
for topic, group in scores.groupby("topic"): group.boxplot(column="score", by="model_version") plt.title(f"Тема: {topic}") plt.suptitle("") plt.ylabel("Оценка") plt.show()
small_groups = stats[stats["count"] < 30] print("Малые группы - выводы ненадежны:") print(small_groups)
Ответ
Вторая версия уже лучше: показывает тематические срезы, разброс и размер выборок. Но порог count < 30 не делает остальные выводы надёжными автоматически, а общая лучшая средняя не должна решать выпуск.
Добавьте рядом со средним медиану и квантили:
stats = scores.groupby(['topic', 'model_version'])['score'].agg(
mean='mean', median='median', count='count',
p10=lambda x: x.quantile(.1),
p90=lambda x: x.quantile(.9))
print(stats)
Если версии оценивали на одних заданиях, сравнивайте парные разности по task_id и интервалы bootstrap с учётом группировки. Без ID парность восстановить нельзя. Помечайте missing-срезы, неодинаковые шкалы и критические ошибки; для малых групп показывайте точки наблюдений. Решение о выпуске привяжите к заранее согласованным guardrails, а не idxmax.