X_angle,_,_ = enel_transf.compute_angle_matrix(X) output_dict = dict.fromkeys(np.arange(0,49),np.array([[]], dtype = "int64")) k_levels = np.arange(0,12).reshape([12,1]) for key in np.arange(0,49): current_values = np.arange(key*12,key*12+12).reshape([12,1]) output_dict[key] = np.concatenate((current_values,k_levels), axis = 1) X_speed,_,_ = EnelWindSpeedTransformation().transform(X) print("wind speed computed") enel_transf = Enel_directionPowerCurveTransformation() X_transf, dict_sample_turb = enel_transf.transform(X_angle, angles_coord_turb, X_speed, power_curve, Coord, Coord_turb, threshold_dir=threshold_dir) print("single transformation done") X_transf, output_dict = enel_transf.transformPerTurbine(dict_sample_turb, enel_dict, X, power_curve, X_transf,output_dict) print("transformation per turbine done") XTrain_transf = X_transf[:XTrain.shape[0],:] XTest_transf = X_transf[XTrain.shape[0]:,:] ##center data XTrain_noCenter, XVal_noCenter, YTrain_noCenter, YVal_noCenter = train_test_split(XTrain_transf, YTrain, test_size=0.33,random_state=0) XTrain_, YTrain_, X_mean, y_mean, X_std = center_data(XTrain_noCenter, YTrain_noCenter, fit_intercept=True, normalize = True) XVal_, YVal_ = center_test(XVal_noCenter,YVal_noCenter,X_mean,y_mean,X_std) values_TM = [] new_loss, _ = compute_lasso(XTrain_, YTrain_, XVal_, YVal_,score = "mean_squared_error", values_TM = np.array([[24,281], [24,214]])) print("loss", new_loss) n_features_transf = XTrain_.shape[1]
if compute_single: XTrain_transf = X_transf[:XTrain.shape[0],:] XTest_transf = X_transf[XTrain.shape[0]:,:] print("loss 1 turibina solo sul validation") XTrain_, XVal_, YTrain_, YVal_ = train_test_split(XTrain_transf, YTrain, test_size=0.33,random_state=0) Linear_fit().fitting(XTrain_, YTrain_, XVal_,YVal_, []) print("loss 1 turbina solo sul test") Linear_fit().fitting(XTrain_transf, YTrain, XTest_transf,YTest,values_TM) print("-------------") if compute_not_levels: X_transf_1,_ = enel_transf.transformPerTurbine(matrix_turbs, enel_dict, X, power_curve, np.array([[]]),output_dict) print("transformation per turbine done") if compute_single_mean: XTrain_transf = X_transf_1[:XTrain.shape[0],:] XTest_transf = X_transf_1[XTrain.shape[0]:,:] print("loss mean turbina solo sul validation") XTrain_, XVal_, YTrain_, YVal_ = train_test_split(XTrain_transf, YTrain, test_size=0.33,random_state=0) Linear_fit().fitting(XTrain_, YTrain_, XVal_,YVal_, []) print("loss mean turbina solo sul test") Linear_fit().fitting(XTrain_transf, YTrain, XTest_transf,YTest,values_TM) X_transf_no_levels = np.concatenate((X_transf,X_transf_1), axis = 1)