Spaces:
Running
Running
Commit
·
d425aca
1
Parent(s):
9c22744
bug442
Browse files
app.py
CHANGED
|
@@ -90,11 +90,11 @@ class StockPredictor:
|
|
| 90 |
scaled_data = self.scaler.fit_transform(df[selected_features])
|
| 91 |
|
| 92 |
X, y = [], []
|
| 93 |
-
for i in range(len(scaled_data) -
|
| 94 |
-
X.append(scaled_data[i])
|
| 95 |
-
y.append(scaled_data[i+
|
| 96 |
|
| 97 |
-
return np.array(X)
|
| 98 |
|
| 99 |
def build_model(self, input_shape):
|
| 100 |
model = Sequential([
|
|
@@ -109,7 +109,7 @@ class StockPredictor:
|
|
| 109 |
|
| 110 |
def train(self, df, selected_features):
|
| 111 |
X, y = self.prepare_data(df, selected_features)
|
| 112 |
-
self.model = self.build_model((1, X.shape[2]))
|
| 113 |
history = self.model.fit(
|
| 114 |
X, y,
|
| 115 |
epochs=50,
|
|
@@ -124,10 +124,10 @@ class StockPredictor:
|
|
| 124 |
current_data = last_data.copy()
|
| 125 |
|
| 126 |
for _ in range(n_days):
|
| 127 |
-
next_day = self.model.predict(current_data.reshape(1,
|
| 128 |
predictions.append(next_day[0])
|
| 129 |
|
| 130 |
-
current_data = next_day
|
| 131 |
|
| 132 |
return np.array(predictions)
|
| 133 |
|
|
@@ -218,8 +218,8 @@ def predict_stock(category, stock, stock_item, period, selected_features):
|
|
| 218 |
predictor = StockPredictor()
|
| 219 |
predictor.train(df, selected_features)
|
| 220 |
|
| 221 |
-
last_data = predictor.scaler.transform(df.iloc[-
|
| 222 |
-
predictions = predictor.predict(last_data
|
| 223 |
|
| 224 |
# 創建日期索引
|
| 225 |
dates = [datetime.now() + timedelta(days=i) for i in range(6)]
|
|
|
|
| 90 |
scaled_data = self.scaler.fit_transform(df[selected_features])
|
| 91 |
|
| 92 |
X, y = [], []
|
| 93 |
+
for i in range(len(scaled_data) - 5):
|
| 94 |
+
X.append(scaled_data[i:i+5])
|
| 95 |
+
y.append(scaled_data[i+5])
|
| 96 |
|
| 97 |
+
return np.array(X), np.array(y)
|
| 98 |
|
| 99 |
def build_model(self, input_shape):
|
| 100 |
model = Sequential([
|
|
|
|
| 109 |
|
| 110 |
def train(self, df, selected_features):
|
| 111 |
X, y = self.prepare_data(df, selected_features)
|
| 112 |
+
self.model = self.build_model((X.shape[1], X.shape[2]))
|
| 113 |
history = self.model.fit(
|
| 114 |
X, y,
|
| 115 |
epochs=50,
|
|
|
|
| 124 |
current_data = last_data.copy()
|
| 125 |
|
| 126 |
for _ in range(n_days):
|
| 127 |
+
next_day = self.model.predict(current_data.reshape(1, current_data.shape[0], current_data.shape[1]), verbose=0)
|
| 128 |
predictions.append(next_day[0])
|
| 129 |
|
| 130 |
+
current_data = np.vstack([current_data[1:], next_day])
|
| 131 |
|
| 132 |
return np.array(predictions)
|
| 133 |
|
|
|
|
| 218 |
predictor = StockPredictor()
|
| 219 |
predictor.train(df, selected_features)
|
| 220 |
|
| 221 |
+
last_data = predictor.scaler.transform(df[selected_features].iloc[-5:])
|
| 222 |
+
predictions = predictor.predict(last_data, 5)
|
| 223 |
|
| 224 |
# 創建日期索引
|
| 225 |
dates = [datetime.now() + timedelta(days=i) for i in range(6)]
|