python - 这个特征列是什么,它如何影响训练?

标签 python machine-learning tensorflow

我对 Tensor Flow 比较陌生。这个特征列是什么,它如何影响训练?

当我实现如下代码时,这个数字列被创建为一个特征列。我想了解使用。

feature_columns = [tf.feature_column.numeric_column("x", shape=[1])]

estimator = tf.estimator.LinearRegressor(feature_columns=feature_columns)

x_train = np.array([1., 2., 3., 4.])
y_train = np.array([0., -1., -2., -3.])
x_eval = np.array([2., 5., 8., 1.])
y_eval = np.array([-1.01, -4.1, -7, 0.])

input_fn = tf.estimator.inputs.numpy_input_fn(
    {"x": x_train}, y_train, batch_size=4, num_epochs=None, shuffle=True)
train_input_fn = tf.estimator.inputs.numpy_input_fn(
{"x": x_train}, y_train, batch_size=4, num_epochs=1000, shuffle=False)
eval_input_fn = tf.estimator.inputs.numpy_input_fn(
{"x": x_eval}, y_eval, batch_size=4, num_epochs=1000, shuffle=False)

estimator.train(input_fn=input_fn, steps=10000)
train_metrics = estimator.evaluate(input_fn=train_input_fn)
eval_metrics = estimator.evaluate(input_fn=eval_input_fn)
print("\n\ntrain metrics: %r"% train_metrics)
print("eval metrics: %r"% eval_metrics)

最佳答案

根据我从 documentation on feature columns 中收集到的信息,它们似乎用于将某种输入数据特征转换为连续变量,可供回归或神经网络模型使用。

例如,在回归中,如果我们有一个分类变量,通常会将其转换为一组 dummy variables第一的。 tf.feature_column.indicator_column可以用来为我们进行这种转换。然后我们可以只在我们的 feed dict 中提供分类数据,并且到虚拟变量的转换将在内部发生。

numeric_column 的情况下,不需要这样的转换,所以该类基本上就像一个 tf.placeholder

关于python - 这个特征列是什么,它如何影响训练?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423156/

相关文章:

python - 什么是删除子字符串的有效方法?

python - 将 Excel Oracle DB 查询转换为 Python Pandas

machine-learning - 每个状态都是终端的强化学习

python - 在 pytorch 中计算 `loss.backward` 的多重损失性能吗?

python - 如何在numpy中实现两层Keras conv1d?

python - TensorFlow - 如何在不同的测试数据集上使用经过训练的模型进行预测?

python - 按字母顺序对 argparse 帮助进行排序

Python MySQLdb 文件加载截断行,从另一个 mysql 客户端加载文件时工作正常

python - 用于整数特征的 NLTK 分类器?

python - Tensorflow 和 TFlearn 错误 - 意外参数 'keepdims'