【问题标题】:PySpark Machine Learning on Wide Data in QuboleQubole 中宽数据的 PySpark 机器学习
【发布时间】:2020-01-02 18:33:48
【问题描述】:

我有一个包含大约 250 个特征的大型数据集,我想在梯度增强树分类器中使用它。我有数百万个观察值,但我无法让模型处理我的数据的 1%(约 30 万个观察值)。下面是我的代码的 sn-p。我无法为您分享任何数据,但所有特征都是数字的(数字变量或各种因子水平的虚拟变量)。我使用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"})))

【问题讨论】:

    标签: python machine-learning pyspark bigdata qubole


    【解决方案1】:

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

    【讨论】:

    • 感谢您的宝贵时间!我查看了这个并调整了一些参数,例如增加spark.driver.memory,但仍然无法解决这个问题。
    • @ErrorJordan 您能否为我们创建一个有问题的 notebook-id 支持票?我们很乐意进一步调查。
    • Pradeep - 通过 Qubole 的票?
    猜你喜欢
    • 1970-01-01
    • 2017-06-21
    • 2020-05-25
    • 2017-04-20
    • 2017-07-29
    • 2019-08-24
    • 2019-01-11
    • 2016-08-16
    • 2018-06-10
    相关资源
    最近更新 更多