CNN一维回归python
时间: 2023-07-08 22:34:45 浏览: 107
下面是一个简单的一维CNN回归的 Python 代码示例:
```python
import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv1D, MaxPooling1D, Flatten
# 生成数据
x = np.linspace(-1, 1, 100)
y = 2 * x + np.random.randn(*x.shape) * 0.4
# 构建模型
model = Sequential()
model.add(Conv1D(filters=32, kernel_size=3, activation='relu', input_shape=(100, 1)))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(1, activation='linear'))
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
x = x.reshape(-1, 100, 1)
model.fit(x, y, epochs=50, verbose=1)
# 预测模型
x_test = np.linspace(-1, 1, 10)
x_test = x_test.reshape(-1, 10, 1)
y_predict = model.predict(x_test)
print(y_predict)
```
在这个例子中,我们使用 `numpy` 生成了一些带噪声的一维回归数据。然后我们构建了一个简单的一维CNN模型,它包含了一个卷积层、一个池化层和一个全连接层。我们使用均方误差作为损失函数,使用Adam优化器进行模型训练。最后,我们使用训练好的模型对一些测试数据进行预测。
阅读全文