小编twh*_*ale的帖子

如何在Keras 2.0中"合并"顺序模型?

我试图在Keras 2.0中合并两个Sequential模型,使用以下行:

merged_model.add(Merge([model1, model2], mode='concat'))
Run Code Online (Sandbox Code Playgroud)

这仍然可以正常工作,但会发出警告:

"The `Merge` layer is deprecated and will be removed after 08/2017. Use
instead layers from `keras.layers.merge`, e.g. `add`, `concatenate`, etc." 
Run Code Online (Sandbox Code Playgroud)

但是,研究Keras文档并尝试添加Add(),并没有产生有效的东西.我已经阅读了几个有相同问题的人发帖,但发现没有解决方案适用于我的情况.有什么建议?

model = Sequential()
model1 = Sequential()
model1.add(Dense(300, input_dim=40, activation='relu', name='layer_1'))
model2 = Sequential()
model2.add(Dense(300, input_dim=40, activation='relu', name='layer_2'))
merged_model = Sequential()

merged_model.add(Merge([model1, model2], mode='concat'))

merged_model.add(Dense(1, activation='softmax', name='output_layer'))
merged_model.compile(loss='binary_crossentropy', optimizer='adam', 
metrics=['accuracy'])

checkpoint = ModelCheckpoint('weights.h5', monitor='val_acc',
save_best_only=True, verbose=2)
early_stopping = EarlyStopping(monitor="val_loss", patience=5)

merged_model.fit([x1, x2], y=y, batch_size=384, epochs=200,
             verbose=1, validation_split=0.1, shuffle=True, 
callbacks=[early_stopping, checkpoint])
Run Code Online (Sandbox Code Playgroud)

编辑:当我尝试时(如下面由Kent Sommer建议):

from keras.layers.merge …
Run Code Online (Sandbox Code Playgroud)

python keras

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

如何使用 Python 从数据框中的每个字符串中获取第一个单词?

我有一个名为“data”的 Pandas DataFrame,有 2 列和 50 行,每行填充一两行文本,从 .tsv 文件导入。除了字符串之外,一些问题可能包含整数和浮点数。我试图提取每个句子的第一个单词(在两列中),但始终收到此错误:AttributeError: 'DataFrame' object has no attribute 'str'。

起初,我认为错误是由于我错误地使用了“data.str.split”,但我能谷歌的所有更改都失败了。然后我通过文件可能不是所有的字符串组成。所以我在文件上尝试了“data.astype(str)”,但同样的错误仍然存​​在。有什么建议?非常感谢!

这是我的代码:

import pandas as pd
questions = "questions.tsv"
data = pd.read_csv(questions, usecols = [3], nrows = 50, header=1, sep="\t")
data = data.astype(str)
first_words = data.str.split(None, 1)[0]
Run Code Online (Sandbox Code Playgroud)

pandas

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

如何使for循环中的if只运行一次?

我试图根据条件将两个列表中的项目放在一起,以创建第三个列表作为输出。即使我是新手,这也相对简单。但是,我试图让循环的一部分只运行一次,而这正是我挣扎的地方。有没有办法做到这一点?

数据来自文本数据的大型 DataFrame。但是我创建了这个问题的简化版本,以尝试更轻松地解决它(没有运气):

a = [1, 2, 3, 4, 5]
A = [4, 5]

b = []
for i in a:
    if i in A:
        b.append(3.5) # My aim is to make this line run only once
        b.append(i)
    else:
        b.append(i)
print(b)
Run Code Online (Sandbox Code Playgroud)

这给出:

[1, 2, 3, 3.5, 4, 3.5, 5]
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到以下结果?

[1, 2, 3, 3.5, 4, 5]
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

为什么我的列表在保存到 csv 并重新打开后变成字符串?Python

我有一个 Dataframe,其中每行包含一个句子,后跟一个用 spaCy 创建的词性标签列表:

df.head()

   question             POS_tags            
0  A title for my ...   [DT, NN, IN,...]  
1  If one of the ...    [IN, CD, IN,...]  
Run Code Online (Sandbox Code Playgroud)

当我将 DataFrame 写入 csv 文件(encoding='utf-8')并重新打开它时,看起来数据格式已更改,POS 标签现在出现在引号 ' ' 之间,如下所示:

df.head()

   question             POS_tags                    
0  A title for my ...   ['DT', 'NN', 'IN',...]  
1  If one of the ...    ['IN', 'CD', 'IN',...]  
Run Code Online (Sandbox Code Playgroud)

当我现在尝试使用 POS 标签进行某些操作时,结果发现它们不再是列表,而是变成了甚至包含引号的字符串。它们看起来仍然像列表,但事实并非如此。这样做时这一点很清楚:

q = df['POS_tags']
q = list(q)
print(q)
Run Code Online (Sandbox Code Playgroud)

结果是:

["['DT', 'NN', 'IN']"]
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

我要么希望“ POS_tags ”列包含列表,即使在保存到 csv 并重新打开之后也是如此。或者我想对“ POS_tags ”列进行操作,以再次获得 SpaCy 最初创建的相同列表。有什么建议如何做到这一点?

python-3.x export-to-csv pandas spacy

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

如何在python中组合两个具有相同索引的系列?

我有两个等长的系列(df1 和 df2),它们需要组合成一个 DataFrame 列,如下所示。每个索引只有一个值或没有值但从来没有两个值,因此没有重复(例如,如果 df1 在索引 0 处有一个值 'A',则 df2 在索引 0 处为空,反之亦然)。

df1 =    c1      df2 =    c2
      0  A             0 
      1  B             1
      2                2  C
      3  D             3
      4  E             4
      5                5  F
      6                6
      7  G             7
Run Code Online (Sandbox Code Playgroud)

我想要的结果是这样的:

      0  A
      1  B
      2  C
      3  D
      4  E
      5  F
      6
      7  G
Run Code Online (Sandbox Code Playgroud)

我试过了.concat.append而且。union,但这些不会产生预期的结果。那么正确的做法是什么呢?

python series python-3.x pandas

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

标签 统计

pandas ×3

python ×3

python-3.x ×3

export-to-csv ×1

keras ×1

series ×1

spacy ×1