目前,我尝试为 tensorflow 中的时间序列数据构建一个自动编码器。我有将近 500 天的数据,其中每天有 24 个数据点。因为这是我第一次尝试,所以我的架构非常简单。在我输入 size 之后24,隐藏层的 size:10; 3; 10输出为 again 24。我对数据进行了标准化(数据点在范围内[-0.5; 0.5]),使用 sigmoid 激活函数和 RMSPropOptimizer。
训练后(图中的损失函数)对于我输入网络的每个时间数据,输出都是相同的。有人知道这是什么原因吗?我的数据集是否有可能是问题(下面的代码)?
class TimeDataset:
def __init__(self,data):
self._index_in_epoch = 0
self._epochs_completed = 0
self._data = data
self._num_examples = data.shape[0]
pass
@property
def data(self):
return self._data
def next_batch(self, batch_size, shuffle=True):
start = self._index_in_epoch
# first call
if start == 0 and self._epochs_completed == 0:
idx = np.arange(0, self._num_examples) # get all possible indexes
np.random.shuffle(idx) # shuffle indexe
self._data …Run Code Online (Sandbox Code Playgroud) 我尝试使用 numpy 数组来替换 Pandas DataFrame 中的数据(更准确地说,我想对数据进行规范化,然后在现有 DataFrame 中设置新列)。它看起来像这样:
# df is a existing pandas dataframe with 10 rows and 3 columns
new_values = np.random.rand(10,3)
df = new_values # this is the step I want to solve
Run Code Online (Sandbox Code Playgroud)
当然,我想保留 DataFrame 的列和索引信息。有人知道我如何才能做到这一点吗?