小编The*_*ght的帖子

如何将向量中的数字和分类值组合为LSTM的输入?

import pandas as pd
import numpy as np

rands = np.random.random(7)
days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
dates = pd.date_range('2018-01-01', '2018-01-07')

df = pd.DataFrame({'date': dates, 'days': days, 'y': rands})

df_days_onehot = pd.get_dummies(df.days)[days]
df[days] = df_days_onehot
df['target'] = df.y.shift(-1)

df.drop('days', axis=1, inplace=True)
df.set_index('date', inplace=True)

X = df.iloc[:, :-1].values
y = df.iloc[:, -1].values
Run Code Online (Sandbox Code Playgroud)

我在上面共享了一个代码示例。我的问题是如何将数字变量和分类变量结合起来作为LSTM的输入?

输入向量应如何?

  1. 是否应该像[0.123,0,1,0,0 ...](如代码中的X)dim =(1,8)?
  2. 它应该像[0.123,[0,1,0,0 ...]] dim(1,2)
  3. 还是有特定的方式将输入传递给ANN或RNN等。如果是,它是什么,为什么我们应该使用它们(优点/缺点)?

我阅读了有关嵌入的内容,但由于我想学习所有这些背后的逻辑,因此对我来说解释还不够。

像这样

model = Sequential()
model.add(LSTM(64, batch_input_shape=(batch_size, look_back, 1), stateful=True, return_sequences=True))
model.add(Dropout(0.3))
model.add(LSTM(32, batch_input_shape=(batch_size, look_back, 1), stateful=True)) …
Run Code Online (Sandbox Code Playgroud)

python categorical-data deep-learning lstm keras

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

pandas str.contains()给出了错误的结果?

例如;

pd.Series('ASKING CD.').str.contains('AS')
Out[58]: 
0    True
dtype: bool

pd.Series('ASKING CD.').str.contains('ASG')
Out[59]: 
0    False
dtype: bool

pd.Series('ASKING CD.').str.contains('SK.')
Out[60]: 
0    True
dtype: bool
Run Code Online (Sandbox Code Playgroud)

为什么第三个输出是真的?没有'SK'.传递字符串中的序列.'dot'字符没有任何意义?

python string pandas

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

标签 统计

python ×2

categorical-data ×1

deep-learning ×1

keras ×1

lstm ×1

pandas ×1

string ×1