【问题标题】:How to run supervised ML models on a large dataset (15GB) in R?如何在 R 中的大型数据集(15GB)上运行有监督的 ML 模型?
【发布时间】:2020-03-06 07:24:50
【问题描述】:

我有一个数据集(15 GB):7200 万条记录和 26 个特征。我想比较 7 个有监督的 ML 模型(分类问题):SVM、随机森林、决策树、朴素贝叶斯、ANN、KNN 和 XGBoosting。我创建了一个包含 720 万条记录的样本集(占整个集的 10%)。在样本集上运行模型(甚至是特征选择)已经是一个问题。它的处理时间很长。我目前只使用 RStudio。

我这几天一直在寻找问题的答案。我尝试了以下事情: - data.table - 仍然不足以减少处理时间 - sparklyr - 无法复制我的数据集,因为它太大了

我正在为我的问题寻找一种无成本的解决方案。有人可以帮帮我吗?

【问题讨论】:

  • 数据的来源是什么?它是 .csv、数据库连接等吗?如果我们知道数据的来源,我们就可以考虑如何将其导入 Spark。
  • 嗨 Raphael,这是一个 csv 文件。没有数据库连接。我刚从一个网站下载。

标签: r large-data feature-selection sparklyr supervised-learning


【解决方案1】:

如果您可以访问 Spark,可以使用sparklyr 直接读取 CSV 文件。

install.packages('sparklyr')
library(sparklyr)

## You'll have to connect to your Spark cluster, this is just a placeholder example
sc <- spark_connect(master = "spark://HOST:PORT")

## Read large CSV into Spark
sdf <- spark_read_csv(sc, 
                      name = "my_spark_table", 
                      path = "/path/to/my_large_file.csv")

## Take a look
head(sdf)

您可以使用dplyr 函数来操作数据(docs)。要进行机器学习,您需要使用 SparkML 的 sparklyr 函数 (docs)。您应该可以在sparklyr 中找到几乎所有您想要的内容。

【讨论】:

    【解决方案2】:

    试试Google Colab。这可以帮助您运行数据集 容易地。

    【讨论】:

      【解决方案3】:

      您应该查看disk.frame 包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-11
        • 2013-09-13
        • 2021-09-28
        • 2021-10-21
        • 2020-05-29
        • 2018-07-23
        • 2018-06-26
        • 2017-04-20
        相关资源
        最近更新 更多