是否可以将pyspark数据帧传递给XGBClassifer,如下所示:
from xgboost import XGBClassifer
model1 = XGBClassifier()
model1.fit (df.select(features), df.select('label'))如果不是,那么将pyspark dataframe应用到xgboost的最佳方式是什么?
非常感谢
发布于 2019-12-20 21:18:41
我相信有两种方法可以剥掉这只猫的皮。您可以执行以下任一操作:
toPandas()方法(或者使用pyarrow,甚至更好)将您的pyspark数据帧移动到pandas。pandas数据帧在xgboost上可以很好地工作。但是,您的数据需要放入内存中,因此如果您正在处理TB甚至GB的数据,则可能需要进行二次采样。xgboost4j和xgboost4j-spark包。就像pyspark是使用py4j的包装器一样,这些人可以利用SparkML的内置功能,尽管通常是针对Scala-Spark的。例如,这些包中的XGBoostEstimator可以用作SparkML Pipeline() object中的舞台。希望这能有所帮助。
https://stackoverflow.com/questions/59419911
复制相似问题