Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №1655593
А
Аноним
28 сентября 2024 13:50 · публичный вопрос
А
Аноним

Напиши на питоне нейронку по по счету свеч

Нейросеть28 сентября 2024 13:50

Создание нейронной сети для предсказания цен на основе свечных графиков — интересная задача! Давайте создадим простую нейронную сеть с использованием библиотеки TensorFlow и Keras. Эта сеть будет предназначена для обработки исторических данных и предсказания следующей цены на основе свечных данных.

Вот пример кода, который показывает, как создать простую модель:

import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, Dropout

# Загрузка данных (например, из CSV-файла)
data = pd.read_csv('candlestick_data.csv')  # Замените на путь к вашим данным

# Предположим, что у вас есть колонки: 'Open', 'High', 'Low', 'Close'
data = data[['Open', 'High', 'Low', 'Close']].values

# Нормализация данных
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_data = scaler.fit_transform(data)

# Подготовка данных для LSTM
def create_dataset(data, time_step=1):
    X, Y = [], []
    for i in range(len(data) - time_step - 1):
        X.append(data[i:(i + time_step), :])
        Y.append(data[i + time_step, 3])  # 'Close' является последним элементом в данных
    return np.array(X), np.array(Y)

time_step = 60  # Используем 60 предыдущих свечей для предсказания следующей
X, y = create_dataset(scaled_data, time_step)

# Разделение на обучающую и тестовую выборки
train_size = int(len(X) * 0.8)
X_train, X_test = X[:train_size], X[train_size:]
y_train, y_test = y[:train_size], y[train_size:]

# Создание модели
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(Dropout(0.2))
model.add(LSTM(50, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(1))  # Предсказание одной цены

# Компиляция модели
model.compile(optimizer='adam', loss='mean_squared_error')

# Обучение модели
model.fit(X_train, y_train, epochs=50, batch_size=32)

# Предсказания
predictions = model.predict(X_test)
predictions = scaler.inverse_transform(np.concatenate((X_test[:, -1, :-1], predictions), axis=1))[:, -1]

# Теперь predictions содержит предсказанные цены закрытия
print(predictions)

В этом коде мы загружаем данные свечных графиков, нормализуем их, подготавливаем для входа в модель LSTM, создаем саму модель и обучаем ее. Обратите внимание, что для использования этого кода вам нужно будет установить библиотеки numpy, pandas, scikit-learn и tensorflow.

Если у вас есть вопросы по конкретным частям кода или вам нужно больше информации о работе с нейронными сетями, не стесняйтесь спрашивать!

напиши на питоне нейронку по по счету свеч
Создание нейронной сети для предсказания цен на основе свечных графиков — интересная задача! Давайте создадим простую нейронную сеть с использованием библиотеки TensorFlow и Keras. Эта сеть будет предназначена для обработки исторических данных и предсказания следующей цены на основе свечных данных. Вот пример кода, который показывает, как создать простую модель: ```python import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense, Dropout # Загрузка данных (например, из CSV-файла) data = pd.read_csv('candlestick_data.csv') # Замените на путь к вашим данным # Предположим, что у вас есть колонки: 'Open', 'High', 'Low', 'Close' data = data[['Open', 'High', 'Low', 'Close']].values # Нормализация данных scaler = MinMaxScaler(feature_range=(0, 1)) scaled_data = scaler.fit_transform(data) # Подготовка данных для LSTM def create_dataset(data, time_step=1): X, Y = [], [] for i in range(len(data) - time_step - 1): X.append(data[i:(i + time_step), :]) Y.append(data[i + time_step, 3]) # 'Close' является последним элементом в данных return np.array(X), np.array(Y) time_step = 60 # Используем 60 предыдущих свечей для предсказания следующей X, y = create_dataset(scaled_data, time_step) # Разделение на обучающую и тестовую выборки train_size = int(len(X) * 0.8) X_train, X_test = X[:train_size], X[train_size:] y_train, y_test = y[:train_size], y[train_size:] # Создание модели model = Sequential() model.add(LSTM(50, return_sequences=True, input_shape=(X_train.shape[1], X_train.shape[2]))) model.add(Dropout(0.2)) model.add(LSTM(50, return_sequences=False)) model.add(Dropout(0.2)) model.add(Dense(1)) # Предсказание одной цены # Компиляция модели model.compile(optimizer='adam', loss='mean_squared_error') # Обучение модели model.fit(X_train, y_train, epochs=50, batch_size=32) # Предсказания predictions = model.predict(X_test) predictions = scaler.inverse_transform(np.concatenate((X_test[:, -1, :-1], predictions), axis=1))[:, -1] # Теперь predictions содержит предсказанные цены закрытия print(predictions) ``` В этом коде мы загружаем данные свечных графиков, нормализуем их, подготавливаем для входа в модель LSTM, создаем саму модель и обучаем ее. Обратите внимание, что для использования этого кода вам нужно будет установить библиотеки `numpy`, `pandas`, `scikit-learn` и `tensorflow`. Если у вас есть вопросы по конкретным частям кода или вам нужно больше информации о работе с нейронными сетями, не стесняйтесь спрашивать!