Issue: I'm working with snowflake-ml-python and trying to use the explain function on an XGBoost model deployed in Snowflake. However, I get the following error when calling run with function_name="explain": ValueError: There is no method with name explain available in the model .... Context: I trained an XGBClassifier model using snowflake.ml.modeling.xgboost.using their documentation: Registered it in Snowflake’s model registry with enable_explainability=True. The model successfully trains and makes predictions. When calling model_version.run(features_df, function_name="explain"), I get the error above. Code Snippet: Environment: windows 10 python 3.8 snowflake-ml-python==1.5.4 snowflake-snowpark-python==1.19.0 Model Training and Registration: import pandas as pd from sklearn.datasets import make_classification from snowflake.ml.modeling.xgboost import XGBClassifier from snowflake.snowpark import Session from snowflake.ml.registry import registry # Snowflake session setup conn_params = { "user": "<...>", "account": "<...>", "warehouse": "<...>", "database": "<...>", "schema": "<...>", "role": "<...>", "authenticator": "externalbrowser", } session = Session.builder.configs(conn_params).create() # Define columns FEATURE_COLS = ["X1", "X2", "X3", "X4", "X5", "X6"] LABEL_COLS = ["Y"] OUTPUT_COLS = ["PREDICTIONS"] # Generate data X, y = make_classification(n_samples=40000, n_features=6, n_informative=4, n_redundant=1, random_state=0, shuffle=True) X_df = pd.DataFrame(X, columns=FEATURE_COLS) y_df = pd.DataFrame(y, columns=LABEL_COLS) features_pandas = pd.concat([X_df, y_df], axis=1) features_df = session.create_dataframe(features_pandas) # Train and register model xgboost_model = XGBClassifier(input_cols=FEATURE_COLS, label_cols=LABEL_COLS, output_cols=OUTPUT_COLS) xgboost_model.fit(features_df) native_registry = registry.Registry(session=session, database_name=session.get_current_database(), schema_name=session.get_current_schema()) model_name = "Model_Only" version = "V3" model_version = native_registry.log_model( model=xgboost_model, model_name=model_name, version_name=version, sample_input_data=features_df.sample(n=1000), conda_dependencies=["snowflake-ml-python"], comment="Model_Only test", options={"enable_explainability": True} ) Making Predictions & Explanation Attempt: model_version = native_registry.get_model(model_name).version(version) predictions = model_version.run(features_df, function_name="predict") print(predictions.show()) # Attempting to explain explanations = model_version.run(features_df, function_name="explain") # Fails here Questions: Does XGBClassifier in Snowflake ML support explain? It seems it does from the doc. Is there any additional setup required to enable explainability? If explain is not supported, what is the recommended alternative for feature importance in Snowflake ML? Any insights would be greatly appreciated! Continue reading...