tensorflow - feature_columns 的项目必须是 _FeatureColumn 给定 : _VocabularyListCategoricalColumn

标签 tensorflow machine-learning

我正在尝试从this dataset创建my_feature_columns列表。我正在使用以下代码阅读它:

train = pd.read_csv(train_path, names=CSV_COLUMN_NAMES, header=0)
train = train.drop(['Name', 'SibSp', 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'], axis=1)
train.fillna(0, inplace=True)

我只想使用“Pclass”、“Sex”和“Age”。由于 Sex 只有 2 个可能的值,因此我编写了以下代码:

my_feature_columns = [
    tf.feature_column.numeric_column(key='Pclass'),
    tf.feature_column.categorical_column_with_vocabulary_list(key="Sex", vocabulary_list=["male", "female"]),
    tf.feature_column.numeric_column(key='Age'),
]

然后我实例化分类器:

classifier = tf.estimator.DNNClassifier(
        feature_columns=my_feature_columns,
        hidden_units=[10, 10],
        n_classes=2)

但是我得到了

ValueError: Items of feature_columns must be a _DenseColumn. You can wrap a categorical column with an embedding_column or indicator_column. Given: _VocabularyListCategoricalColumn(key='Sex', vocabulary_list=('male', 'female'), dtype=tf.string, default_value=0, num_oov_buckets=0)

我对 TensorFlow 完全陌生,我不知道发生了什么。我将感谢所有类型的帮助,提前致谢,并对我的英语感到抱歉。

最佳答案

再读一遍the documentation我意识到

Indicator columns and embedding columns never work on features directly

所以我更正了我的代码:

categorical_column = tf.feature_column.categorical_column_with_vocabulary_list(key="Sex", vocabulary_list=["male", "female"], default_value=0)

my_feature_columns = [
    tf.feature_column.numeric_column(key='Pclass'),
    tf.feature_column.indicator_column(categorical_column),
    tf.feature_column.numeric_column(key='Age')
]

而且效果非常好!

关于tensorflow - feature_columns 的项目必须是 _FeatureColumn 给定 : _VocabularyListCategoricalColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48614819/

相关文章:

machine-learning - SVM 的自定义内核,何时应用它们?

python - 为什么 cross_val_scores 运行良好但 cv.splits 显示错误?

machine-learning - 为什么词嵌入实际上是向量?

tensorflow - 将 Dense 应用于 RNN 层中的每个输出

python-3.x - 如何在 keras 模型中可视化学习到的训练权重?

Tensorflow:深度卷积到底有什么作用?

python - 如何使用列变压器对多列进行编码?

tensorflow - tensorflow 中的复杂卷积

docker - 在Mac OS上,如何使用docker容器编译C++以创建Linux二进制文件

python - 如何向 scikit-neuralnetwork 中的分类器添加偏差?