簡體   English   中英

如果我嘗試擬合來自pandas數據框的數據,如何將input_shape賦予卷積神經網絡?

[英]How to give input_shape to Convolutional Neural Network if I am trying to fit the data from pandas dataframe?

我有一個733999個樣本和5個功能的Pandas數據X_train X_train。

model = Squential()    
model.add(Conv2D(filters = 32, kernel_size = (5,5),padding = 'Same', 
             activation ='relu', input_shape = (?,?)))

這是我遇到麻煩的第一層。 所有教程都使用了圖像,它們只是將高度,寬度和通道作為input_shape的參數傳遞。 在熊貓數據框的情況下,我很難給出輸入形狀。 任何幫助都非常感謝。

這是有關如何對數據使用CNN的示例

對於您擁有的數據,我仍然不建議使用這種類型的網絡

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Reshape
import pandas as pd
import numpy as np

## Dummy data
data = {'0': [1, 2, 3], '1': [3, 4, 3], '2':[0,1, 3], '3':[0,1,3], '4':[0,1,3], '5':[0,1,3]}
X_train = pd.DataFrame(data=data)

model = Sequential()
model.add(Reshape((1,X_train.shape[1],1)))
model.add(Conv2D(filters = 32, kernel_size = (1,5),padding = 'Same',
             activation ='relu', input_shape = (1,X_train.shape[1],1)))

model.add(MaxPooling2D(pool_size = (1,6), strides=(1,2)))

model.add(Flatten())

model.add(Dense (500, activation='relu'))
model.add(Dense (1, activation='relu'))
model.compile(loss='binary_crossentropy', optimizer='adam',
              metrics=['accuracy'])

## Training and testing with dummy data just to prove that it's working
model.fit(np.array(X_train), np.array([0,1,1]), nb_epoch=4, validation_data=(np.array(X_train), np.array([0,1,1])))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM