title: Training set contains "labels" as inputs to keras model
body: <p>I'm seeing that my keras model does not handle input columns well if they are not float values. I'd like to be able to train the model using columns that contain "labels", and by labels I mean IDs of sorts, or encoded string names. Ideally it would be able to integrate these label columns into its model, deciding which values within these categorical columns predicate a higher accuracy.</p>
  
  <p>For example, I'm trying to predict the outcomes of a competition (Win=1, Loss=0) and I'd like to include "team name" and "coach name" in the historical data. Ideally the model would identify which teams and coaches are more likely to win.</p>
  
  <p>However, when I run <code>model.fit</code> and the training_set includes anything other than int/float values (that are statistical in nature, not categorical), it generates the same accuracy for each epoch with a very high loss score.</p>
  
  <p>Here is how I defined my model:</p>
  
  <pre><code>model = keras.Sequential([
          keras.layers.Dense(1024, activation=tf.nn.relu, kernel_initializer=init_ru, bias_initializer=init_ru),
          keras.layers.Dense(512, activation=tf.nn.relu, kernel_initializer=init_ru, bias_initializer=init_ru),
          keras.layers.Dense(256, activation=tf.nn.relu),
          keras.layers.Dense(128, activation=tf.nn.relu),
          keras.layers.Dense(32, activation=tf.nn.relu),
          keras.layers.Dense(1, activation=tf.nn.sigmoid)
      ])
  opt = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=True)
  
  model.compile(optimizer=opt, 
                loss='binary_crossentropy',
                metrics=['accuracy'])
  </code></pre>
  
  <p>It works great if I don't include any categorical data, but I think if I could get it to work with categorical data, it would improve even more.</p>