我有一个包含大约250个特征的大型数据集,我想在梯度增强树分类器中使用它。我有数百万个观察值,但即使是1%的数据(大约30万个观察值),我也无法让模型工作。下面是我的代码片段。我不能为你分享任何数据,但所有的特征都是数字的(对于不同的因子水平,要么是数值变量,要么是虚拟变量)。我使用VectorAssembler创建一个features变量,其中包含来自相应观察值的特征向量。
当我将模型使用的特征数量减少到5个时,模型运行时没有问题。只有当我通过添加大量功能使问题变得更加复杂时,它才会开始失败。我得到的错误是一个TTransport Exception。该模型将尝试运行数小时,然后才会出现错误。我正在使用Qubole构建我的模型。我对Qubole和PySpark都是新手,所以我不确定我的问题是spark内存问题、Qubole内存问题(我的集群有4+ TB,数据只有几GB)等等。
任何关于测试/调试的想法或想法都会很有帮助。谢谢。
train = train.withColumnRenamed(target, "label")
test = test.withColumnRenamed(target, "label")
evaluator = BinaryClassificationEvaluator()
gbt = GBTClassifier(maxIter=10)
gbtModel = gbt.fit(train)
gbtPredictions = gbtModel.transform(test)
gbtPredictions.select('label','rawPrediction', 'prediction', 'probability').show(10)
print("Test Area Under ROC: " + str(evaluator.evaluate(gbtPredictions, {evaluator.metricName: "areaUnderROC"})))发布于 2020-01-03 12:39:25
您可能想要尝试此https://docs.qubole.com/en/latest/troubleshooting-guide/notebook-ts/troubleshoot-notebook.html#ttexception。如果这仍然没有帮助,请随时为我们创建一个支持票证,我们将很乐意进行调查。
https://stackoverflow.com/questions/59568303
复制相似问题