简体   繁体   中英

Keras-conv1d for Time series for imbalanced time series Classification

Input shape is

X_train.shape
Out[29]: (90000, 9)

Here is my model:

def cnn_1d(window_size,nb_input_series):
    model = Sequential()
    model.add(Conv1D(32, 9, activation='relu', input_shape=(window_size, nb_input_series)))
    model.add(Conv1D(32, 9, activation='relu'))
    model.add(MaxPooling1D(2))
    model.add(Dropout(0.25))
    model.add(Conv1D(64, 9, activation='relu'))
    model.add(Conv1D(64, 9, activation='relu'))
    model.add(MaxPooling1D(pool_size=2))
    model.add(Dropout(0.25))

    model.add(Flatten())
    model.add(Dense(50, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(1, activation='sigmoid'))



model=cnn_1d(1,X_train.shape[1])

but error raises

ValueError: Negative dimension size caused by subtracting 9 from 1 for 'conv1d_11/convolution/Conv2D' (op: 'Conv2D') with input shapes: [?,1,1,9], [1,9,9,32].

Help need for :

  1. Should I use Embedding?

  2. Need any reshape?

Thanks in Advance...

Conv1D layer accepts 3D input. Your X_train should be reshaped into

(no_samples, steps, input_dim)

您将不得不重塑数据

(no_of_samples/timesteps,timesteps,input_dim)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM