Python 如何通过将另外两个tf.feature\u列相乘来创建tf.feature\u列?
在Tensorflow中,已经有一个通过交叉列创建特征的函数Python 如何通过将另外两个tf.feature\u列相乘来创建tf.feature\u列?,python,tensorflow,machine-learning,feature-extraction,tensorflow-estimator,Python,Tensorflow,Machine Learning,Feature Extraction,Tensorflow Estimator,在Tensorflow中,已经有一个通过交叉列创建特征的函数tf.feature\u column.crossed\u column,但它更多用于类别数据。数字数据呢 例如,已经有2列了 age = tf.feature_column.numeric_column("age") education_num = tf.feature_column.numeric_column("education_num") 如果我想创建第三个和第四个基于年龄和教育的专题专栏,像这样 my_feature =
tf.feature\u column.crossed\u column
,但它更多用于类别数据。数字数据呢
例如,已经有2列了
age = tf.feature_column.numeric_column("age")
education_num = tf.feature_column.numeric_column("education_num")
如果我想创建第三个和第四个基于年龄和教育的专题专栏,像这样
my_feature = age * education_num
my_another_feature = age * age
如何实现这一点?您可以声明一个自定义数字列,并将其添加到数据框中:
谢谢!您的示例还帮助我进一步了解输入函数的用途。
# Existing features
age = tf.feature_column.numeric_column("age")
education_num = tf.feature_column.numeric_column("education_num")
# Declare a custom column just like other columns
my_feature = tf.feature_column.numeric_column("my_feature")
...
# Add to the list of features
feature_columns = { ... age, education_num, my_feature, ... }
...
def input_fn():
df_data = pd.read_csv("input.csv")
df_data = df_data.dropna(how="any", axis=0)
# Manually update the dataframe
df_data["my_feature"] = df_data["age"] * df_data["education_num"]
return tf.estimator.inputs.pandas_input_fn(x=df_data,
y=labels,
batch_size=100,
num_epochs=10)
...
model.train(input_fn=input_fn())