single-rai-job/single-rai-job.yaml (87 lines of code) (raw):

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json inputs: title: 'My Single Job RAI' task_type: 'classification' # [classification, regression] model_id: common_fetch_model_adult_1646680712:1 train_dataset_id: tabular_train_adult_1646682459:1 test_dataset_id: tabular_test_adult_1646682460:1 target_column_name: income maximum_rows_for_test_dataset: 5000 categorical_column_names: '["Race", "Sex", "Workclass", "Marital Status", "Country", "Occupation"]' # Optional[List[str]] classes: '[]' # Optional[List[str]] # ------ enable_causal: False causal_treatment_features: '["Age", "Sex"]' causal_heterogeneity_features: '["Marital Status"]' causal_nuisance_model: linear causal_heterogeneity_model: linear causal_alpha: 0.05 causal_upper_bound_on_cat_expansion: 50 causal_treatment_cost: '0' causal_min_tree_leaf_samples: 2 causal_max_tree_depth: 2 causal_skip_cat_limit_checks: False causal_categories: auto causal_n_jobs: 1 causal_verbose: 1 causal_random_state: None # ------ enable_counterfactual: True counterfactual_total_CFs: 10 counterfactual_method: random counterfactual_desired_class: 0 counterfactual_desired_range: '[]' counterfactual_permitted_range: '{}' counterfactual_features_to_vary: all counterfactual_feature_importance: True # ------ enable_error_analysis: True error_analysis_max_depth: 3 error_analysis_num_leaves: 31 error_analysis_min_child_samples: 20 error_analysis_filter_features: '["Marital Status", "Workclass"]' # ------ enable_explanation: True # ------ #outputs: # dashboard: # mode: upload # ux_json: # mode: upload code: local_path: src compute: azureml:cpucluster environment: azureml:AML-RAI-Environment:1646679879 display_name: Single RAI Job experiment_name: RAI_Single_Job_01 description: Run RAI in a single job command: | set -o xtrace # ======================================== # Run the script python ./run_rai.py \ --title '${{inputs.title}}' \ --task_type ${{inputs.task_type}} \ --model_id ${{inputs.model_id}} \ --train_dataset_id ${{inputs.train_dataset_id}} \ --test_dataset_id ${{inputs.test_dataset_id}} \ --target_column_name ${{inputs.target_column_name}} \ --maximum_rows_for_test_dataset ${{inputs.maximum_rows_for_test_dataset}} \ --categorical_column_names '${{inputs.categorical_column_names}}' \ --classes '${{inputs.classes}}' \ --enable_causal ${{inputs.enable_causal}} \ --causal_treatment_features '${{inputs.causal_treatment_features}}' \ --causal_heterogeneity_features '${{inputs.causal_heterogeneity_features}}' \ --causal_nuisance_model ${{inputs.causal_nuisance_model}} \ --causal_heterogeneity_model ${{inputs.causal_heterogeneity_model}} \ --causal_alpha ${{inputs.causal_alpha}} \ --causal_upper_bound_on_cat_expansion ${{inputs.causal_upper_bound_on_cat_expansion}} \ --causal_treatment_cost '${{inputs.causal_treatment_cost}}' \ --causal_min_tree_leaf_samples ${{inputs.causal_min_tree_leaf_samples}} \ --causal_max_tree_depth ${{inputs.causal_max_tree_depth}} \ --causal_categories ${{inputs.causal_categories}} \ --causal_n_jobs ${{inputs.causal_n_jobs}} \ --causal_verbose ${{inputs.causal_verbose}} \ --causal_random_state '${{inputs.causal_random_state}}' \ --enable_counterfactual ${{inputs.enable_counterfactual}} \ --counterfactual_total_CFs ${{inputs.counterfactual_total_CFs}} \ --counterfactual_method ${{inputs.counterfactual_method}} \ --counterfactual_desired_class ${{inputs.counterfactual_desired_class}} \ --counterfactual_desired_range '${{inputs.counterfactual_desired_range}}' \ --counterfactual_permitted_range '${{inputs.counterfactual_permitted_range}}' \ --counterfactual_features_to_vary '${{inputs.counterfactual_features_to_vary}}' \ --counterfactual_feature_importance '${{inputs.counterfactual_feature_importance}}' \ --enable_error_analysis ${{inputs.enable_error_analysis}} \ --error_analysis_max_depth ${{inputs.error_analysis_max_depth}} \ --error_analysis_num_leaves ${{inputs.error_analysis_num_leaves}} \ --error_analysis_min_child_samples ${{inputs.error_analysis_min_child_samples}} \ --error_analysis_filter_features '${{inputs.error_analysis_filter_features}}' \ --enable_explanation ${{inputs.enable_explanation}}