Здесь не много мудрости ... Но у меня есть скрипт, который скомпилирует и протестирует алгоритм два раза с for i in range
l oop, чтобы увидеть, есть ли какие-либо изменения в root среднеквадратичной ошибке.
Можно ли изменить код, в котором l oop будет работать для проверки двух разных наборов данных? IE, df
сначала запускает компиляцию rmse, а затем df2
может запускать компиляцию rmse, а затем я могу сравнивать / печатать rmse между двумя .. Оба набора данных будут иметь тот же ['Demand']
, что и переменная ответа.
#Test random Forest
import numpy as np
from sklearn import preprocessing, neighbors
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.externals import joblib
import math
rmses = []
for i in range(2):
X = np.array(df2.drop(['Demand'],1))
y = np.array(df2['Demand'])
offset = int(X.shape[0] * 0.7)
X_train, y_train = X[:offset], y[:offset]
X_test, y_test = X[offset:], y[offset:]
clf = RandomForestRegressor(n_estimators=60, min_samples_split=6)
clf.fit(X_train, y_train)
mse = mean_squared_error(y_test, clf.predict(X_test))
rmse = math.sqrt(mse)
print("rmse: %.4f" % rmse)
rmses.append(rmse)
print(sum(rmses)/len(rmses))