1维cnn多变量输入数据构造 python代码
时间: 2023-10-07 20:10:23 浏览: 37
以下是一个基本的1维CNN多变量输入数据构造的Python代码示例:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense
# 构造多变量输入数据
# 每个样本有3个特征,总共有10个样本
data = np.random.random((10, 3))
# 构造标签数据
labels = np.random.randint(2, size=(10, 1))
# 构建一个1维CNN模型
model = Sequential()
model.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(3, 1)))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(10, activation='sigmoid'))
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 调整输入数据的形状以适应模型
data = np.reshape(data, (10, 3, 1))
# 训练模型
model.fit(data, labels, epochs=10, batch_size=1)
```
在这个示例中,我们使用NumPy库构造了一个10个样本,每个样本有3个特征的数据集。我们还构造了一个10x1的标签数据集,其中每个标签都是0或1。然后,我们使用Keras库构建了一个1维CNN模型,该模型包含一个卷积层、一个最大池化层、一个扁平化层和一个密集层。最后,我们使用模型的`fit()`方法训练模型,并传递我们构造的数据和标签集。