我有30个不同时间序列的数据帧,这些数据帧具有相同的特征大小(6),但不同的时间序列长度(> 500000)。每个数据帧都有一个必须预测的ID。这应该是一个回归问题。即使我没有ID 5的时间序列(总共1500个ID),网络也应该输出接近真实ID的ID。
我希望神经网络学习一个ID的时间序列,然后继续下一个ID。 为了进行预测,我想输入一个较小的时间,神经网络应该输出一个ID。
seed = 11
np.random.seed(seed)
import_new_Data = True
if import_new_Data:
csv_files = glob.glob('/home/lta-user/PycharmProjects/regression/Testdaten_2/*.csv')
list_data = []
label_list = []
sum = 0
##import the datasets and concat them to one dataset
for path in csv_files:
dta = dta.read_sets(path)
list_data.append(dta)
df = pd.concat(list_data, ignore_index=True) # concat the data to one DataFrame
labels = df.pop(df.columns[len(df.columns)-1])
labels = labels.values
df = df.values
#the data is normalized in a range from 0 to 1
scaler = MinMaxScaler(feature_range=(-1, 1))
df = scaler.fit_transform(df)
df = df.reshape(1,df.shape[0],df.shape[1])
normed_train_data, normed_test_data, train_labels, test_labels = model_selection.train_test_split(df, labels,
train_size=0.75, test_size=0.25, random_state=seed)
#----------------------------------------------------------------------------------------------------------------------
#building the model
#----------------------------------------------------------------------------------------------------------------------
def build_model():
model = keras.Sequential([
#Creating a fully connected layer
#1. Hidden-Layer: Fully connected with ReLu as activation function
layers.LSTM(12, activation='relu', input_shape = (?,?,?),return_sequences=True),
#Output-Layer: Fully connected with an linear activation function
layers.Dense(1, kernel_initializer='normal', activation='linear')
])
#Choosing the Adam-Optimizer with an learning rate of 0.001
optimizer = tf.keras.optimizers.Adam(0.001)
model.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['mean_absolute_error', 'mean_squared_error'])
return model
#create network
model = build_model()
model.summary() #prints a description of the model
##----------------------------------------------------------------------------------------------------------------------