【发布时间】:2015-04-30 01:51:06
【问题描述】:
我正在尝试使用 rpy2 组合多个随机森林模型。 R 中的 combine 命令看起来相当简单,但我不确定如何将 RF 对象从 python 传递到 R。
简单示例:
import pandas as pd
import numpy as np
import sys
if sys.version_info[0] < 3:
from string import lowercase
else:
from string import ascii_lowercase as lowercase
import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
pandas2ri.activate()
r = robjects.r
r.library("randomForest")
df = pd.DataFrame(data=np.random.random(size=(100, 10)), columns=[a for a in lowercase[:10]])
cols = df.columns
RF = []
for _ in range(5):
df['train'] = np.random.random(size=100) < .75
rf = r.randomForest(robjects.Formula('a~.'), data=df[df.train][cols])
RF.append(rf)
当我尝试在 R 中使用 combine 射频模型时
RFall = r.combine(RF)
返回错误:
Error in (function (...) :
Argument must be a list of randomForest objects
我查看了robjects 中的其他函数,但找不到可以执行此操作的函数。
【问题讨论】:
标签: python r random-forest rpy2