python - 如果我试图拟合来自 pandas 数据帧的数据,如何将 input_shape 赋予卷积神经网络?
问题描述
我有一个X_train
带有 733999 个样本和 5 个特征的 pandas 数据框。
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])))
推荐阅读
- html - 如何调整 bootstrap-vue 表的高度并使其可使用固定标题滚动
- python - Pandas 数据框应用速度问题 - 还有其他方法吗?
- debugging - 是否有任何代码可以使用任何 UWP 操作本地存储
- neo4j - 相关节点上的 Cypher 查询过滤器
- android - 如何使用 android 中的互联网连接检查手机检查服务器连接是否可用?
- c# - 使用 SQL Server Management Studio 时如何在 web.config 中添加连接字符串?
- xamarin.forms - 消息中心未从 xamarin ios 任务调用
- c++ - 如何在 QByteArray 中找到两个无符号字符
- python - 如何在 aws-glue 中使用 python 包
- rest - 为什么编码的“斜线”在restful api中不能按预期工作?