gpt4 book ai didi

python - 神经网络中 DataFrame 的批量输入

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:49 27 4
gpt4 key购买 nike

我在回归代码的最后一个 block 中执行以下代码:

steps = 50000

with tf.Session() as sess:

sess.run(init)

for i in range(steps):

sess.run(train, feed_dict={X_data:X_train,y_target:y_train})



if i%500 == 0:

rand_ind = np.random.random_integers(len(X_test)+1)

feed = {X_data:X_test.iloc[rand_ind:rand_ind+8,:],y_target:y_test.iloc[rand_ind:rand_ind+8,:]}

loss = tf.reduce_sum(tf.square(y_target-y_output))/8
print(sess.run(loss,feed_dict=feed))

这是从 pandas DataFrame 生成较小批处理的好方法还是有更好的方法?

我在这里使用 iloc,因为之前我无法正确索引。但是我收到以下错误:

DeprecationWarning: This function is deprecated. Please call randint(1, 6193 + 1) instead from ipykernel import kernelapp as app

最佳答案

如果您想从数据框中选择随机行,您可以使用以下代码:

import numpy as np 
batch = df.iloc[np.random.choice(df.index.values, sample_size)]

此代码将选择随机行索引,然后为批处理选择它们。将 sample_size 替换为批处理的大小。

如果您将多次使用它,您将创建一个随机样本并返回您的数据。

如果您不想重复使用相同的示例,您可以使用此代码进行采样,然后删除您采样的行,不再使用它们

import numpy as np
sample = np.random.choice(df.index.values, sample_size)
batch = df.iloc[sample]
newdf = df.drop(sample, axis = 0)

关于python - 神经网络中 DataFrame 的批量输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47549652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com