首页 > 解决方案 > Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表

问题描述

我正在使用 TensorFlow 1.15 进行机器学习项目,在该项目中我正在使用创建特征列,tf.feature_column但遇到了一个错误。

这是我定义的方式feature columns

# Define feature columns

is_male = tf.feature_column.categorical_column_with_vocabulary_list('is_male', vocabulary_list=['False', 'True'])
plurality = tf.feature_column.categorical_column_with_vocabulary_list('plurality', vocabulary_list=['Single(1)', 'Twins(2)', 'Triplets(3)', 'Quadruplets(4)', 'Quintuplets(5)'])
wide_columns = [is_male, plurality]
mother_age = tf.feature_column.numeric_column(key="mother_age", shape=10)
gestation_weeks = tf.feature_column.numeric_column(key="gestation_weeks", shape=10)
deep_columns = [mother_age,gestation_weeks]
feature_cols = [wide_columns, deep_columns]

这是我得到的确切错误:

ValueError:feature_columns 的项目必须是 _FeatureColumn。给定(类型):[VocabularyListCategoricalColumn(key='is_male', words_list=('False', 'True'), dtype=tf.string, default_value=-1, num_oov_buckets=0), VocabularyListCategoricalColumn(key='plurality',词汇表=('Single(1)', 'Twins(2)', 'Triplets(3)', 'Quadruplets(4)', 'Quintuplets(5)'), dtype=tf.string, default_value=-1, num_oov_buckets=0)]。

标签: pythonpython-3.xtensorflowmachine-learninglinear-regression

解决方案


我认为这feature_cols包含两个列表,所以你正在传递feature_cols = [[is_male, plurality], [mother_age, gestation_weeks]]. 我相信你想做的是feature_cols = wide_columns + deep_columns


推荐阅读