作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在使用我命名为 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/
正在使用我命名为 training_examples 的 pandas 数据框试用 Tensorflow 的内置 pandas_input_fn() 这是一个非常简单的数据框,描述了一组特征和标签;然
我是一名优秀的程序员,十分优秀!