file_name_dict = sys.argv[2] ext = ".npz" file = "ENEL_2014/"+file_name+ext file_dict = "ENEL_2014/"+file_name_dict+ext results_dict = Result(file_dict, "lasso") results = Result(file, "lasso") #dict_ = results.extract_dict() dict_ = results_dict.extract_dict() XTrain, YTrain, XVal, YVal = results.extract_train_val() new_loss, beta = compute_lasso(XTrain, YTrain, XVal, YVal,score = "mean_squared_error") print("loss lineare", new_loss) score = "mean_squared_error" if score=="r2_score": score_f = r2_score scoring = "r2" else: score_f = mean_squared_error scoring = "mean_squared_error" verbose = True ###compute ranking
keys_sel = ordered_final_weights[:iter] indexes = np.array([], dtype = "int64") for key in keys_sel: indexes = np.union1d(indexes,dict_.get(key)) indexes = np.array(indexes).astype("int64") weights = assign_weights(weights_data.copy()) weights = weights[indexes] XTrain_current, XTest_current = get_current_data(XTrain, XTest,indexes) ###compute LASSO if compute_lasso_current: new_loss, beta = compute_lasso(XTrain_current, YTrain, XTest_current, YTest, score=score) beta = np.abs(beta[:, 0]) beta_indexes,beta_ordered = get_beta_div_zeros(beta) print("loss insieme ridotto", new_loss) print(indexes[beta_indexes]) model = Shooting(weights) lasso = LASSOEstimator(model) loss, beta = compute_weightedLASSO(lasso,XTrain_current,YTrain, XTest_current, YTest,scoring, score_f, verbose) beta = np.abs(beta) beta_indexes,beta_ordered = get_beta_div_zeros(beta) print(indexes[beta_indexes])
keys_ = np.array(list(dict_.keys())).astype("int64") ordered_final_weights = np.argsort(weights_data)[::-1] values = list(dict_.values()) weights_level = extract_level(ordered_final_weights, values) if verbose: print("-------------") print("ranking of the featues:", weights_level) print("-------------") ordered_indexes = np.argsort(weights_data)[::-1] losses = [] new_loss, _ = compute_lasso(XTrain, YTrain, XVal, YVal, score) print("new_loss", new_loss) losses = [] indexes_tot = [] n_features = XTrain.shape[1] for i in range(n_features): ###compute LASSO indexes = ordered_final_weights[:i+1].astype("int64") indexes_tot.append(indexes) XTrain_current, XTest_current = get_current_data(XTrain, XVal, indexes) print("----------------------------")