我从data repo获得了一个数据帧,它有一些基于日期的特性,例如
The types of all these are IntegerType()
问题1:要训练模型,我是否应该将这些与日期相关的列转换为分类
问题2:如何在PySpark MLLib中执行此操作?仅将数据类型强制转换为StringType()就足够了吗?所以我的意思是如果monthnum是1,那么我可以用下面的代码转换成“1”吗?ML算法会将其视为/识别为分类的吗
还是有更好的方法
from pyspark.sql.types import StringType
df = df.witColumn("MonthNum", df["MonthNum"].cast(StringType()))
非常感谢你的帮助
除了前面的答案之外,如果希望在模型中考虑日期的顺序性质,那么可以尝试将日期转换为unix时间戳。唯一需要注意的不是数据中的周数,而是日期。您可以使用一个简单的udf来转换它。如果你有可能直接得到日期,那就太好了。 获得数据后,您可以执行以下操作:
现在,除了这个时间戳,您还可以对其他连续特征进行向量组装。在您输入培训之前,对所有特性进行规范化也很好。您可以检查pyspark.ml.feature.MinMaxScaler()文件
相关问题 更多 >
编程相关推荐