Tensorflow:为DNN分类器创建嵌入式feaure列的循环

时间:2017-12-16 15:52:14

标签: python tensorflow

我试图在tensorflow中适应DNN分类器。我在TensorFlow中有多个嵌入式功能列,我正在尝试创建循环以避免手动键入以创建功能列,但它无法正常工作。下面是我尝试的代码,但在尝试作为功能列时返回错误。

for col in df_col:
    if df[col].dtypes == 'object':
        feat_cols.append(
            tf.feature_column.embedding_column(
                tf.feature_column.categorical_column_with_hash_bucket(
                   col,
                   hash_bucket_size=len(df[col].unique())
                ),
                dimension=len(df[col].unique()))
        )
    else:
        feat_cols.append(tf.feature_column.numeric_column(col))

1 个答案:

答案 0 :(得分:0)

张量流上的

DNN分类器几乎不需要其他方法。检查下面的代码;这是不言自明的。

from pandas.api.types import is_string_dtype
from pandas.api.types import is_numeric_dtype

my_columns = []

for col in df.columns:
    if is_string_dtype(diabetes[col]): #is_string_dtype is pandas function
        ccol=tf.feature_column.categorical_column_with_hash_bucket(col,
                                        hash_bucket_size= len(df[col].unique()))
        my_columns.append(tf.feature_column.embedding_column(ccol, dimension=len(df[col].unique())))

    elif is_numeric_dtype(df[col]): #is_numeric_dtype is pandas function
        my_columns.append(tf.feature_column.numeric_column(col))