Как обучить нейронную сеть со сдвигающимся окном?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как обучить нейронную сеть со сдвигающимся окном?

Сообщение Anonymous »

У меня есть личный набор данных, который имеет сезонность и меняется со временем. Каждая сезонность определяется как цикл фильтрации.
Я начал с извлечения данных обучения и тестирования из кадра данных и масштабировал их:

Код: Выделить всё

#training data
Qp_values = my_df['Set UF Permeate Flowrate (GPM)'].values
TMP_values = my_df['UF-TMP (psi)'].values
backwash_states = my_df['Backwash (0=Off, 1=On)'].values
elapsed_time = my_df['Elapsed Time (hr)'].values

scaler = MinMaxScaler()
Qp_values = scaler.fit_transform(Qp_values.reshape(-1, 1)).flatten()
TMP_values = scaler.fit_transform(TMP_values.reshape(-1, 1)).flatten()

#testing data
Qp_values_test = my_df['Set UF Permeate Flowrate (GPM)'].values
TMP_values_test = my_df['UF-TMP (psi)'].values
backwash_states_test = my_df['Backwash (0=Off, 1=On)'].values

Qp_values_test = scaler.fit_transform(Qp_values_test.reshape(-1, 1)).flatten()
TMP_values_test = scaler.fit_transform(TMP_values_test.reshape(-1, 1)).flatten()
Затем я определил отсутствие циклов сезонности, также известных как циклы фильтрации в моих данных. Я проверил, все сделано правильно.

Код: Выделить всё

#Identify the filtration cycles from change in backwash states
def find_filtration_cycles(stats):
cycles = [] #stored list of tuples including start and end indices of filtrtion cycles
start = 0  # starting index fof a filtration cycle, set to 0 as filtration cycle starts from beginning
in_cycle = True  # boolean flag to state if filtration phase is in a cycle, True, as it is

for i in range(1, len(stats)):
if in_cycle and stats[i] == 1 and stats[i-1] == 0:
cycles.append((start, i))
in_cycle = False
elif not in_cycle and stats[i] == 0 and stats[i-1] == 1:
start = i
in_cycle = True

# Handle case where the cycle extends to the end of the list
if in_cycle:
cycles.append((start, len(stats)-1))

return cycles

filtration_cycles = find_filtration_cycles(backwash_states)
Затем я определил свою модель нейронной сети следующим образом:

Код: Выделить всё

# Inputs: Qp_values (k) and TMP(k)
# Output: TMP(k+1) where k is the data point
class TMP_Prediction_Model(nn.Module):
def __init__(self, in_features=2, h1=10, h2=8, h3=8, h4=8, out_features=1):
super().__init__()
self.fc1 = nn.Linear(in_features, h1)
self.fc2 = nn.Linear(h1, h2)
self.fc3 = nn.Linear(h2, h3)
self.fc4 = nn.Linear(h3, h4)
self.out = nn.Linear(h4, out_features)

def forward(self, x):
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = F.relu(self.fc3(x))
x = F.relu(self.fc4(x))
x = self.out(x)
return x

torch.manual_seed(41)

# Instantiate the model, optimizer, and loss function
model = TMP_Prediction_Model()
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
Теперь, как мне обучить свою нейронную сеть на циклах фильтрации от 0 до 8 и протестировать следующие циклы фильтрации от 9 до 17? А затем повторите этот шаг еще раз, где я сдвигаю окно поезда и тестирования на 1?

Подробнее здесь: https://stackoverflow.com/questions/789 ... ing-window
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как правильно нормализовать спутниковые изображения для подачи в нейронную сеть?
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • C++ Как создать нейронную сеть с игровым обучением? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Построить нейронную сеть из csv [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Попытка создать простую нейронную сеть и получить ошибку ValueError. Формы не выровнены.
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как создать нейронную сеть для регрессии?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»