Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Hi,
Please find below a piece of code to retrieve variable importance raw data for a trained model in an Analysis:
import dataiku
import pandas as pd
client = dataiku.api_client()
project = client.get_project(dataiku.default_project_key())
analysis = project.get_analysis("rGRd5qWg")
ml_task = analysis.get_ml_task("fm97lWNq")
trained_model_ids = ml_task.get_trained_models_ids()
trained_model_detail = ml_task.get_trained_model_details(trained_model_ids[0])
feature_importance = trained_model_detail.get_raw().get("iperf").get("rawImportance")
feature_importance_df = pd.DataFrame(feature_importance)
Note that you can get the analysis_id, ml_task_id and trained_model_id from the URL of the page of the model. Or you can get that using our API: https://doc.dataiku.com/dss/latest/python-api/rest-api-client/ml.html#exploration-of-results
Hope it helps,
Alex
Hi,
Please find below a piece of code to retrieve variable importance raw data for a trained model in an Analysis:
import dataiku
import pandas as pd
client = dataiku.api_client()
project = client.get_project(dataiku.default_project_key())
analysis = project.get_analysis("rGRd5qWg")
ml_task = analysis.get_ml_task("fm97lWNq")
trained_model_ids = ml_task.get_trained_models_ids()
trained_model_detail = ml_task.get_trained_model_details(trained_model_ids[0])
feature_importance = trained_model_detail.get_raw().get("iperf").get("rawImportance")
feature_importance_df = pd.DataFrame(feature_importance)
Note that you can get the analysis_id, ml_task_id and trained_model_id from the URL of the page of the model. Or you can get that using our API: https://doc.dataiku.com/dss/latest/python-api/rest-api-client/ml.html#exploration-of-results
Hope it helps,
Alex
Hi Alex,
This is really awesome.
I saw you referred to the "get_raw()" method. I didn't saw any reference for it in the docs. Is it?
How, for example, i can get regression coefficients in a similar approach?
Thanks,
I would also like to know the answer to this
Hi @kkaminsky,
"get_raw()" is a method that allows you to get all the trained model details as a python dict.
To get regression coefficients you can use the following piece of code:
import dataiku
import pandas as pd
client = dataiku.api_client()
project = client.get_project(dataiku.default_project_key())
analysis = project.get_analysis(analysis_id)
ml_task = analysis.get_ml_task(ml_task_id)
trained_model_ids = ml_task.get_trained_models_ids()
trained_model_detail = ml_task.get_trained_model_details(trained_model_ids[1])
regression_coefficients = trained_model_detail.get_raw().get('iperf').get('lmCoefficients')
regression_coefficients = pd.DataFrame(regression_coefficients)
If the regression_coefficients table is empty, make sure the model you're calling is a regression:
trained_model_detail.get_raw().get('modeling').get('algorithm')
Let me know if it helps.
ClƩmence