def evalOne(parameters): all_obs = [] all_pred = [] for location in locations: trainX, testX, trainY, testY = splitDataForXValidation( location, "location", data, all_features, "target") if "depth" in parameters: model = RandomForestRegressor( max_depth=parameters["depth"], random_state=42, n_estimators=parameters["n_estimators"], n_jobs=-1) elif "leaf" in parameters: model = RandomForestRegressor( min_samples_leaf=parameters["leaf"], random_state=42, n_estimators=parameters["n_estimators"], n_jobs=-1) elif "max_leaf" in parameters: model = RandomForestRegressor( max_leaf_nodes=parameters["max_leaf"], random_state=42, n_estimators=parameters["n_estimators"], n_jobs=-1) model.fit(trainX, trainY) prediction = model.predict(testX) all_obs.extend(testY) all_pred.extend(prediction) return rmseEval(all_obs, all_pred)[1]
def evalOne(parameters): all_obs = [] all_pred = [] # all_obs_train = [] # all_pred_train = [] for location in locations: trainX, testX, trainY, testY = splitDataForXValidation(location, "location", data, all_features, "target") model = KNeighborsRegressor(weights = parameters["weights"], n_neighbors = parameters["neighbors"], p = parameters["p"]) model.fit(trainX, trainY) # train_prediction = model.predict(trainX) prediction = model.predict(testX) all_obs.extend(testY) all_pred.extend(prediction) # all_obs_train.extend(trainY) # all_pred_train.extend(train_prediction) return rmseEval(all_obs, all_pred)[1]
def evalOne(parameters): all_obs = [] all_pred = [] for location in locations: trainX, testX, trainY, testY = splitDataForXValidation(location, "location", data, all_features, "target") normalizer_X = StandardScaler() trainX = normalizer_X.fit_transform(trainX) testX = normalizer_X.transform(testX) normalizer_Y = StandardScaler() trainY = normalizer_Y.fit_transform(trainY) testY = normalizer_Y.transform(testY) model = BaggingRegressor(base_estimator=SVR(kernel='rbf', C=parameters["C"], cache_size=5000), max_samples=parameters["max_samples"],n_estimators=parameters["n_estimators"], verbose=0, n_jobs=-1) model.fit(trainX, trainY) prediction = model.predict(testX) prediction = normalizer_Y.inverse_transform(prediction) testY = normalizer_Y.inverse_transform(testY) all_obs.extend(testY) all_pred.extend(prediction) return rmseEval(all_obs, all_pred)[1]
def evalOne(parameters): all_obs = [] all_pred = [] for location in locations: trainX, testX, trainY, testY = splitDataForXValidation( location, "location", data, all_features, "target") normalizer_X = StandardScaler() trainX = normalizer_X.fit_transform(trainX) testX = normalizer_X.transform(testX) normalizer_Y = StandardScaler() trainY = normalizer_Y.fit_transform(trainY) testY = normalizer_Y.transform(testY) layers = [] for _ in range(0, parameters["hidden_layers"]): layers.append( Layer(parameters["hidden_type"], units=parameters["hidden_neurons"])) layers.append(Layer("Linear")) model = Regressor(layers=layers, learning_rate=parameters["learning_rate"], n_iter=parameters["iteration"], random_state=42) X = np.array(trainX) y = np.array(trainY) model.fit(X, y) model.fit(trainX, trainY) prediction = model.predict(testX) prediction = normalizer_Y.inverse_transform(prediction) testY = normalizer_Y.inverse_transform(testY) print("location: " + str(location) + " -> " + str(rmseEval(prediction, testY)[1])) all_obs.extend(testY) all_pred.extend(prediction) return rmseEval(all_obs, all_pred)[1]
columns = [] loadData("/data/york_hour_2013.csv", ["timestamp", "atc"], data, columns) print(str(columns)) all_features = deepcopy(columns) all_features.remove("target") all_features.remove("location") # remove to decrease rmse from 10000000.0... all_features.remove('buildings_area') all_features.remove('leisure_area') all_obs = [] all_pred = [] for location in locations: print("Location: " + str(location)) trainX, testX, trainY, testY = splitDataForXValidation(location, "location", data, all_features, "target") model = linear_model.LinearRegression(True, True, True, -1) model.fit(trainX, trainY) prediction = model.predict(testX) rmse = str(rmseEval(testY, prediction)[1]) print("\tRmse:" + rmse) all_obs.extend(testY) all_pred.extend(prediction) print("Overall:") rmse = str(rmseEval(all_obs, all_pred)[1]) print("Rmse:" + rmse)