code: def from_labeled_point(rdd, categorical=False, nb_classes=None):
      
      features = np.asarray(
          rdd.map(lambda lp: from_vector(lp.features)).collect())
      labels = np.asarray(rdd.map(lambda lp: lp.label).collect(), dtype='int32')
      if categorical:
          if not nb_classes:
              nb_classes = np.max(labels) + 1
          temp = np.zeros((len(labels), nb_classes))
          for i, label in enumerate(labels):
              temp[i, label] = 1.
          labels = temp
      return features, labels
docs: Convert a LabeledPoint RDD back to a pair of numpy arrays
  
      :param rdd: LabeledPoint RDD
      :param categorical: boolean, if labels should be one-hot encode when returned
      :param nb_classes: optional int, indicating the number of class labels
      :return: pair of numpy arrays, features and labels