Keras CNN模型输入数据最后一维指定方法 - 深度学习代码示例
import pandas as pd import numpy as np from keras.models import Sequential from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense
读取数据
data = pd.read_excel('E:\pythonProject5\深度学习\新建 XLS 工作表.xls')
将数据转化为二维数组
data = np.array(data)
定义CNN模型
model = Sequential() model.add(Conv1D(filters=32, kernel_size=3, activation='relu', input_shape=(None, 1))) model.add(MaxPooling1D(pool_size=2)) model.add(Conv1D(filters=64, kernel_size=3, activation='relu')) model.add(MaxPooling1D(pool_size=2)) model.add(Flatten()) model.add(Dense(100, activation='relu')) model.add(Dense(1, activation='linear'))
编译模型
model.compile(loss='mean_squared_error', optimizer='adam')
将数据转化为适合CNN输入的形式
X = data[:, :-1] # 取数据的前n-1列作为输入 X = X.reshape(X.shape[0], X.shape[1], 1) # 将输入数据的最后一维设为1 y = data[:, -1]
训练模型
model.fit(X, y, epochs=10, batch_size=32)
提取特征
feature_map = model.predict(X)
原文地址: https://www.cveoy.top/t/topic/oYL3 著作权归作者所有。请勿转载和采集!