code: def test_training_with_dataframe(self):
      data = self.sc.parallelize(
          [
              ((2.0, 1.0, 3.0, 4.0, 2.0, 1.0), 0.0),
              ((4.0, 3.0, 1.0, 2.0, 3.0, 5.0), 1.0),
              ((2.0, 3.0, 2.0, 1.0, 1.0, 3.0), 1.0),
              ((1.0, 2.0, 4.0, 3.0, 2.0, 5.0), 1.0),
          ]
      )
  
      schema = StructType(
          [
              StructField(
                  "features", ArrayType(DoubleType(), False), False
              ),
              StructField("label", DoubleType(), False),
          ]
      )
      df = self.sqlContext.createDataFrame(data, schema)
  
      model = Sequential()
      model.add(Dense(2, activation="sigmoid", input_shape=(6,)))
      model.compile(
          optimizer="sgd", loss="sparse_categorical_crossentropy"
      )
      model.fit(
          df,
          feature_cols=["features"],
          label_cols=["label"],
          batch_size=4,
          nb_epoch=1,
      )
  
      predDf = model.predict(
          df, feature_cols=["features"], prediction_col="predict"
      )
      predDf.show()
      model.evaluate(
          df,
          batch_size=4,
          feature_cols=["features"],
          label_cols=["label"],
      )
  
imports: import pytest
  import shutil
  from pyspark.sql.types import *
  from pyspark.sql.functions import lit
  from bigdl.dllib.feature.common import ChainedPreprocessing
  from bigdl.dllib.nncontext import *
  from bigdl.dllib.feature.image import *
  from bigdl.dllib.keras.layers import *
  from bigdl.dllib.keras.models import *
  from bigdl.dllib.nnframes import *
  from test.bigdl.test_zoo_utils import ZooTestCase
label_desc: Use image node_id 19 for calling the TestSimpleIntegration obj's underlying member method code with example usage: obj.test_training_with_dataframe() without return types