我试图在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))
答案 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))