В дополнение к предыдущим ответам, если вы хотите, чтобы порядковый характер даты учитывался в модели, вы можете попытаться преобразовать дату в unix отметки времени. Единственный улов, а не номер недели в ваших данных вам понадобится дата. Вы можете конвертировать это с помощью простого udf. Если это возможно для вас, чтобы получить дату, то замечательно. Когда у вас есть данные, вы можете сделать что-то вроде этого:
df_new = df.withColumn("date_info",concat_ws("-",col('date'),col('month'),col('year')))
df_timestamp = df_new.withColumn("time_stamp",unix_timestamp(col('date_info'),format='dd-MM-yyyy'))
Теперь, наряду с этой отметкой времени, вы можете также собрать другие непрерывные объекты в векторном виде. Также будет хорошо нормализовать все функции, прежде чем вы начнете кормить на тренировке. Вы можете проверить pyspark.ml.feature.MinMaxScaler ()