python - 如何使用 Keras(基本)在深度学习中对输入层进行编码
问题描述
好的,所以我对深度学习还很陌生,并且有一个非常基本的疑问。我有一个输入数据,其数组包含 epochs_data 中的 255 个数据(Araay 形状(255,))以及它们在 new_labels 中的相应标签(数组形状(255,))。
我使用以下代码拆分数据:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(epochs_data, new_labels, test_size = 0.2, random_state=30)
我正在使用顺序模型:
from keras.models import Sequential
from keras import layers
from keras.layers import Dense, Activation, Flatten
model = Sequential()
我知道如何为隐藏层和输出层编码:
model.add(Dense(500, activation='relu')) #Hidden Layer
model.add(Dense(2, activation='softmax')) #Output Layer
但我不知道如何使用指定的 input_shape 对输入层进行编码。X_train 是输入。它是一个形状为 (180,) 的数组。还告诉我如何为 model.fit() 编写相同的代码。任何帮助表示赞赏。
解决方案
您必须在隐藏层之前复制这条线。您可以添加所需的激活函数。最后,正如你所看到的,这条线代表输入层和 1° 隐藏层(你必须选择神经元的 n°(我放 100))
model.add(Dense(100, input_shape = (X_train.shape[1],))
编辑:在拟合模型之前,您必须使用以下行配置模型:
model.compile(loss = 'mse', optimizer = 'Adam', metrics = ['mse'])
因此,您必须选择一个指标,在这种情况下是均方误差和像 Adam、Adamax 等这样的优化器。
然后您可以选择数据 (X,Y)、n° epochs、val_split 和批量大小来拟合您的模型。
history = model.fit(X_train, y_train, epochs = 200,
validation_split = 0.1, batch_size=250)
推荐阅读
- python - 基于熊猫数据框中指定列的分组
- javascript - 在javascript中发送多个数据
- spring - 方法签名无法解析 Java 中的 kotlin
- reactjs - 图像在反应应用程序中旋转
- arrays - 使用一组记录优化工作
- c++ - 反转带有返回值的字符串的问题?
- java - 在 StompHeaderAccessor 上访问本机标头
- java - Spring Boot 控制器中的 REST 路径链
- flutter - 为 Cupertino Picker 设置宽度和高度
- spring-boot - 如何修复类型不匹配:@ExtendWith(SpringExtension::class) KClass -> intelij 中的类?