我制作了一个 Keras LSTM 模型,它读取二进制目标值并应该输出二进制预测。但是,预测不是二进制的。我的 X 和 Y 值示例如下:
X Y
5.06 0
4.09 1
4.72 0
4.57 0
4.44 1
6.98 1
Run Code Online (Sandbox Code Playgroud)
我试图预测的是 Xt+1 是否会高于或低于 Xt。如果 Xt+1 大于 Xt,则 Xt 的 Y 值为 1。对于 932 个样本,我的训练 X 值的形状为 (932, 100, 1),“回顾”序列为 100,特征为 1。我得到的预测如下:
Predictions
.512
.514
.513
Run Code Online (Sandbox Code Playgroud)
我认为这些可能是概率,因为我的模型准确度约为 51%。关于如何让它们成为二进制的任何想法?完整的模型代码如下:
# Defining network architecture
def build_model(layers):
model = Sequential()
model.add(LSTM(
input_dim=layers[0],
output_dim=layers[1],
return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(
layers[2],
return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(
output_dim=layers[3]))
model.add(Activation("sigmoid"))
start = time.time()
model.compile(loss="binary_crossentropy", optimizer="rmsprop",metrics=['accuracy'],class_mode="binary")
print("> Compilation Time : ", …Run Code Online (Sandbox Code Playgroud) 我有按来源和目的地对分组的数据。我想将组中的第一行与组中的其他行进行比较。如果一行满足某些条件,那么我想标记它。下面是我的数据快照:
Orig Dest Route Vol Per VolPct
ORD ICN A 2,251 0.64 0.78
ORD ICN B 366 0.97 0.13
ORD ICN C 142 0.14 0.05
ORD ICN D 100 0.22 0.03
ORD ICN E 25 1.00 0.01
Run Code Online (Sandbox Code Playgroud)
如果一行的“VolPct”>=.1,则将其与第一行进行比较。所以在这个例子中,路线 B 将与路线 A 进行比较。如果路线 B 和路线 A 的“Per”之间的差异 >= .2,那么我想通过在一个“X”中放置一个“X”来标记路线 B新列。在此示例中,路由 B 将被标记。预期输出如下所示:
Orig Dest Route Vol Per VolPct Flag
ORD ICN A 2,251 0.64 0.78
ORD ICN B 366 0.97 0.13 x
ORD ICN C 142 0.14 0.05
ORD ICN D …Run Code Online (Sandbox Code Playgroud) 仅当第一次加入的结果为空时,我才想加入第二个表.以下是表A数据的一小节:
ID Metro Submarket
1 NYC Manhattan
2 NYC Brooklyn
3 NYC Queens
4 NYC Bronx
5 NYC Newark
Run Code Online (Sandbox Code Playgroud)
我用于连接的表是:
Table B Table C
Metro Submarket A.Price B.Price C.Price Metro A.Price B.Price C.Price
NYC Manhattan 54 32 48 NYC 50 49 69
NYC Queens 35 39 59 Philly 49 48 37
NYC Brooklyn 20 49 58 Chicago 20 48 36
NYC Bronx 49 30 20
NYC Newark 49 50 -
Run Code Online (Sandbox Code Playgroud)
我正在根据地铁和子市场匹配将表B中的价格列添加到表A. 但是,表B没有全部价格.如果我在表B中找不到匹配项,那么我想查看表C,仅在Metro上进行匹配.
对于ID 5,我们可以在表B中找到A和B价格.但是,C价格是空白的.在这种情况下,我希望它从表C中检索C价格(69是它会选择的).
我正在使用SAS 9.4.SQL,宏或SAS可以处理的任何其他内容都是受欢迎的!