Open Mchristos opened 5 months ago
For future travellers: I've found that using example.final_cfs_df_sparse
returns the desired precision in the predictions. I haven't found a way to keep the original precision in the "instance" df
As for the "instance" dataframe, my best solution was to simply use the original dataframe passed to DiCE rather than use it's output. As for the predicted target value, simply do prediction with your model on your "instance" data.
I've noticed that the counterfactuals dataframes I get from my CounterfactualExamples objects have the target value rounded to the nearest decimal place. This makes the results useless to me, since in my dataset has target values very close to zero, and the distribution is very skewed towards zero. I.e. many data points occur between 0.0 and 0.1.
I've included a modified version of this getting started notebook which shows that
example.final_cfs_df
(whereexample: CounterfactualExamples
) contains rounded target values, butexamples.visualize_dataframe()
clearly shows that the higher precision target value is stored somewhere.