2017-09-26 10 views
1

私はTensor Flowには比較的新しいです。この機能の列は何ですか?トレーニングにどのように影響しますか?Tensorflow- Feature Column

次のようなコードを実装すると、この数値列は機能列として作成されます。私はその使用法を理解したいと思います。

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) 

答えて

1

は私がdocumentation on feature columnsから収集することができるものに基づいて、彼らが回帰やニューラルネットワークモデルで使用することができ、連続変数に入力データ機能のいくつかの並べ替えを変換するために使用されているようです。

たとえば、回帰分析では、カテゴリ変数がある場合、これを最初にdummy variablesのセットに変換するのが一般的です。 tf.feature_column.indicator_columnを使用してこの変換を行うことができます。次に、私たちはフィードdictのカテゴリデータをフィードするだけで、ダミー変数への変換は内部的に行われます。

numeric_columnの場合、そのような変換は必要ありません。したがって、クラスは基本的にはtf.placeholderのように動作します。