def parse_args(args): parser = argparse.ArgumentParser(""" Plot for the simulation convergence check: what if num features grows """) parser.add_argument('--result-folder', type=str, default="simulation_convergence_num_p") parser.add_argument( '--spinn-template', type=str, default="_output/seed_%d/num_train_200/num_p_%d/fitted_spinn.pkl") parser.add_argument( '--file-template', type=str, default="_output/seed_%d/num_train_200/num_p_%d/fitted_spinn.csv") parser.add_argument('--num-ps', type=str, default=make_params([25, 50, 100, 200, 400])) parser.add_argument('--lasso-ratio', type=float, default=0.1) parser.add_argument('--max-relevant-idx', type=int, default=6) parser.add_argument('--seeds', type=str, default=make_params(range(1, 21))) parser.add_argument('--out-plot', type=str, default="_output/plot_simulation_mse.png") parser.add_argument('--out-weight-plot', type=str, default="_output/plot_simulation_weights.png") parser.set_defaults() args = parser.parse_args(args) args.seeds = process_params(args.seeds, int) args.num_ps = process_params(args.num_ps, int) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, default=0) parser.add_argument('--pi-alpha', type=float, default=0.1, help="(1-pi_alpha) prediction interval") parser.add_argument('--num-trains', type=str, default="1", help="comma separated") parser.add_argument('--coverage-files', type=str, default="_output/agg_coverages.pkl", help="comma separated") parser.add_argument('--plot-file', type=str, default="_output/coverage_vs_num_train.png") parser.set_defaults() args = parser.parse_args() args.coverage_files = process_params(args.coverage_files, str) args.num_trains = process_params(args.num_trains, int) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, default=0) parser.add_argument('--data-file', type=str, default="_output/data.pkl") parser.add_argument('--num-rand', type=int, default=20) parser.add_argument('--num-test', type=int, default=6000) parser.add_argument('--ci-alpha', type=float, default=0.1) parser.add_argument('--fitted-files', type=str, default="_output/fitted.pkl") parser.add_argument('--coverage-files', type=str, default="_output/recalibrated_coverages.pkl") parser.add_argument('--out-file', type=str, default="_output/aggregate_coverages.pkl") parser.add_argument('--log-file', type=str, default="_output/log_agg.txt") parser.set_defaults() args = parser.parse_args() args.fitted_files = process_params(args.fitted_files, str) args.coverage_files = process_params(args.coverage_files, str) return args
def parse_args(args): parser = argparse.ArgumentParser("Plot for the main simulations") parser.add_argument( '--result-folder', type=str, default="simulation_alpha") parser.add_argument( '--lasso', type=str, default=make_params(np.arange(-.5, -6, step=-.5))) parser.add_argument( '--group-lasso', type=str, default=make_params(np.arange(-.5, -6, step=-.5))) parser.add_argument( '--max-relevant-idx', type=int, default=6) parser.add_argument( '--seeds', type=str, default="4,5,6,7,8,9,10,11") parser.add_argument( '--file-template', type=str, default="_output/seed_%d/group_lasso_%.2f/lasso_%.2f/fitted_spinn.%s") parser.add_argument( '--out-mse-plot', type=str, default="_output/plot_alpha_mse.png") parser.add_argument( '--out-irrelev-weight-plot', type=str, default="_output/plot_alpha_irrelev_weight.png") parser.add_argument( '--out-relev-weight-plot', type=str, default="_output/plot_alpha_relev_weight.png") parser.add_argument( '--out-nonzero-hidden-plot', type=str, default="_output/plot_alpha_nonzero_hidden.png") parser.add_argument( '--out-nonzero-inputs-plot', type=str, default="_output/plot_alpha_nonzero_inputs.png") parser.set_defaults() args = parser.parse_args(args) args.group_lasso = process_params(args.group_lasso, float) args.lasso = process_params(args.lasso, float) args.seeds = process_params(args.seeds, int) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, default=0) parser.add_argument('--num-test', type=int, default=2000) parser.add_argument('--data-file', type=str, default="_output/data.pkl") parser.add_argument('--data-split-file', type=str, default="_output/data_split.pkl") parser.add_argument('--fitted-files', type=str, default="_output/fitted.pkl", help="comma separated") parser.add_argument('--plot-accept-region-file', type=str, default="_output/delta_accept_region.png") parser.set_defaults() args = parser.parse_args() args.fitted_files = process_params(args.fitted_files, str) return args
def parse_args(args): """ parse command line arguments """ parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--seed", type=int, help="Random number generator seed for replicability", default=12, ) parser.add_argument("--y-max", type=float, default=10) parser.add_argument("--y-min", type=float, default=None) parser.add_argument("--scale-loss", type=float, default=1) parser.add_argument("--x-start", type=int, default=None) parser.add_argument("--x-skip", type=int, default=None) parser.add_argument("--plot-mean", action="store_true") parser.add_argument("--history-files", type=str, help="comma separated pickle files") parser.add_argument("--loss-plot", type=str, default="_output/approver_history_loss.png") parser.add_argument("--human-plot", type=str, default="_output/approver_history_human.png") parser.add_argument("--log-file", type=str, default="_output/log.txt") parser.set_defaults() args = parser.parse_args() args.history_files = process_params(args.history_files, str) return args
def parse_args(args): parser = argparse.ArgumentParser("Plot riboflavin") parser.add_argument('--result-folder', type=str, default="riboflavin") parser.add_argument( '--spinn-file-template', type=str, default="extractor_1/prop_0.20/seed_%d/relu_0/fitted_spinn.pkl") parser.add_argument( '--nn-file-template', type=str, #default="_output/seed_%d/relu_0/layer_10,10:2,10:4/fitted_%s.csv") default="_output/seed_%d/relu_0/layer_3,10/fitted_%s.csv") parser.add_argument('--file-template', type=str, default="_output/seed_%d/fitted_%s.csv") parser.add_argument('--methods', type=str, default="lasso,trees,spinn,spam,ridge_nn") parser.add_argument('--seeds', type=str, default=make_params(range(40, 70))) parser.set_defaults() args = parser.parse_args(args) args.methods = args.methods.split(",") args.seeds = process_params(args.seeds, int) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--data-file', type=str, default="_output/data.pkl") parser.add_argument('--data-split-file', type=str, default="_output/data_split.pkl") parser.add_argument('--fitted-file', type=str, default="_output/fitted.pkl") parser.add_argument('--out-file', type=str, default="_output/recalibrated_coverages.pkl") parser.add_argument('--log-file', type=str, default="_output/recalibrated_log.txt") parser.add_argument('--alphas', type=str, help=""" Specifies which alpha values to calibrate for comma separated list """, default="0.05,0.1,0.2") parser.set_defaults() args = parser.parse_args() args.alphas = process_params(args.alphas, float) return args
def _setup_skeleton(self): self.input_shape = process_params(self.prediction_layer_sizes[0], int, split_str="~") self.num_p = self.input_shape[0] # Input layers; create placeholders in tensorflow self.x_concat_ph = tf.placeholder(tf.float32, [None] + self.input_shape, name="x") self.y_concat_ph = tf.placeholder(tf.float32, [None, self.label_size], name="y") self.is_data_ph = tf.placeholder(tf.float32, [None, 1], name="is_data") self.min_y = None
def parse_args(args): parser = argparse.ArgumentParser("Plot for the simulation convergence check") parser.add_argument( '--result-folder', type=str, default="simulation_convergence_num_obs") parser.add_argument( '--spinn-template', type=str, default="_output/seed_%d/n_train_%d/fitted_spinn.pkl") parser.add_argument( '--file-template', type=str, default="_output/seed_%d/n_train_%d/fitted_spinn.csv") parser.add_argument( '--n-trains', type=str, default=make_params([100, 200, 400, 800, 1600, 3200])) parser.add_argument( '--lasso-ratio', type=float, default=0.1) parser.add_argument( '--max-relevant-idx', type=int, default=6) parser.add_argument( '--seeds', type=str, default=make_params(range(11,31))) parser.add_argument( '--out-plot', type=str, default="_output/plot_simulation_mse.png") parser.add_argument( '--out-weight-plot', type=str, default="_output/plot_simulation_weights.png") parser.set_defaults() args = parser.parse_args(args) args.seeds = process_params(args.seeds, int) args.n_trains = process_params(args.n_trains, int) return args
def parse_args(args): parser = argparse.ArgumentParser("Plot for the main simulations") parser.add_argument('--result-folder', type=str, default="simulation_univar_additive") parser.add_argument( '--spinn-template', type=str, #default="_output/seed_%d/n_train_%d/fitted_spinn.pkl") default="_output/seed_%d/n_train_%d/fitted_spinn.pkl") parser.add_argument('--file-template', type=str, default="_output/seed_%d/n_train_%d/fitted_%s.csv") parser.add_argument( '--methods', type=str, default="spam,lasso,spinn,gam,trees,ridge_nn,oracle_nn") parser.add_argument('--max-relevant-idx', type=int, default=6) parser.add_argument( '--n-trains', type=str, #default=make_params([125, 250, 500, 1000])) default=make_params([125, 250, 500, 1000, 2000, 4000, 8000])) parser.add_argument('--seeds', type=str, default=make_params(range(2, 22))) parser.add_argument('--out-plot', type=str, default="_output/plot_simulation_mse.png") parser.add_argument('--out-weight-plot', type=str, default="_output/plot_simulation_weights.png") parser.add_argument('--show-legend', action='store_true') parser.set_defaults() args = parser.parse_args(args) args.methods = args.methods.split(",") args.seeds = process_params(args.seeds, int) args.n_trains = process_params(args.n_trains, int) return args
def parse_args(args): """ parse command line arguments """ parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--seed", type=int, help="Random number generator seed for replicability", default=12, ) parser.add_argument( "--history-files", type=str, help="comma separated pickle files" ) parser.add_argument( "--out-file", type=str, default="_output/approver_history_agg.pkl" ) parser.set_defaults() args = parser.parse_args() args.history_files = process_params(args.history_files, str) return args
def parse_args(args): parser = argparse.ArgumentParser("Plot peptide results") parser.add_argument( '--result-folder', type=str, default="peptide_binding/_output") parser.add_argument( '--hla', type=str, default="A") parser.add_argument( '--spinn-file-template', type=str, default="extractor_1/prop_0.20/seed_%d/relu_0/fitted_spinn.pkl") parser.add_argument( '--nn-file-template', type=str, default="extractor_1/prop_0.20/seed_%d/relu_0/fitted_%s.csv") #default="extractor_1/prop_0.20/seed_%d/relu_0/fitted_%s_final.csv") parser.add_argument( '--file-template', type=str, default="extractor_1/prop_0.20/seed_%d/fitted_%s.csv") parser.add_argument( '--methods', type=str, default="lasso,trees,spam,spinn,ridge_nn") parser.add_argument( '--seeds', type=str, default=make_params(range(3,23))) parser.set_defaults() args = parser.parse_args(args) args.methods = args.methods.split(",") args.seeds = process_params(args.seeds, int) return args
def parse_args(args): """ parse command line arguments """ parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--seed", type=int, help="Random number generator seed for replicability", default=0, ) parser.add_argument( "--density-parametric-form", type=str, default="bernoulli", help="The parametric form we are going to use for Y|X", choices=["gaussian", "bernoulli"], ) parser.add_argument("--proposer-eps", type=float, default=1e-4) parser.add_argument("--proposer-cv", type=int, default=3) parser.add_argument("--proposer-batches", type=str, default="1") parser.add_argument("--proposer-alphas", type=int, default=30) parser.add_argument("--proposer-offset-scale", type=float, default=0) parser.add_argument("--min-y", type=float, default=-1) parser.add_argument("--max-y", type=float, default=1) parser.add_argument("--log-file", type=str, default="_output/proposer_log.txt") parser.add_argument("--out-file", type=str, default="_output/proposer.pkl") parser.set_defaults() args = parser.parse_args() assert args.min_y < args.max_y args.proposer_batches = process_params(args.proposer_batches, int) assert np.all(np.array(args.proposer_batches) > 0) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, help='Random number generator seed for replicability', default=1) parser.add_argument('--max-iters', type=int, help="max training iters", default=20) parser.add_argument('--num-inits', type=int, help="num random initializations", default=1) parser.add_argument('--data-file', type=str, help="input data file name, needs to be a pickle file containing a Dataset obj (see data_generator.py)", default="_output/data.pkl") parser.add_argument('--data-split-file', type=str, help="data split file", default="_output/data_split.pkl") parser.add_argument('--density-weight-params', type=str, help=""" Ridge penalty of the coefficients in the neural network parameterizing the conditioanl density comma separated list of weight params (for tuning over) """, default="0.1") parser.add_argument('--weight-penalty-type', type=str, help=""" Weight type lasso or ridge """, default="ridge", choices=["ridge", "group_lasso"]) parser.add_argument('--density-layer-sizes', type=str, help=""" NN structure for density function comma-colon separated lists of +-separated lists of layer sizes (for tuning over) does not include the output layer Example: 6+2+1,6+2+2+1 """, default="4+10") parser.add_argument('--density-parametric-form', type=str, default="gaussian", help="The parametric form we are going to use for Y|X", choices=["gaussian", "bernoulli", "multinomial"]) parser.add_argument('--dropout-rate', type=str, help=""" dropout rate (0 means no dropout) comma separated list (for tuning over) """, default="0") parser.add_argument('--num-ensemble', type=int, help="num ensemble", default=1) parser.add_argument('--act-func', type=str, help="activation function in all the NNs", default="tanh", choices=["tanh", "relu"]) parser.add_argument('--learning-rate', type=float, help="learning rate for adam", default=0.002) parser.add_argument('--cv', type=int, help="num cross-validation folds", default=2) parser.add_argument('--do-distributed', action="store_true") parser.add_argument('--log-file', type=str, default="_output/log.txt") parser.add_argument('--fitted-file', type=str, default="_output/fitted.pkl") parser.add_argument('--scratch-dir', type=str, default="scratch") parser.set_defaults() args = parser.parse_args() # Parse parameters to CV over args.density_weight_params = process_params(args.density_weight_params, float) args.density_layer_sizes = [process_params(substr, str, "+") for substr in args.density_layer_sizes.split(",")] args.dropout_rate = process_params(args.dropout_rate, float) return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, help='Random number generator seed for replicability', default=1) parser.add_argument('--max-iters', type=int, help="max training iters", default=2000) parser.add_argument('--num-inits', type=int, help="num random initializations", default=1) parser.add_argument( '--support-sim-num', type=int, help="number of points to sample from the support (uniformly)", default=100) parser.add_argument( '--data-file', type=str, help= "input data file name, needs to be a pickle file containing a Dataset obj (see data_generator.py)", default="_output/data.pkl") parser.add_argument('--data-split-file', type=str, help="data split file", default="_output/data_split.pkl") parser.add_argument('--do-no-harm-params', type=str, help=""" The weight param for the do-no-harm penalty comma separated list (for tuning over) """, default="0.1") parser.add_argument('--log-barrier-params', type=str, help=""" The weight param for the log barrier penalty comma separated list(for tuning over) """, default="0.05") parser.add_argument('--interval-alpha', type=float, help="Train intervals to have coverage (1 - alpha)", default=0.1) parser.add_argument('--cost-decline', type=float, help="The cost of declining to make a prediction", default=0.1) parser.add_argument('--interval-weight-params', type=str, help=""" Ridge penalty of the coefficients in the neural network parameterizing the interval comma separated list of weight params (for tuning over) """, default="0.1") parser.add_argument('--decision-weight-params', type=str, help=""" Ridge penalty of the coefficients in the neural network parameterizing the decision function comma separated list of weight params (for tuning over) """, default="0.1") parser.add_argument('--weight-penalty-type', type=str, help=""" Weight type lasso or ridge """, default="ridge", choices=["ridge", "lasso"]) parser.add_argument('--decision-layer-sizes', type=str, help=""" NN structure for decision function comma-separated lists of +-separated lists of layer sizes (for tuning over) Example: 6+2+1,6+2+2+1 """, default=None) parser.add_argument('--interval-layer-sizes', type=str, help=""" NN structure for interval function comma-colon separated lists of +-separated lists of layer sizes (for tuning over) does not include the output layer Example: 6+2+1,6+2+2+1 """, default="4+10") parser.add_argument('--act-func', type=str, help="activation function in all the NNs", default="tanh", choices=["tanh", "relu"]) parser.add_argument('--learning-rate', type=float, help="learning rate for adam", default=0.002) parser.add_argument('--cv', type=int, help="num cross-validation folds", default=2) parser.add_argument('--log-file', type=str, default="_output/log.txt") parser.add_argument('--fitted-file', type=str, default="_output/fitted.pkl") parser.set_defaults() args = parser.parse_args() # Parse parameters to CV over args.do_no_harm_params = process_params(args.do_no_harm_params, float) args.log_barrier_params = process_params(args.log_barrier_params, float) args.interval_weight_params = process_params(args.interval_weight_params, float) args.decision_weight_params = process_params(args.decision_weight_params, float) args.interval_layer_sizes = [ process_params(substr, str, "+") for substr in args.interval_layer_sizes.split(",") ] if args.decision_layer_sizes is not None: args.decision_layer_sizes = [ process_params(substr, str, "+") for substr in args.decision_layer_sizes.split(",") ] else: args.decision_layer_sizes = [None] return args
def parse_args(args): ''' parse command line arguments ''' parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--seed', type=int, help='Random number generator seed for replicability', default=1) parser.add_argument('--max-iters', type=int, help="max training iters", default=2000) parser.add_argument('--num-ensemble', type=int, default=1) parser.add_argument('--num-inits', type=int, help="num random initializations", default=1) parser.add_argument('--support-sim-num', type=int, help="number of points to sample from the support (uniformly)", default=100) parser.add_argument('--data-file', type=str, help="input data file name, needs to be a pickle file containing a Dataset obj (see data_generator.py)", default="_output/data.pkl") parser.add_argument('--data-split-file', type=str, help="data split file", default="_output/data_split.pkl") parser.add_argument('--log-barrier-params', type=str, help=""" The weight param for the log barrier penalty comma separated list (for tuning over) """, default="0.01") parser.add_argument('--do-no-harm-params', type=str, help=""" The weight param for the do-no-harm penalty comma separated list (for tuning over) """, default="0.1") parser.add_argument('--cost-decline', type=float, help="""" The cost of declining to make a prediction. If is zero, we assume that we actually want an accept ALL model (not accept none). """, default=0.1) parser.add_argument('--density-weight-params', type=str, help=""" Ridge penalty of the coefficients in the neural network parameterizing the conditioanl density comma separated list of weight params (for tuning over) """, default="0.1") parser.add_argument('--decision-weight-params', type=str, help=""" Ridge penalty of the coefficients in the neural network parameterizing the decision function comma separated list of weight params (for tuning over) """, default="0.1") parser.add_argument('--weight-penalty-type', type=str, help=""" Weight type lasso or ridge """, default="ridge", choices=["ridge", "group_lasso"]) parser.add_argument('--density-layer-sizes', type=str, help=""" NN structure for density function comma-colon separated lists of +-separated lists of layer sizes (for tuning over) does not include the output layer Example: 6+2+1,6+2+2+1 """, default="4+10") parser.add_argument('--decision-layer-sizes', type=str, help=""" NN structure for density function comma-colon separated lists of +-separated lists of layer sizes (for tuning over) does not include the output layer Example: 6+2+1,6+2+2+1 """, default=None) parser.add_argument('--dropout-rate', type=str, help=""" dropout rate (0 means no dropout) comma separated list (for tuning over) """, default="0") parser.add_argument('--density-parametric-form', type=str, default="gaussian", help="The parametric form we are going to use for Y|X", choices=["gaussian", "bernoulli", "multinomial"]) parser.add_argument('--act-func', type=str, help="activation function in all the NNs", default="tanh", choices=["tanh", "relu"]) parser.add_argument('--learning-rate', type=float, help="learning rate for adam", default=0.002) parser.add_argument('--cv', type=int, help="num cross-validation folds", default=2) parser.add_argument('--use-train-data-support', action="store_true") parser.add_argument('--empirical-support-file', type=str, default="", help="support empirical distribution") parser.add_argument('--support-empirical-scale', type=float, default=1, help="How much to scale the gaussian perturbation around the empirical support distirbution") parser.add_argument('--log-file', type=str, default="_output/log.txt") parser.add_argument('--fitted-file', type=str, default="_output/fitted.pkl") parser.add_argument('--do-distributed', action="store_true") parser.add_argument('--scratch-dir', type=str, default="scratch") parser.set_defaults() args = parser.parse_args() # Parse parameters to CV over args.do_no_harm_params = process_params(args.do_no_harm_params, float) args.log_barrier_params = process_params(args.log_barrier_params, float) args.density_weight_params = process_params(args.density_weight_params, float) args.decision_weight_params = process_params(args.decision_weight_params, float) args.dropout_rate = process_params(args.dropout_rate, float) args.density_layer_sizes = [process_params(substr, str, "+") for substr in args.density_layer_sizes.split(",")] if args.decision_layer_sizes is not None: args.decision_layer_sizes = [process_params(substr, str, "+") for substr in args.decision_layer_sizes.split(",")] else: args.decision_layer_sizes = [None] return args