我有一个基本上像这样的数据集
FeatureA FeatureB FeatureC Target
3 2 5 1
4 1 8 0
3 0 2 0
目标是分类(1,0),特征是数字。目标是学习一种基于所有3个特征(目标是0还是1)进行分类的算法。
调用分类器时,例如在Google colab的构建文本分类器的示例中,他们就是这样编写代码的
estimator = tf.estimator.DNNClassifier(
hidden_units=[500, 100],
feature_columns=[embedded_text_feature_column],
n_classes=2,
optimizer=tf.train.AdagradOptimizer(learning_rate=0.003))
但是,在我的示例中,我只想将3个功能列用作feature_columns
,如何告诉tf.estimator.DNNClassifier
?即我该如何将参数feature_columns
传递给我们?
答案 0 :(得分:0)
实际上很简单...尽管花了我一段时间才能理解它。
在下面仔细查看以下代码:
# Represent a tf.float64 scalar.
numeric_feature_column = tf.feature_column.numeric_column(key="SepalLength",
dtype=tf.float64)
可以说您正在为此特定模型“构建”一列。在这种情况下,列名称为“ SepalLength”,其数据类型为float64。
让它应用于您的方案:
numeric_feature_column_1 = tf.feature_column.numeric_column(key="_1",
dtype=tf.float64)
numeric_feature_column_2 = tf.feature_column.numeric_column(key="_2",
dtype=tf.float64)
numeric_feature_column_3 = tf.feature_column.numeric_column(key="_3",
dtype=tf.float64)
estimator = tf.estimator.DNNClassifier(
hidden_units=[500, 100],
feature_columns=[numeric_feature_column_1,
numeric_feature_column_2,
numeric_feature_column_3],
n_classes=2,
optimizer = tf.train.AdagradOptimizer(learning_rate=0.003)
)
我强烈建议您阅读以下这些链接,以更好地了解Tensorflow的数据管道以及它如何连接到Estimator类。