gpt4 book ai didi

pandas - tf.estimator.inputs.pandas_input_fn 标签张量

转载 作者:行者123 更新时间:2023-12-05 06:32:46 25 4
gpt4 key购买 nike

正在使用我命名为 training_examples 的 pandas 数据框试用 Tensorflow 的内置 pandas_input_fn()

这是一个非常简单的数据框,描述了一组特征和标签;然后将其作为参数 x 传递到 pandas_input_fn() 函数中,如下所示,如果我正确理解文档,应该返回一个输入函数,其中包含已解析的数据进入特征和标签?

input_function = tf.estimator.inputs.pandas_input_fn(
x= training_examples,
y= None,
batch_size=128,
num_epochs=1,
shuffle=True,
queue_capacity=1000,
num_threads=1,
target_column='y'
)

但是,当我尝试将此函数传递给 .train() 方法时,出现如下所示的错误:

ValueError: You must provide a labels Tensor. Given: None. Suggested 
troubleshooting steps: Check that your data contain your label feature. Check
that your input_fn properly parses and returns labels.

不确定我做错了什么?

最佳答案

train_input_function 压缩它自己的特征和标签元组。您的评论是正确的。

x = training_examples[[feature_column_list]]
y = training_examples[label_column_name]

使用完整的数据集(在拆分为训练和测试之前)我发现它可以有效地生成像这样的训练和测试输入函数。这利用 sklearn 的 train_test_split 函数和“stratify”来确保正确的案例比例在标签中包含每个类别。

sklearn.model_selection import train_test_split

train_x, test_x, train_y, test_y = train_test_split(x, y, stratify=y)

此时您可以指定您的输入函数。

train_input_fn = tf.estimator.inputs.pandas_input_fn(x=train_x, y=train_y, shuffle=True, num_epochs=whatever, batch_size=whatever)

test_input_fn = tf.estimator.inputs.pandas_input_fn(x=test_x, y=test_y, shuffle=False, batch_size=1)

关于pandas - tf.estimator.inputs.pandas_input_fn 标签张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51081570/

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