【问题标题】:Label Reshaping for CNNCNN 的标签重塑
【发布时间】:2018-05-08 22:26:25
【问题描述】:

我在重塑数据以适应卷积神经网络时遇到问题。我尝试了很多解决方案,但仍然无法做到这一点。数据集包含 800 行和 271 列(最后一列包含类标签)。共有9个班。以下是我的代码:

 dataset = pd.read_csv('train.csv')

 X = dataset.iloc[:, 0:270].values
 y = dataset.iloc[:, 270].values

 print("X Shape: "+str(X.shape))  ---> (804, 270)

 *** Reshaping Variables here

 X_train, X_test, y_train, y_test = train_test_split(X_reshaped, Y_reshaped, test_size = 0.20)

 model = Sequential()
 model.add(Convolution1D(64, kernel_size=(10), input_shape=(X_train.shape[1],X_train.shape[2])))
 model.add(Activation('relu'))
 model.add(MaxPooling1D(3))
 model.add(Flatten())
 model.add(Dense(100))
 model.add(Dropout(0.5))
 model.add(Dense(9))
 model.add(Activation('softmax'))
 model.compile(loss='sparse_categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
 model.fit(X_train,y_train,validation_data=(X_test,y_test))
 print(str(model.evaluate(x_test,y_test)))

有没有办法成功地重塑用于训练模型的变量?谢谢!

【问题讨论】:

    标签: python-3.x numpy keras convolutional-neural-network


    【解决方案1】:

    Convolution1D 需要表单的输入

    (samples, steps, input_dim)
    

    现在你正在路过

    (samples,input_dim)
    

    您需要根据您在 800 行中安排时间步长的方式来重塑数据。

    例如,如果 800 行是 10 个时间步长的 80 个样本,例如第一个样本的 10 个时间步长,然后是另一个样本的 10 个......
    那么你需要重塑为 (80,10,270)

    【讨论】:

      【解决方案2】:

      Convolutional1D 用于处理时间数据,您似乎没有。您需要将数据拆分为样本数和时间步数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-14
        • 1970-01-01
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        相关资源
        最近更新 更多