小编nat*_*nay的帖子

二进制 Keras LSTM 模型不输出二进制预测

我制作了一个 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)

python deep-learning lstm keras

8
推荐指数
1
解决办法
1万
查看次数

循环分组行并比较组中的第一行-Python

我有按来源和目的地对分组的数据。我想将组中的第一行与组中的其他行进行比较。如果一行满足某些条件,那么我想标记它。下面是我的数据快照:

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)

python pandas

4
推荐指数
1
解决办法
402
查看次数

如果在第一个表中找不到值,则加入第二个表

仅当第一次加入的结果为空时,我才想加入第二个表.以下是表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可以处理的任何其他内容都是受欢迎的!

sql sas

1
推荐指数
1
解决办法
732
查看次数

标签 统计

python ×2

deep-learning ×1

keras ×1

lstm ×1

pandas ×1

sas ×1

sql ×1