我试图通过使用 PySpark 中的加速故障时间模型来预测客户从他们的订单历史记录中重新订购订单购物车的概率。我的输入数据包含
- 客户的各种特征和相应的订单购物车作为预测指标
- 两个连续订单之间的天数作为标签和
- 以前观察到的订单是未经审查的,而未来的订单是经过审查的。
PySpark 是这里的选择,因为对环境有一些限制,而且我没有其他选择来处理大量的订单历史记录(~40 GB)。这是我的示例实现:
> from pyspark.ml.regression import AFTSurvivalRegression from
> pyspark.ml.linalg import Vectors
>
> training = spark.createDataFrame([
> (1,1.218, 1.0, Vectors.dense(1.560, -0.605)),
> (1,2.949, 0.0, Vectors.dense(0.346, 2.158)),
> (2,3.627, 0.0, Vectors.dense(1.380, 0.231)),
> (2,0.273, 1.0, Vectors.dense(0.520, 1.151)),
> (3,4.199, 0.0, Vectors.dense(0.795, -0.226))], ["customer_id","label", "censor", "features"]) aft =
> AFTSurvivalRegression()
>
> model = aft.fit(training)
问题:
- pyspark.ml.regression 中的 AFTSurvivalRegression 方法是否能够根据客户 ID 对我的数据集中的记录进行聚类?如果有,请说明如何实施?
- 所需的输出将包含特定客户重新订购不同订单车的概率。如何通过扩展我的代码实现来获得这些值?