আমি কেরাস কীভাবে ব্যবহার করব তা শিখছি এবং পাইলেটের জন্য চোল্টের ডিপ লার্নিংয়ের উদাহরণ ব্যবহার করে আমার লেবেলযুক্ত ডেটাসেটের সাথে যুক্তিসঙ্গত সাফল্য পেয়েছি । ডেটা সেটটি 3 সম্ভাব্য ক্লাস সহ 3125 দৈর্ঘ্যের সহ 1000 ডলার টাইম সিরিজ।
আমি বেসিক ঘন স্তরগুলি ছাড়িয়ে যেতে চাই যা আমাকে প্রায় 70% পূর্বাভাসের হার দেয় এবং বইটি এলএসটিএম এবং আরএনএন স্তরগুলি নিয়ে আলোচনা করে।
সমস্ত উদাহরণগুলি প্রতিটি টাইমসারিগুলির জন্য একাধিক বৈশিষ্ট্যযুক্ত ডেটাসেটগুলি ব্যবহার করে বলে মনে হচ্ছে এবং ফলস্বরূপ কীভাবে আমার ডেটা প্রয়োগ করতে হবে তা নিয়ে কাজ করার জন্য আমি সংগ্রাম করছি।
উদাহরণস্বরূপ, আমার কাছে 1000x3125 টাইম সিরিজ রয়েছে, আমি কীভাবে এটিকে সরলআরএনএন বা এলএসটিএম স্তর মতো ফিড করব? এই স্তরগুলি কী করে সে সম্পর্কে আমি কিছু মৌলিক জ্ঞান অনুভব করছি?
বর্তমান কোড:
import pandas as pd
import numpy as np
import os
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM, Dropout, SimpleRNN, Embedding, Reshape
from keras.utils import to_categorical
from keras import regularizers
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
def readData():
# Get labels from the labels.txt file
labels = pd.read_csv('labels.txt', header = None)
labels = labels.values
labels = labels-1
print('One Hot Encoding Data...')
labels = to_categorical(labels)
data = pd.read_csv('ts.txt', header = None)
return data, labels
print('Reading data...')
data, labels = readData()
print('Splitting Data')
data_train, data_test, labels_train, labels_test = train_test_split(data, labels)
print('Building Model...')
#Create model
model = Sequential()
## LSTM / RNN goes here ##
model.add(Dense(3, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print('Training NN...')
history = model.fit(data_train, labels_train, epochs=1000, batch_size=50,
validation_split=0.25,verbose=2)
results = model.evaluate(data_test, labels_test)
predictions = model.predict(data_test)
print(predictions[0].shape)
print(np.sum(predictions[0]))
print(np.argmax(predictions[0]))
print(results)
acc = history.history['acc']
val_acc = history.history['val_acc']
epochs = range(1, len(acc) + 1)
plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and Validation Accuracy')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()