0

我有一个包含大约 250 个特征的大型数据集,我想在梯度增强树分类器中使用它。我有数百万个观察值,但我无法让模型处理我的数据的 1%(约 30 万个观察值)。下面是我的代码片段。我无法为您分享任何数据,但所有特征都是数字的(数字变量或各种因子水平的虚拟变量)。我VectorAssembler用来创建一个features变量,其中包含来自相应观察的特征向量。

当我减少模型使用的特征数量时,比如说 5,模型运行没有问题。只有当我通过添加大量功能使问题变得更复杂时,它才会开始失败。我得到的错误是TTransport Exception. 该模型将尝试运行数小时,然后才会出错。我正在使用 Qubole 构建我的模型。我是 Qubole 和 PySpark 的新手,所以我不确定我的问题是火花内存问题还是 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"})))
4

1 回答 1

0

你会想试试这个https://docs.qubole.com/en/latest/troubleshooting-guide/notebook-ts/troubleshoot-notebook.html#ttexception。如果这仍然没有帮助,请随时为我们创建支持票,我们很乐意进行调查。

于 2020-01-03T04:39:25.197 回答