XGBClassifier是否适合pyspark数据框?

时间:2019-12-20 04:43:05

标签: pyspark xgboost

是否可以通过以下方式将pyspark数据帧传递给XGBClassifer:

from xgboost import XGBClassifer
model1 = XGBClassifier()
model1.fit (df.select(features), df.select('label'))

如果没有,将pyspark数据框适合xgboost的最佳方法是什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

我相信有两种方法可以给这只猫做皮。 您可以:

  1. 使用pyspark方法将pandas数据帧移动到toPandas()(或者最好使用pyarrow)。 pandas数据帧将与xgboost一起正常工作。但是,您的数据需要容纳在内存中,因此,如果要处理TB甚至GB的数据,则可能需要进行子采样。
  2. 看看xgboost4jxgboost4j-spark软件包。与pyspark是使用py4j的包装器一样,这些人可以利用SparkML内置函数,尽管通常用于Scala-Spark。例如,这些包中的XGBoostEstimator可用作SparkML Pipeline()对象中的阶段。

希望这会有所帮助。