用R加载大型训练数据

用R加载大型训练数据,r,R,我有以下代码行: train <- read.csv("avito_train.tsv", sep='\t', stringsAsFactors = F) train在R中有优化数据加载的方法。您告诉R必须加载的数据结构越多,R加载的速度就越快。具体地说,如果您能告诉它有多少列,每列的数据类型是什么,并且如果您碰巧知道数据有多少行,R将更容易加载它 下面是一个示例,我试图提高要加载的文件的速度。首先,我得到文件中的列数: ncols <- length(read.tab

我有以下代码行:

train <- read.csv("avito_train.tsv", sep='\t', stringsAsFactors = F)

train在R中有优化数据加载的方法。您告诉R必须加载的数据结构越多,R加载的速度就越快。具体地说,如果您能告诉它有多少列,每列的数据类型是什么,并且如果您碰巧知道数据有多少行,R将更容易加载它

下面是一个示例,我试图提高要加载的文件的速度。首先,我得到文件中的列数:

ncols       <- length(read.table(file,header=TRUE,sep="\t", nrows=1, na.strings=c("null","NA"),comment="",quote=""))

ncols有很多方法可以优化R中的数据加载。您告诉R必须加载的数据结构越多,R加载数据的速度就越快。具体地说,如果您能告诉它有多少列,每列的数据类型是什么,并且如果您碰巧知道数据有多少行,R将更容易加载它;任何代码示例都会对我有所帮助;不过,我假设您引用的是
read.csv()
方法上的参数。谢谢,我将尝试提供一个很好的示例。是的,我指的是read.csv()。实际上,我是在引用read.table,read.csv()只是一个具有某些预设默认值的包装函数。请从包
data.table
中查看
fread()
。它比
read.csv()
快得多。此外,您还可以尝试使用函数
load()
save()
@konvas,将尽可能多的数据保存为二进制格式,以便更快地加载到R中。我忘了我可以在R中使用
save()。因此,答案似乎是,“是的,一定要加载所有数据,但只需改变处理方式。”使用所有可用数据总是最佳的,即使你只是在其中的一部分进行培训,您可能希望在其他部分上进行测试,等等。出于开发原因,为了测试您的代码,我当然可以设想只需要加载一点数据,以确保一切按预期运行。
tumor_data  <- read.table(file,header=TRUE,sep="\t",
                     colClasses=c("NULL","NULL",rep("numeric",ncols-2)),
                     na.strings=c("null","NA"),comment="",quote="")