79399394

Date: 2025-01-30 09:39:54
Score: 0.5
Natty:
Report link

Я как раз LLM обучаю на SHAP) можно проверить как она обучилась ! Вот что она рекомендует:

1.Масштабирование: Если вы хотите избежать масштабирования, удалите вызовы scaler.fit_transform и используйте исходные данные.

2.Фоновые данные: Рассмотрите возможность использования filtered_df_2023 и filtered_df_2024 в качестве фоновых данных для объяснителей.

  1. Параметр data в shap.Explanation: Убедитесь, что вы передаете исходные значения признаков, а не SHAP-значения.

    import pandas as pd import shap import matplotlib.pyplot as plt

    dataframe = X.copy() dataframe.reset_index('ds', inplace=True) dataframe['ds'] = pd.to_datetime(dataframe['ds'])

    filtered_df_1 = dataframe[(dataframe['ds'] >= '2023-01-01') & (dataframe['ds'] <= '2023-07-31')] filtered_df_2023 = filtered_df_1.drop(columns=['ds'], errors='ignore')

    filtered_df_2 = dataframe[(dataframe['ds'] >= '2024-01-01') & (dataframe['ds'] <= '2024-07-31')] filtered_df_2024 = filtered_df_2.drop(columns=['ds'], errors='ignore')

    explainer_2023 = shap.Explainer(best_model, filtered_df_2023) explainer_2024 = shap.Explainer(best_model, filtered_df_2024)

    shap_values_2023 = explainer_2023(filtered_df_2023) shap_values_2023_mean = shap_values_2023.values.mean(axis=0) shap_values_2023_base = shap_values_2023.base_values.mean()

    shap_values_2024 = explainer_2024(filtered_df_2024) shap_values_2024_mean = shap_values_2024.values.mean(axis=0) shap_values_2024_base = shap_values_2024.base_values.mean()

    feature_names = filtered_df_2024.columns

    shap_2023 = shap.Explanation( values=shap_values_2023_mean, base_values=shap_values_2023_base, data=filtered_df_2023.mean().values, # Используем исходные значения признаков feature_names=feature_names )

    shap_2024 = shap.Explanation( values=shap_values_2024_mean, base_values=shap_values_2024_base, data=filtered_df_2024.mean().values, # Используем исходные значения признаков feature_names=feature_names )

    print('2023') plt.figure(figsize=(10, 6)) shap.waterfall_plot(shap_2023, max_display=20)

    plt.figure(figsize=(10, 6)) shap.waterfall_plot(shap_2024, max_display=20)

Ответьте пожалуйста работает ли код, для оценки LLM Удачи Вам в работе)

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Руслан Танташев