Commit 3ccd4ee2 authored by 吕先亚's avatar 吕先亚

ai 通用性改动

parent afe45bce
...@@ -151,7 +151,7 @@ if __name__ == '__main__': ...@@ -151,7 +151,7 @@ if __name__ == '__main__':
if len(LABEL_RANGE) > 2: if len(LABEL_RANGE) > 2:
from ai.reporter import do_reporter2 from ai.reporter import do_reporter2
do_reporter2() do_reporter2(excel_name="Forcast_Report_32_old.xlsx")
else: else:
from ai.reporter import do_reporter from ai.reporter import do_reporter
......
...@@ -44,7 +44,7 @@ class ModelTrainer(ABC): ...@@ -44,7 +44,7 @@ class ModelTrainer(ABC):
for predict, date in zip(y_pred, date_index): for predict, date in zip(y_pred, date_index):
datas.append( datas.append(
{'predict': predict, 'date': date, 'rbd_id': self._pid, 'create_time': datetime.now()}) {'predict': predict, 'date': date, 'rbd_id': self._pid, 'create_time': datetime.now()})
reporter.do_reporter2(records=datas, excel_name='Backtest_Report_chu.xlsx') reporter.do_reporter2(records=datas, excel_name='Backtest_Report_32_old.xlsx')
# cm_display = ConfusionMatrixDisplay(confusion_matrix=result0, display_labels=labels) # cm_display = ConfusionMatrixDisplay(confusion_matrix=result0, display_labels=labels)
# cm_display.plot() # cm_display.plot()
......
...@@ -185,23 +185,22 @@ class TrainingDataBuilder(ABC): ...@@ -185,23 +185,22 @@ class TrainingDataBuilder(ABC):
# scale data # scale data
labels = list(LABEL_RANGE.keys()) labels = list(LABEL_RANGE.keys())
scaler = MinMaxScaler(feature_range=(labels[-1], labels[0])) scaler = MinMaxScaler(feature_range=(labels[-1], labels[0]))
# scaledX = scaler.fit_transform(X)
DataScaler = scaler.fit(X) DataScaler = scaler.fit(X)
scaledX = DataScaler.transform(X) scaledX = DataScaler.transform(X)
scaledX_forecast = None scaledX_forecast = None
if (self._toForecast): if self._toForecast:
scaledX_forecast = DataScaler.transform(X_forecast) scaledX_forecast = DataScaler.transform(X_forecast)
X_train = scaledX X_train = scaledX
y_train = y y_train = y
X_test = [] X_test = []
y_test = [] y_test = []
date_index = []
else: else:
# Step 2: Split data into train set and test set # Step 2: Split data into train set and test set
X_train, X_test, y_train, y_test = train_test_split(scaledX, y, test_size=0.02, shuffle=False) X_train, X_test, y_train, y_test = train_test_split(scaledX, y, test_size=0.02, shuffle=False)
date_index = DataAll['date'][-len(X_test):-self._numForecastDays].to_numpy()
# To avoid data leak, test set should start from numForecastDays later # To avoid data leak, test set should start from numForecastDays later
X_test = X_test[self._numForecastDays:] X_test = X_test[:-self._numForecastDays]
y_test = y_test[self._numForecastDays:] y_test = y_test[:-self._numForecastDays]
return X_train, X_test, y_train, y_test, scaledX_forecast, forecastDay return X_train, X_test, y_train, y_test, scaledX_forecast, forecastDay, date_index
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment